Сейчас на форуме: _MBK_, Adler, asfa, bartolomeo (+9 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Исследование D3DGear |
Посл.ответ | Сообщение |
|
Создано: 27 сентября 2012 23:29 · Поправил: Flasher-11 · Личное сообщение · #1 Всем привет ![]() Захотел я вот пропатчить его, нашел где вылезает наг, исправил и все вроде бы должно быть хорошо. Программа запускается и работает, а вот снимать она ничего не хочет, никак не пойму в чем загвоздка ![]() Code:
На 00405816 просто сделал прыжок и все вроде бы чудесно. Пробовал еще возвращать значение 0 в EAX, но все так же, работать она работает, а не снимает ![]() ![]() |
|
Создано: 27 сентября 2012 23:55 · Личное сообщение · #2 |
|
Создано: 28 сентября 2012 00:01 · Поправил: TryAga1n · Личное сообщение · #3 Не знаю что значит "снимать" в контексте данной софтины, видимо какие-то данные сохранять... Может быть банальная проверка контрольной суммы секции кода. Чтобы узнать, так ли єто, попробуй поменять какой-нибудь не критичный байт(Например ноп или 0 между функциями). Либо может быть проверка целостности определенных функций. Система в принципе так же. Ну и еще что пришло в голову - мемори брейкпоинт на чтение секции кода, а там уже смотреть кто-что-куда-зачем... ![]() |
|
Создано: 28 сентября 2012 00:11 · Личное сообщение · #4 |
|
Создано: 28 сентября 2012 07:14 · Личное сообщение · #5 |
|
Создано: 28 сентября 2012 14:56 · Поправил: Flasher-11 · Личное сообщение · #6 Исправляюсь, пишу где и что нашел ![]() Как я уже писал выше, идет проверка на триальность и вызывается наг окошко. Code:
Можно поправить 00405816 на JMP SHORT d3dGear.0040585D и мы пролетаем наг окно и программа успешно запускается. По моему мнению можно сделать красивше, поместить 0 в EAX. Если 0, то мы пролетаем и запускаемся, если 1 то наг окно. Проверка происходит где-то здесь 0040580C CALL d3dGear.00414B90 . Входим и трассируем пока не натыкаемся на 00414930 PUSH EPB в конце процедуры будет помещение 1 в EAX. Code:
Соответственно исправляем 00414A72 MOV EAX,1 на 00414A72 MOV EAX,0 и трассируем дальше. На 00414A84 премещаемся вот сюда Code:
Тут также помещаем 0. Ну вот, наг окно убрано, идем дальше. Программа запускается, но не выполняет свой функционал. Далее при трассировке можно увидеть различные сообщения. По пути вроде бы ничего путного нет, но в самом конце есть создание Mutex'a и именного из-за него не работает весь функционал. Code:
Просто поменял логику с 00405A76 JE SHORT d3dGear.00405A8E на JNZ SHORT d3dGear.00405A8E Ну вот в принципе и все, программа запускается и функционал работает ![]() Теперь думаю можно закрывать тему ![]() ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Исследование D3DGear |
Эта тема закрыта. Ответы больше не принимаются. |