подскажите, куда копать - 1) мне нужно загрузить dll при старте/логоне систему (вызвать DllMain) каким нибудь штатным механизмом (реестр, rundll32, etc). 2)выгружаться она потом не должна, даже если процесс который ее загрузил, завершиться.
1 - поиск по форуму(далее ппф). 2 - заразить(инжектнуть) во все процессы, проверять что хоть одна работает (алсо ппф)
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows_NT\CurrentVersion\Windows\AppImt_DLLs вроде, во все процессы должна загрузится=) сам не пробовал
Куда вам ее загрузить-то нужно? Dll сама по себе "загруженной" быть не может, только в пространстве какого-либо процесса.
может при старте запустить процесс, который будет в цикле лепить по хуку на окно каждого процесса, который их имеет. хук-длл будет подгружать вашу длл, после чего окно разхукнится. ФЛУД: таки не всё, кто-то давно спрашивал про отношение и впечатления от какой-то там новой игрыXD
я о том что здесь возможны любые вопросы, не надо ограничивать себя унылой реальностью системной архитектуры. Творите и задавайте убойные вопросы, мы ждем вас
Не надо издеваться, я и не говорил, что она должна быть загруженной сама по себе.В ней глобальный хук висит. Я пытался загрузить ее как шел эктеншен explorer.exe, но почему-то DllMain не отрабатывала.. Я плюнул и всунул в стартап rundll32, но все-таки хотелось бы знать, почему...
по подробнее, она была уже спроэцирована в адресное пространство с линковкой к памяти, но DllMain не вызывалась? как вы её поставили в подгрузку? ФЛУД: valentin_p Назовите какой-нить сервер с ханипотом на борту и что туда послать, чтобы к тебе домой приехали К и потыкали сигаретой в ухо, даже если на машине ничего нет.
оффтоп: kernel16 сервер с хани-потом? вам придется постараться, но это возможно здесь (не забудьте про брут-лист) а именно сигаретой вы и сами можете себе потыкать =) брут-лист немного убогий, особенно описания доставляют.. но он гарантирует вам теплый приём!
Код (Text): include '%fasm%/win64ax.inc' section '.code' executable start: sub rsp,8 invoke LoadLibraryEx,'HashTab.dll',NULL,LOAD_LIBRARY_SEARCH_SYSTEM32 mov rdi,rax invoke GetProcAddress,rdi,'DllRegisterServer' ;invoke GetProcAddress,rdi,'DllUnregisterServer' mov qword [x],rax invoke x invoke FreeLibrary,rdi exit: invoke ExitProcess,NULL section '.data' readable writeable LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800 x rq MAX_PATH section '.idata' import readable library kernel32,'KERNEL32.DLL' import kernel32,ExitProcess,'ExitProcess',FreeLibrary,'FreeLibrary',\ GetProcAddress,'GetProcAddress',LoadLibraryEx,'LoadLibraryExA' Подскажите почему не пашет?
Вы учли тот факт, что dll с глобальным хуком будет загружена в каждый процесс, имеющий окно, и DllMain выполнится в каждом из них? Очень, очень надеюсь, что глобальный хук ставится не из DllMain.