Только для образовательных целей! |
|
Автор: | FEUERRADER [AHTeam] |
Уровень: | Для начинающих |
Программа: |
Размер: |
Язык: |
Тип защиты: |
Инструменты: |
Описание: программа ViPNet [TermiNET] – это персональный сетевой экран, предназначенный для защиты компьютера от атак из Интернет. Да, хороший файрволл, иногда срабатывает, когда к тебе лезут непрошенные гости. При запуске выползает наг с напоминанием о том, что наши дни сочтены. Так больше нет ограничений, кроме этого проивнога наг-скрина.
Удалось выяснить следующую информацию:
Ключ с триал информацией: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SYSTEM Параметр с паролем: DRUN Параметр с датой установки: DALARM Параметр с датой истечения триала: DALERT Т.е. можно управлять триалом. Но надо избавиться от нага. Исследование: Дизасмим прогу...теперь откроем SDR (string data reference), ну список с доступными строками. Ищем строку: String Resource ID=40452: "The system time is invalid. Please set the correct time on y". Она встречается в тексте 2 раза. Щелкаем пару раз и останавливаемся на адресе 43572F. Смотрим чуть выше:
:004531E5 E872E6FAFF call 0040185C //проверка на изменение :004531EA 85C0 test eax, eax //системного времени :004531EC 744D je 0045323B
* Possible Reference to String Resource ID=40452: "The system time is invalid. Please set the correct time on y" | :004531EE 68049E0000 push 00009E04 :004531F3 8D4C2404 lea ecx, dword ptr [esp+04] Что, если сделать прыжок на 45323B?
:0045323B 8D4C2404 lea ecx, dword ptr [esp+04]
* Reference To: MFC42.MFC42:NoName0536, Ord:09D2h | :0045323F E8A4B90200 Call 0047EBE8 <--Вызывется наг :00453244 83F801 cmp eax, 00000001 <--если в окне нага НЕ нажали :00453247 755E jne 004532A7 <--OK, то прыгаем на ошибку :00453249 8B442464 mov eax, dword ptr [esp+64] :0045324D 85C0 test eax, eax <--если в окне нага НЕ нажали :0045324F 7456 je 004532A7 <--OK, то прыгаем на ошибку :00453251 8D8C24A8000000 lea ecx, dword ptr [esp+000000A8] :00453258 C78424B800000004000000 mov dword ptr [esp+000000B8], 00000004 :00453263 E81EF3FAFF call 00402586 :00453268 8D4C2468 lea ecx, dword ptr [esp+68] :0045326C C68424B800000003 mov byte ptr [esp+000000B8], 03
* Reference To: MFC42.MFC42:NoName0096, Ord:02FDh | :00453274 E8F5BD0200 Call 0047F06E <--вызывает саму прогу Т.е., как Вы понимаете, после того, как нажата кнопка в наге, в еах возвращается 0,1,2 и т.д. Кнопка ОК возвращает 1. Тогда, NOPим CALL 0047EBE8, заменяем прыжок
:00453247 755E jne 004532A7 на :00453247 7500 jne 00453249 А также заменяем ниже:
:0045324F 7456 je 004532A7 на :0045324F 7400 je 00453251 Получается, что прога думает, что в наге нажали ОК, хотя мы его вообще не вызывали (заНОПили). В общем всё, но давайте уберем переход, на котором вызывается мессага "The system time is invalid..." (см. выше).
:004531EC 744D je 0045323B :004531EC EB4D jmp 0045323B Теперь точно всё, прога взломана, вот кряк:
Difference(s) between Terminet.exe & cracked.exe ==============резать=тут================== 000531EC: 74 EB 0005323F: E8 90 00053240: A4 90 00053241: B9 90 00053242: 02 90 00053243: 00 90 00053248: 5E 00 00053250: 56 00 ==============резать=тут================== Послесловие: в интернете найден кряк для версии 1.82.0.39 от TSRh Team. Естественно, кряк к версии 1.81.0.31 не подходит. Для интереса я распаковал сам кряк и при помощи отладчика (так как проверяется CRC32) сделал так, чтобы кряк пропатчил прогу. Выяснилось, что также патчатся штук 6 байт (не помню толком) на NOP. Видимо также как я выше описал заNOPивается какой-то CALL и переходы. Похоже, если не сменится регистрация, этот кряк может быть универсальным и в последующих версиях ViPNET [TermiNET].
Спасибо за интерес к этой статье!
|