думаю второй т.к есть моменты когда не всегда хочешь зайти с хуком. Ну и цеплять к .екзешнику думаю будет палевно. А то всякие защиты от проверки длл. Хотя с каким легче работать.
Вот темка на английском про инжект
Вот пример проги которая инжектися к explorer.exe и меняет левую кнопку с правой при нажатии кнопки пуск
Я пытался переделать ее на фасм но как то не получилось и после 3х дней мучений бросил эту затею
Последний раз редактировалось St1mul, 13.01.2013 в 12:04.
А что на MSDN не понятно? Не вызывает DllMain с значениями параметра fdwReason DLL_THREAD_ATTACH и DLL_THREAD_DETACH. По умолчанию DllMain вызывается с этими параметрами, когда процесс создает и уничтожает поток соответственно.
И так же не понял по какой причине в ла2 не должен работать метод внедрения кода через CreateRemoteThread и WriteProcessMemory. У меня все работает. Или речь идет о какой-то определенной защите на сервере?
Последний раз редактировалось Demion, 13.01.2013 в 09:19.
1) У меня при получение потока с помощью CreateRemoteThread, сразу же выдает крит и пишет что core.dll или engine.dll че-нибудь не могут сделать. Сервер обычная гфш
2) DisableThreadLibraryCalls как я понял убирает функцию повторного вызова DllMain, когда мы закрываем ла2.
DisableThreadLibraryCalls запрещает вызовы длл-майн другими потоками процесса с параметром THREAD_ATTACH.
а при загрузке длл и ее выгрузке она вызывается всегда
обычным приложениям не создающим 100500 потоков в минуту этот параметр не существенен ИМХО.
как правило THREAD_ATTACH всеравно никто не обрабатывает.
Добавлено через 2 минуты
Цитата:
Сообщение от goodvin1709
думаю второй т.к есть моменты когда не всегда хочешь зайти с хуком. Ну и цеплять к .екзешнику думаю будет палевно. А то всякие защиты от проверки длл. Хотя с каким легче работать.
цеплять можно по разному =)
хардкодить меняя файлы это не только палевно а иногда бесполезно, файл зменит какойнить чекер-апдейтер принудительно, если его чексумма не та.
__________________
читернуть бы ништяг
Последний раз редактировалось mira, 13.01.2013 в 12:23.
Причина: Добавлено сообщение
Ну раз специалисты по ассемблеру собрались осмелюсь задать такой вопрос: Когда мы устанавливаем ловушку SetWidowsHookEx на чужой поток мы должны будем поместить процедуру нашего фильтра( обработчик сообщений) в длл. Скажите, что должна содержать процедура фильтра и что она должна возвращать?
У меня есть приложение и я хочу поставить ловушку сообщений, все делаю как надо SetWindowsHookEx возвращает не ноль, но когда хук срабатывает( я посылаю сообщение приложению, на которое поставлен хук) в приложении, само приложение критует
Последний раз редактировалось St1mul, 13.01.2013 в 12:39.
1) У меня при получение потока с помощью CreateRemoteThread, сразу же выдает крит и пишет что core.dll или engine.dll че-нибудь не могут сделать. Сервер обычная гфш
Покажи код, так сложно гадать.
Цитата:
Сообщение от St1mul
2) DisableThreadLibraryCalls как я понял убирает функцию повторного вызова DllMain, когда мы закрываем ла2.
Нет. DllMain будет вызываться, когда длл загружается (внедряется) и когда выгружается. DisableThreadLibraryCalls запрещает вызов DllMain, когда приложение запускает и завершает новый поток.
Последний раз редактировалось Demion, 13.01.2013 в 13:36.