Внедрение DLL не работает в приостановленном процессе

Я использую API CreateRemoteThread для внедрения dll в процесс. Это работает, когда процесс находится в запущенном состоянии. Но если я запускаю процесс в приостановленном состоянии с помощью API CreateProcess и пытаюсь внедрить в него dll, то внедрение dll не работает. Но если я использую createprocess без приостановленного флага, я могу внедрить dll. Может ли кто-нибудь сказать мне решение этой проблемы?


person K07    schedule 10.06.2014    source источник
comment
Странный вопрос. Это очевидно, не так ли? Чтобы загрузить DLL, вы должны вызвать LoadLibrary(). Как вы ожидаете, что это будет работать в мертвом процессе?   -  person Elmue    schedule 29.08.2015
comment
Я имею в виду метод внедрения dll с помощью createremotethread. Этот метод фактически использует API loadlibrary. resources.infosecinstitute.com/   -  person K07    schedule 30.08.2015
comment
@ K07 Ты понял это в конце концов?   -  person parrowdice    schedule 29.01.2016
comment
Нет, я перестал работать. Внедрение dll работало на других машинах, хотя я не знаю причины этого.   -  person K07    schedule 08.02.2016
comment
Это может быть полезно: opcode0x90. wordpress.com/2011/01/15/   -  person toster-cx    schedule 11.11.2016


Ответы (2)


Я встречаю подобный случай. Не зная точной основной причины, я предлагаю вам попробовать использовать API QueueUserAPC для выполнения инъекции.

person user1150246    schedule 08.07.2014
comment
Тоже не получится. Вы не можете делать НИЧЕГО в приостановленном процессе. Процесс должен быть запущен для загрузки DLL. - person Elmue; 29.08.2015

Это не может работать, потому что создание процесса с приостановленным флагом загружает только ntdll.dll. kernal32.dll еще не загружен, поэтому вы не можете использовать createprocess для вызова LoadLibrary (в kernal32.dll) в удаленном приостановленном процессе. но вместо этого вы можете использовать LdrLoadDll (в ntdll.dll). вы также можете использовать QueueUserAPC с LdrLoadDll. это будет хорошо работать ~

person LeenLi    schedule 23.07.2020