Добрый день. Пытаюсь в процессе winlogon.exe удаленно создать поток и прицепить туда длл. В дебаге проверял - память в процессе выделяется нормально, имя дллки пишется. В winlogon.exe просто появляется еще один поток. Но в SomeDLL.dll в DllMain есть меседжбокс, который должен выскакивать при аттаче и детаче, итд. А он не выскакивает Код (Text): HMODULE hKernel32 = GetModuleHandle(L"Kernel32"); FARPROC LoadLibA=GetProcAddress(hKernel32,"LoadLibraryA"); hProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,procID); char * libr = new char[40]; strcpy(libr,"C:\\SomeDLL.dll"); LPVOID lpRemoteAddress= VirtualAllocEx(hProcess,NULL,strlen(libr)+1,MEM_COMMIT|MEM_RESERVE,PAGE_READWRITE ); DWORD dwWritten; WriteProcessMemory(hProcess,lpRemoteAddress,libr,strlen(libr)+1,&dwWritten); HANDLE hRemoteThread=CreateRemoteThread(hProcess,NULL,0,(LPTHREAD_START_ROUTINE)(LoadLibA),lpRemoteAddress,0,NULL); CloseHandle(hProcess); Что я делаю не так? Спасибо.
jaja Мессажбокс в винлогоне - это как-то неправильно. Проверь как-нибудь по другому. Удали/создай файл, например.
Aspire Скорее MessageBox в DllMain - это как-то неправильно. Хотя в данном случае не критично. Другое дело, что MessageBox на невидимом рабочем столе появится.
2FED ЛОЛ. Если уж один флаг исправили, исправляйте и второй: MB_DEFAULT_DESKTOP_ONLY. А вот MSDN наверняка уж не для Вас пишут, а только для зеленых, слюнявых, страдающих комплексом неполноценности заучек. Настоящий тру хакер, он же знает винду лучше, чем какие-то там Microsoft'овцы... куда уж им... но я ухожу от темы. В общем по поводу "Месаджбокс в ДллМайн это нормально" :
он выскакивает, нажми Ctrl-Alt-Del и ты его увидишь но ваще правильно сказали - хочешь долго дебажыть и материться - пихай в DLL_PROCESS_ATTACH все подряд