eXeL@B —› Вопросы новичков —› Как дописать несколько байт в секцию кода PE файла и исправить секции и заголовок? |
Посл.ответ | Сообщение |
|
Создано: 25 мая 2017 15:47 · Личное сообщение · #1 Всех приветствую! Пробую свои силы в реверсе программного обеспечения. Надо снять триал с программы SignCut. Она производит активацию через интернет, использую ключ, введеный пользователем. Путем исследования в дебаггере нашел такой кусок кода (см. рисунок). MOV DWORD PTR [edx+0x203c], EAX - в память записывается содержимое регистра EAX. Если программа зарегистрирована, то EAX должен быть равен 0. Если менять код на MOV DWORD PTR [edx+0x203c], 0 - то он не совпадает по длине, соотвественно уезжают все секции в exe файле. Я увеличиваю .text секцию на 5 байт. Как сделать файл рабочим? 1827_25.05.2017_EXELAB.rU.tgz - Безымянный.JPG |
|
Создано: 25 мая 2017 16:02 · Личное сообщение · #2 |
|
Создано: 25 мая 2017 17:19 · Поправил: -=AkaBOSS=- · Личное сообщение · #3 |
|
Создано: 25 мая 2017 17:33 · Поправил: Kindly · Личное сообщение · #4 вообще лучше создавать свою секцию, порой патч кода может быть много. для dll, кстати, простой вариант с вычислением базы может быть примерно следующий: Code:
-=AkaBOSS=- пишет: а relative call или jmp - это недостаточно просто? в данном случае проще простого, согласен. Dimedrol20031985 пишет: Она производит активацию через интернет, использую ключ, введеный пользователем. предположительно, если активация онлайн, то идет привязка к id системы. в особо сложных случаях требуется полная подмена всех id, чтобы прога на основе lic взлетела, это на будущее. а вообще на скрине странное место для патча выбрано, явно корректный результат нужно передавать до ATOL, все же это рантайм. ----- Array[Login..Logout] of Life |
|
Создано: 25 мая 2017 19:35 · Поправил: -=AkaBOSS=- · Личное сообщение · #5 Kindly пишет: явно корректный результат нужно передавать до ATOL, все же это рантайм Если патчится именно сама процедура разбирающая ответ сервера - то не обязательно. Но другое дело - смысл действия. Если разработчик не дурак (а таких уже всё-таки большинство) то вот этот самый патч всего лишь подменит значение какого-то поля, типа кода ошибки. Но это обычно означает, что сервер не принял правильные регданные/хвид и не вернул корректные данные для дальнейшей работы программы. |
eXeL@B —› Вопросы новичков —› Как дописать несколько байт в секцию кода PE файла и исправить секции и заголовок? |