NTSTATUS SSDTClose( IN PDEVICE_OBJECT pDeviceObject, IN PIRP Irp ) { Irp->IoStatus.Information = 0; Irp->IoStatus.Status = STATUS_SUCCESS; ResetLog(); IoCompleteRequest( Irp, IO_NO_INCREMENT ); DbgPrint( "SSDT: Create Success!" ); return STATUS_SUCCESS; }
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { DisableThreadLibraryCalls(hModule); InitializeCriticalSection(&cs_GetQueue); ResetLog(); SendToLog("DLL Loaded"); InitInstance(hModule); if(SUCCEEDED(PatchIat(GetModuleHandle(NULL),"kernel32.dll","GetProcAddress",(PVOID)GetProcAddress_Hooked,(PVOID *)&GetProcAddress_Original))) { SendToLog("GetPRocAddress hook injected"); } else { SendToLog("GetPRocAddress hook failed"); } if(SUCCEEDED(PatchIat(GetModuleHandle(NULL),"user32.dll","RegisterClassA",(PVOID)RegisterClass_Hooked,(PVOID *)&RegisterClass_Original))) { SendToLog("RegisterClass hook injected"); } else { SendToLog("RegisterClass hook failed"); } if(SUCCEEDED(PatchIat(GetModuleHandle(NULL),"kernel32.dll","CreateFileA",(PVOID)CreateFile_Hook,(PVOID *)&CreateFile_Original))) { SendToLog("CreateFile hook injected"); } else { SendToLog("CreateFile hook failed"); } if(SUCCEEDED(PatchIat(GetModuleHandle(NULL),"kernel32.dll","ReadFile",(PVOID)ReadFile_Hook,(PVOID *)&ReadFile_Original))) { SendToLog("ReadFile hook injected"); } else { SendToLog("ReadFile hook failed"); } case DLL_PROCESS_DETACH: ExitInstance(); break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } } return TRUE; }
fresult Honor2Logic::SetMedStatus( char* mainStatus , char* diagnostics, char* medEvents) { fresult fres; if (_mainForm!=NULL) { fres = _mainForm->SetStatus(mainStatus); ENSURESUCCESS(fres); } fres = ResetLog(LogKindMedDiagnostics, diagnostics); ENSURESUCCESS(fres); //fres = ResetLog(LogKindEvents, medEvents); //ENSURESUCCESS(fres); return SUCCESS; }
CMyDebug::CMyDebug() { m_Mutex =CreateMutex(false,NULL); ResetLog(); }
CMyDebug::~CMyDebug() { ResetLog(); CloseHandle(m_Mutex); }