![]() |
eXeL@B —› Вопросы новичков —› Ощибка при вызове MessageBoxA в модифицированном exe |
Посл.ответ | Сообщение |
|
Создано: 20 июля 2013 13:44 · Поправил: Kadet89 · Личное сообщение · #1 Модифицирую exe по инструкции с Xaker. Весь добавленный мною код на прикрепленном скриншоте. Программа запускается, но когда доходит до строки 00AAD6FF CALL <&USER32.MessageBoxA> вылетает с ошибкой, подскажите, если кто этим занимался, где моя ошибка. Для упрощения я точку входа заменил на адрес 00AAD6F1 и затем делаю jmp на старую точку входа, но ошибка вылезает даже если этот момент выполнять по инструкции. Программа http://rghost.ru/47546795 , там 2 экзешника, тот что orig - без модификации. ![]() ![]() ![]() |
|
Создано: 20 июля 2013 13:57 · Личное сообщение · #2 |
|
Создано: 20 июля 2013 14:00 · Поправил: TryAga1n · Личное сообщение · #3 |
|
Создано: 20 июля 2013 14:23 · Личное сообщение · #4 |
|
Создано: 20 июля 2013 15:03 · Поправил: Kadet89 · Личное сообщение · #5 |
|
Создано: 20 июля 2013 15:09 · Поправил: Vovan666 · Личное сообщение · #6 |
|
Создано: 20 июля 2013 15:40 · Поправил: Kadet89 · Личное сообщение · #7 |
|
Создано: 20 июля 2013 16:02 · Поправил: ajax · Личное сообщение · #8 Kadet89 можно в хидере отключить "is image can be relocated" или типа того, и прибить секцию релоков. будет проще. но, если Vovan666 если объяснит - больше знаний added: есть еще метод: текущий оффсет + дельту до мессбокса. потом типа call [eax], релоки тогда пофик added2: Vovan666: как вариант - call $+5; pop eax; add eax,delta; call [eax] - как-то так, тоже по дельте инкрементим, тогда PEB не трогаем. ASLR - ничего особо не несет, кроме как показатель правильности кода, imho ----- От многой мудрости много скорби, и умножающий знание умножает печаль ![]() |
|
Создано: 20 июля 2013 16:03 · Поправил: Vovan666 · Личное сообщение · #9 Что за инструкция? какого года? инструкция небось была написана еще до 7 с ее долбаным ASLR. Code:
![]() |
|
Создано: 20 июля 2013 16:36 · Личное сообщение · #10 У меня есть несколько вопросов. Первая страка фак с восклицательными знаками, а вторая восклицательные знаки? если так, то вопрос такой, как вы посчитали 36973Ch и 369730h ? Они никак не соотносятся с реальными адресами, даже расстояния между ними другое. И второй вопрос - в точке входа программы код без изменения, как происходит вызов кода месенжбокса? Если этот способ проще изменения точки входа, яб хотел его знать. ![]() |
|
Создано: 20 июля 2013 16:49 · Личное сообщение · #11 Kadet89 пишет: Первая страка фак с восклицательными знаками, а вторая восклицательные знаки? ![]() Kadet89 пишет: как вы посчитали 36973Ch и 369730h ? VA-адрес строки минус ImageBase Kadet89 пишет: И второй вопрос - в точке входа программы код без изменения, как происходит вызов кода месенжбокса? OEP: call xxxxxxxx jmp xxxxxxxx - отсюда, а оригинальный jmp в конце "патча" ![]() |
|
Создано: 20 июля 2013 17:01 · Поправил: Kadet89 · Личное сообщение · #12 |
|
Создано: 20 июля 2013 17:09 · Личное сообщение · #13 |
|
Создано: 20 июля 2013 17:36 · Личное сообщение · #14 |
![]() |
eXeL@B —› Вопросы новичков —› Ощибка при вызове MessageBoxA в модифицированном exe |