eXeL@B —› Вопросы новичков —› Пропатчить x86 DLL`ку (Без прота/пакера) |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 10 января 2019 00:36 · Личное сообщение · #1 Есть такая дллка 32-битная с хуком на ReadFile, для расшифровки архивов с моделями к игре GTA:SA. Если вытащить дллку с клиента игры и заинжектить себе в процесс то хватаешь месседж боксы с нецензурной бранью, якобы автор намекает что это делать не стоит Нашел я эти наги и пропатчил но не тут то было, схватил краш сразу после инжекта, до патча даже не смотря на наг всё равно ставился джамп на хук рид файла, правда он врядли бы сработал потому что хук ставится в одном потоке с dllmain откуда и вызывает эти наги. Вопрос вот в чём, почему она крашит? Вот скрин с моим патчем P.S - Сама дллка ничем не запакована и не протекчена (проверенно несколькими PE-сканнерами). 537a_10.01.2019_EXELAB.rU.tgz - equalizer.dll |
|
Создано: 10 января 2019 00:49 · Поправил: Boostyq · Личное сообщение · #2 |
|
Создано: 10 января 2019 00:54 · Личное сообщение · #3 Boostyq пишет: Так Смирнов это ты? Вообще хорошо что он тебе месседжбоксы послал, а не дроппер Не знаю какому такому Смирнову это было адресовано но я орнул с нагов) У меня свои цели на эту дллку, вот и спрашиваю почему мой патч крашит. Добавлено спустя 3 минуты Boostyq пишет: А если серьезно, дллка вполне может использовать функционал клиента гташки, из-за этого на вызовах этих функций (если ты пропатчил предшествующие проверки) может крашить Это маловероятно, у меня есть старый исходник реализации этого хука дешифрования и текущий код почти 1 в 1 похож за исключением самого алгоритма дешифровки, его немного изменили. Там лишь ставит хук на рид файл, затем включает его и всё, мб краш потому что где-то ещё проверка на офф.клиент хз. |
|
Создано: 10 января 2019 00:58 · Личное сообщение · #4 |
|
Создано: 10 января 2019 01:00 · Личное сообщение · #5 |
|
Создано: 10 января 2019 01:02 · Личное сообщение · #6 |
|
Создано: 10 января 2019 01:05 · Личное сообщение · #7 |
|
Создано: 10 января 2019 01:20 · Личное сообщение · #8 Boostyq пишет: Ну так адрес исключения нужно показывать, телепаты на другом форуме Убрал я цикл, поставил бряк железный и трасанул, оказывается крашит после выхода с dllmain на вот этом ретурне, адрес вообще какой то дало 00000001 чёт такое ACCESS_VIOLATION Добавлено спустя 1 минуту f13nd пишет: А да, не прокатит. Смотреть надо почему крашится, влезть в 501E1A30, увидеть что там за условие бесконечного цикла с мессаджбоксами. По этому адресу скорее всего функа ставящая хук на рид файл. |
|
Создано: 10 января 2019 01:29 · Поправил: f13nd · Личное сообщение · #9 |
|
Создано: 10 января 2019 01:33 · Личное сообщение · #10 f13nd пишет: У меня не крашит ничего, корректно выходит из LoadLibraryA. Если конечно не дать свернуть в ветку с мессаджбоксами про Смирнова. В 501E1A30 он тулхелп апями ищет какой-то поток, который должен засуспендить и порыться в его контексте, но не находит. Так у меня тоже не крашит если просто сделать цикл рекурсией на себя, чтобы месседж бокс не показывало но это же не решение проблемы, вот после ретурна и хватаю краш если прерву цикл. |
|
Создано: 10 января 2019 01:36 · Поправил: Boostyq · Личное сообщение · #11 Мне больше интересно почему эти сообщения вообще выводятся Code:
Т.е. сообщения начинают спамится только если обе функи сработали без ошибок Но обе нужны для корректного хука, получается что в нормальной ситуации эту функцию хукнуть не удается Выходит ReadFile уже должен быть кем-то хукнут ----- В облачке многоточия |
|
Создано: 10 января 2019 01:37 · Личное сообщение · #12 0pc0d3R пишет: Сама дллка ничем не запакована и не протекчена (проверенно несколькими PE-сканнерами). Это самопальная шляпа, набитая VirtualProtect'ами и VirtualQuery'ями, она сама не обязана быть упакованой, упаковано тело самого хука. Я бы посоветовал не маяться фигней, а дампить сам процесс гта с этой длл и от самого хука на ReadFile уже плясать. ----- 2 оттенка серого |
|
Создано: 10 января 2019 01:37 · Поправил: reversecode · Личное сообщение · #13 |
|
Создано: 10 января 2019 01:38 · Поправил: 0pc0d3R · Личное сообщение · #14 Boostyq пишет: Т.е. сообщения начинают спамится только если обе функи сработали без ошибок Но обе нужны для корректного хука, получается что в нормальной ситуации эти функции хукнуть не удается Возможно так устроены возвраты в хуках, вот С++ сорц с реализацией установки данного хука, исходник почти 1 в 1 с этой дллкой, там разве что саму дешифровку чуток поменяли. |
|
Создано: 10 января 2019 01:40 · Личное сообщение · #15 |
|
Создано: 10 января 2019 01:41 · Личное сообщение · #16 |
|
Создано: 10 января 2019 01:42 · Поправил: Boostyq · Личное сообщение · #17 Ну я про это и говорю Code:
----- В облачке многоточия |
|
Создано: 10 января 2019 01:42 · Личное сообщение · #18 |
|
Создано: 10 января 2019 01:44 · Личное сообщение · #19 |
|
Создано: 10 января 2019 01:46 · Личное сообщение · #20 |
|
Создано: 10 января 2019 01:47 · Поправил: Boostyq · Личное сообщение · #21 0pc0d3R пишет: Мне достаточно было знать в каком направлении двигатся, никто не просит перевести в сорц вместо меня. Спойлер: никто и не переведет По итогу дллка очень странная, там где в оригинальных исходниках пишется, что все удачно хукнуто, автор данной дллки решил написать, что юзер "SMIRNOV - PIDOR \nXYU TEBE, A NE DECRYPTOR" Цикл расшифровки такой как и сказал reversecode Так что вытаскивайте алго, если он вам нужен, расчет таблицы для ксора над хуком ReadFile, цикл расшифровки в самом хуке ReadFile П.с. данная дллка не будет работать без клиента игры, т.к. игра вызывает чтение определенных файлов, которые не читает ваш процесс ----- В облачке многоточия |
|
Создано: 10 января 2019 01:56 · Личное сообщение · #22 Boostyq пишет: По итогу дллка очень странная, там где в оригинальных исходниках пишется, что все удачно хукнуто, автор данной дллки решил написать, что юзер "SMIRNOV - PIDOR \nXYU TEBE, A NE DECRYPTOR" Цикл расшифровки такой как и сказал reversecode Так что вытаскивайте алго, если он вам нужен, расчет таблицы для ксора над хуком ReadFile, цикл расшифровки в самом хуке ReadFile П.с. данная дллка не будет работать без клиента игры, т.к. игра вызывает чтение определенных файлов, которые не читает ваш процесс Понял, спасибо! |
|
Создано: 10 января 2019 02:10 · Личное сообщение · #23 И еще, так нельзя ставить хук... &ReadFile не всегда указывает на начало реальной процедуры... (тут сильно зависит от компилятора). иногда ReadFile может указывать просто на переходник, ну типа ReadFile: jmp dword ptr [iat_table_item] Code:
надо так Code:
| Сообщение посчитали полезным: DimitarSerg |
|
Создано: 10 января 2019 20:38 · Личное сообщение · #24 |
|
Создано: 10 января 2019 21:37 · Поправил: Boostyq · Личное сообщение · #25 difexacaw пишет: Где статусный код, адрес инструкции и адрес выборки(если это #AV) ?? 23 поста бреда и никто не задал конкретный вопрос по фолту. На самом деле их стало 24 Вопрос #6 Boostyq пишет: Ну так адрес исключения нужно показывать Вопрос #7 f13nd пишет: Смотреть надо почему крашится Ответ #8 на скрине Видимо вы просто считаете посты, не читая их ----- В облачке многоточия |
|
Создано: 10 января 2019 23:04 · Поправил: UniSoft · Личное сообщение · #26 difexacaw смотрим в книгу видим фигу в на скрине все видно невооруженным глазом... EIP на инструкции RET 0xC а в стеке 0x00000001 видно же что указатель стека съехал (либо повреждено содержимое)... что же еще вам нужно? Добавлено спустя 1 час 2 минуты 0pc0d3R Только глянул код... хитро придумано... тут нет обхода ругательских сообщений, и все происходит в DllMain::DLL_PROCESS_ATTACH нет никаких условий. Тут все дело в коде который и грузит эту самую dll... Там скорее всего реализовано что-то типа такого: Code:
|
|
Создано: 11 января 2019 01:59 · Личное сообщение · #27 UniSoft пишет: смотрим в книгу видим фигу в 10-ом сообщении на скрине все видно невооруженным глазом... EIP на инструкции RET 0xC а в стеке 0x00000001 видно же что указатель стека съехал (либо повреждено содержимое)... что же еще вам нужно? Добавлено спустя 1 час 2 минуты 0pc0d3R Только глянул код... хитро придумано... тут нет обхода ругательских сообщений, и все происходит в DllMain::DLL_PROCESS_ATTACH нет никаких условий. Тут все дело в коде который и грузит эту самую dll... Там скорее всего реализовано что-то типа такого: Знаете что более обидно?) Я только что понял что эта длл создана для отвода глаз и она не используется для хука расшифровки, его переместили))) А я голову морочил |
|
Создано: 11 января 2019 02:11 · Личное сообщение · #28 |
|
Создано: 11 января 2019 02:14 · Личное сообщение · #29 |
|
Создано: 11 января 2019 13:46 · Личное сообщение · #30 0pc0d3R пишет: понял что эта длл создана для отвода глаз и она не используется для хука расшифровки При этом тебе reversecode дал ----- EnJoy! |
. 1 . 2 . >> |
eXeL@B —› Вопросы новичков —› Пропатчить x86 DLL`ку (Без прота/пакера) |