Exemplo n.º 1
0
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
				   PSTR szCmdLine, int iCmdShow)
{
	static char szAppName[] = "OSK-Launcher";
	HWND hwnd;
	MSG msg;

	WNDCLASSEX wndclass;
	wndclass.cbSize = sizeof(wndclass);
	wndclass.style = CS_HREDRAW | CS_VREDRAW;
	wndclass.lpfnWndProc = WndProc;
	wndclass.cbClsExtra = 0;
	wndclass.cbWndExtra = 0;
	wndclass.hInstance = hInstance;
	wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
	wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
	wndclass.lpszMenuName = NULL;
	wndclass.lpszClassName = szAppName;
	wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
	RegisterClassEx(&wndclass);

	hwnd = CreateWindow(szAppName, "The Hello Program", WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, CW_USEDEFAULT, 300, 200,
		NULL, NULL, hInstance, NULL);

	mainHwnd = hwnd;

	ShowWindow(hwnd, iCmdShow);
	UpdateWindow(hwnd);

	ShellExecute(NULL, "open", "C:\\Program\\Click-N-Type\\Click-N-Type.exe", "", "", SW_SHOW);

	HANDLE hProcess;
	do {
		hProcess = GetProcessHandle("Click-N-Type.exe");
		Sleep(1);
	} while (hProcess == NULL);

	if (!DllInject(hProcess, "C:\\Tobbe\\DevProjects\\C++\\CnTSkin\\Debug\\InjectionDLL.dll")) {
		MessageBox(HWND_DESKTOP, "An error occurred injecting DLL!", "Error!", MB_OK | MB_ICONERROR);
	}

	while (GetMessage(&msg, NULL, 0, 0)) {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return (int)msg.wParam;
}
Exemplo n.º 2
0
VOID InjectorWorkItem(PVOID pvContext)
{
	NTSTATUS St = DllInject(((PWI_INJECT)pvContext)->hProcessID, ((PWI_INJECT)pvContext)->pepProcess, ((PWI_INJECT)pvContext)->pktThread);
	if (NT_SUCCESS(St))
	{
		DbgPrint("DllInject OK\n");
	}
	else
	{
		DbgPrint("NO\n");
	}

	KeSetEvent(&((PWI_INJECT)pvContext)->keEvent, (KPRIORITY)0, FALSE);

	return;
}
Exemplo n.º 3
0
int main(int argc,char* argv[])
{
	if (argc==2 && stricmp(argv[1],"-unstall")==0)
	{
		Dettach();
	}

	//为了保险,提个权先
	AddPrivilege();

	int pid = IExcute();

	if (pid==0)
	{
		return 0;
	}

	DllInject(pid,DLLNAME);

	CleanJob();

	return 0;
}