Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}
Пример #4
0
CMyDebug::CMyDebug()
{
	m_Mutex	=CreateMutex(false,NULL);
	ResetLog();
}
Пример #5
0
CMyDebug::~CMyDebug()
{
	ResetLog();
	CloseHandle(m_Mutex);
}