Исследование NjwinDelphi , Программа и Интерфейс , Исследование программИсследование Njwin
Необходимые инструменты Введение Не так давно наткнулся я на программу под названием Njwin, которая опознает и перекодирует япон- ские, корейские и китайские иероглифы в их "первозданный" вид. Найти программу Njwin 1.6 можно по адресу http://www.njstar.com Исследование У программы интересная сильная защита, которая все-таки имеет свои слабости, и при правильном подходе довольно быстро сдается. Во-первых, программа при закрытии проверяет сама себя на измене- ния кода, и если Вы изменили в теле программы хоть один байт, программа самоуничтожается. Вторая защита - 30-ти дневный "trial period". Итак, сначала нам необходимо отключить механизм самоуничтожения, а после заняться ее регистра- цией. Отключение механизма самоуничтожения Скопируйте файл Njwin.exe в другое место на случай неудачи и запустите программу. Установите в SoftICE точку прерывания bpx GetModuleFileName, нажмите F5 и закройте Njwin. Вы попадаете в SoftICE. Нажмите F11 и вы окажетесь в модуле Njwin.exe:
Протрассируйте код, используя F10, и записав все переходы jz и jnz. Теперь, используя любой шест- надщатеричный редактор, измените что-нибудь в файле Njwin.exe. Откройте его, установите точку пре- рывания на ту же функцию (bpx GetModuleFileName), и закройте Njwin. Попав в SoftICE, снова трасси- руйте код, отыскивая различия..Eduard Titov. Исследование Njwin 2 Для начинающих исследователей Очень скоро вы наткнетесь на место:
И убедитесь, что неизмененная программа не делает перехода по адресу 461С (jnt 467A), и делает его по команде jz 4698. Измените jnz на jmp 4698, и вы увидите, что программа перестала самоуничтожаться. Теперь можно внести эти изменения в тело оригинальной программы. Кстати, взглянув повнимательнее на первый кусочек кода, вы увидите знакомый переход по адресу 450В. Можно просто изменить jnz 450C по адресу 4509 на jmp 4698, и вы снова отключите защиту. Теперь можно переходить к регистрации программы. Регистрация программы У меня программа не выдавала окна для ввода регистрационной информации, но друзья говорили, что даже после ввода правильной регистрационной информации при перезапуске программы она снова видела себя незарегистрированной, т.е. снова появлялось окошко с напоминанием о необходимости ре- гистрации и т.д. Как избавиться от этого окошка? Программа использует при запуске файл Njwin.ini , расположенный в каталоге Windows. Значит, следует трассировать изменения, происходящие при чте- нии .ini файла. Ставим bpx GetPrivateProfileString и запускаем программу. Останавливаемся мы в следую- щем месте:
Трассируем программу, пока не дойдем до следующего места:
Как видно, по адресу 001.33F5 осуществляется проверка регистра ах, с последующим переходом через адрес 0001.33F7, если программа не зарегистрирована. Значит, нам необходимо изменить jne 33FA на jmp 35B9 - и CRACK готов. Исследование программы Njwin позволяет обнаружить и декодировать японские, корейские и китайские иероглифы, но защищена сложными алгоритмами, которые можно обойти с помощью отладчика SoftICE. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |