На страницу краков. На главную страницу |
Сразу после написания, а вернее, дополнения тутора по GifMovieGear, и скачивания себе
HTML-редактора SNK VHTML Workshop, я решил посмотретьЮ, а нельзя ли сделать что-нибудь, чтобы
этот редактор запоминал-таки настройки (в FAQ сказано, что это не работает в нерегистренной версии 3.1), а также чтобы программа не доставала меня
своим назойливым предложением зарегистрироваться. Сказано - сделано. Загружаем vh.exe в IDA 3.84 Pro, ждем некоторое время, предлагаем IDA воспользоваться файлом сигнатур для Delphi Visual Component Library 3.0, и, примерно спустя пару часов (ну, не быстрый у меня компьютер, что поделаешь) имеем листинг программы. Запускаем жертву, пробуем зарегистрироваться. На наши жалкие попытки ее обмануть жертва [пока что] отвечает мессагбоксом "Invalid key!". Что ж, поищем сию строку в IDA. IDA находит такую строчку, справа от которой мы видим "XREF ....", поместив курсор на который, и, нажав Enter, мы попадаем в код какой-то процедуры. При всем при том, замечаем, что буквально парой строчек выше инструкции помечены именем метки loc_[blah-blah], на которую есть ссылка. Смотрим, кто же ссылается на эту метку - а ссылается на нее условный переход, над которым видим: call sub_blah-blah test al,al ага! Значит, Процедура устанавливает флаг в al, что ж, пойдем внутрь процедуры. внутри процедуры идем в самый конец, где, перед инструкцией ret производятся манипуляции над al или eax. Таковой является xor eax, eax. Заменив этот xor на inc eax nop получим вполне зарегистрированную версию программы. Для особо ленивых: [BeginCRX"Vh.crx"]-------------------------------------------------- Description: [W9x] SNK Visual HTML Workshop 3.1 Professional (beta) About program: Nice HTML editor. Almost WYSIWG. Crack subject: Register it! Crack made by: ctocopok Crack made at: 23.12.00 11:05:58 Comments: В обpазовательных целях, конечно. Comments: www.snkey.com Protection %%: [І°°°°°°°°°°°°°°°°°°°] %01 Check: [Vh.exe] Size: 2179072, CRC32: 9A2AF3D4 Time for hack: 00:01:00 Type of hack: MOV Correction/NOPing Used packer: None Used unpacker: None Src language: Borland Delphi Price: RUR 120. Used tools: IDA 3.84b, Hiew 6.2, C2F/W32.GUI v0.7 Under Music: 3EMfiPA [BeginCRK]-------------------------------------------------- SNK Visual HTML Workshop 3.1 Professional (beta) Register it! Vh.exe 0016CA13: 8B 40 0016CA14: C3 90 Убрать дебильные окошки при работе с FTP: Vh.exe 0015082B: 74 EB Разрешить работать с Soft-Ice: Vh.exe 00187C7B: 83 31 00187C7C: F8 C0 00187C7D: FF 48 00187C7E: 74 EB> [EndCRK]-------------------------------------------------- [EndCRX]-------------------------------------------------- Дополнение от 30.12.2000 Заколебался я при отправке файлов на сервер (FTP) нажимать на "ОК" в куче окошек, которые выскакивают при этом процессе. Решил поправить дело. Взял в руки Soft-Ice 4.0, и попытался запустить программку. Не тут-то было! При запущенном Soft-Ice программа не работает! Не трапится, не ругается, а просто молча не грузится. Некрасиво с ее стороны, однозначно. Что ж, и это поправимо. Загрузим файл снова в IDA. Попробуем поискать все вхождения строки "ice" в программе. Пропустив буквально несколько находок в строчка вроде "PrinterDevice", мы увидим такую находку: \\SICE Отлично, посмотрим, кому же не терпиться попользоваться этой строкой? Оказывается, эта строка пережается в качестве параметра функции CreateFile. Понятно. С помощью CreateFile программа проверяет наличие отладчика в памяти компьютера. Следом за вызовом видим сравнение: cmp eax, -1 jz loc_0_xxx push eax ... call CloseHandle mov bad_guyFlag,1 ... loc_0_xxx: ret Поясню - В случае успешного открытия файла, Createfile помещает handle в eax, если же файл не был найден, то eax будет равен -1. Нам надо, чтобы eax всегда был равен -1. Сэмулируем же это, заменив cmp eax,-1 на xor eax, eax dec eax После чего изменим условный переход на безусловный. (74->EB). Для ленивых сразу дам оффсеты и значения, а как убрать окошки, вылетающие при хакачке файлов объясню чуть позже. Убрать дебильные окошки при работе с FTP: 0015082B: 74 EB Разрешить работать с Soft-Ice: 00187C7B: 83 31 00187C7C: F8 C0 00187C7D: FF 48 00187C7E: 74 EB Изменения в версии SNK VHW3 версии 3.1.2 : 001867E3: 8B 40 001867E4: C3 90 Так как защита не меняется, то можно искать по сигнатуре. Думаю, найти ее будет совсем несложно :) Оставляю это дело читателю. Версия 3.1.3 - не знаю уж, что в ней нового, но что-то, видимо, есть... 00173E8F: 8B 40 00173E90: C3 90 Теперь, пожалуй, удосужусь выписать и саму сигнатуру, так как на бумажке она уже все равно есть, и именно по ней я 3.1.3 и правил: Итак, ищем последовательность байт EB DE 8B C3 5F 5E 5B 8B E5 5D C2 04 00 00 00 FF FF FF FF 01 00 И заменяем в этой последовательности -- -- 40 90 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Материал предоставлен исключительно в образовательных целях. В случае использования данного материала в нелегальных целях, а также в случае нанесения читателями данного материала ущерба кому-либо каким-либо образом, компенсация ущерба не может быть обращена на автора материала. Ни одно животное, кроме автора не пострадало ни при сборе информации для данной статьи, ни при ее опубликовании. |