Навигация по сайту:
http://www.techno-med.com.ua/ инструкция к аппликатору ляпко.
Статья "Инлайн ASPack 2.12 или взлом WinTools.net":
<< Все статьи по взлому Версия для печати
Только для образовательных целей!
Автор:Bokiv [AHTeam]
Уровень:Для начинающих
Программа:WinTools.net 4.0
Размер:736 кб
Язык:русский
Тип защиты:ASPack 2.12
Инструменты:OllyDBG v1.10

Инструмент:
ollydbg110xp.zip
Исследуемая программа:
wintools_net_4_0_Classic.zip
Дата написания: 21.11.2006

Вместо предисловия:
Наконец-то пришли морозы и выпал снег, и появилось соответственно много свободного
времени для подобных дел, как написание этого мануала. Инлайн ASPack – это очень
просто, но я решил написать серию подобных статей и начать с самого неизощрённого.
В качестве объекта для инлайна я выбрал WinTools.net 4.0 – это самая старая версия этой
программы, которая у меня есть (не охота причинять ущерб, её автору, тренируясь на
новой версии).

Предварительный анализ и поиск цели:
Запускаем файл wintools.exe, появляется окно с просьбой зарегистрироваться (далее наг).
Более, нам ничего и не надо, осталось отловить его появление через отладчик и
разобраться, почему всё происходит именно так.

Взлом:
Грузим файл wintools.exe в OllyDBG v1.10 (далее Оля). Ставим бряк bp DialogBoxParamA
и нажимаем F9. Далее нажимаем F8 и держим, пока не появится наг, далее кликнем в нём
кнопку Next >>, и в Оле по F8 дойдём до ближайшей команды RETN.

77D48945   C2 1400          RETN 14

ещё одно нажатие F8 и мы попадём, из кода библиотеки windows, в код нашей программы.

00411816  CALL wintools.0043F194
0041181B CMP EAX,0
0041181E JNZ SHORT wintools.0041187A
00411820 PUSH 0
00411822 PUSH wintools.0043EB97
00411827 PUSH DWORD PTR DS:[4687FC]
0041182D PUSH wintools.0048995E
00411832 PUSH DWORD PTR DS:[452ECC]
00411838 CALL wintools.00451740 -> DialogBoxParamA
0041183D CMP EAX,0

По адресу 00411816 процедура проверяет регистрацию, и если её нет, то обнуляет регистр
EAX. А по адресу 0041181E условный переход кидает нас на код нага. Тут править ничего
не надо ищём в процедуре по адресу 00411816. Поставим на неё курсор и нажмём ENTER.
Установим Hardware бряк на 0043F194 для дальнейшего исследования этого кода.
(F10->Breakpoint->Hardware, on execution) Перезапустим программу (Ctrl+F2).
Hardware Breakpoint мы поставили потому что исследуем упакованную программу и
обычный Breakpoint (F2) просто сотрется при перезапуске.

0043F194  55             PUSH EBP
*** обрезано ***
0043F1CF CMP EAX,0
0043F1D2 JNZ SHORT 0043F1DE
0043F1D4 MOV EAX,0
0043F1D9 JMP 0043F3B1
*** обрезано ***
0043F371 JNZ 0043F3AC
0043F373 MOV DWORD PTR DS:[46BDCC],175
0043F37D MOV DWORD PTR DS:[46BDD0],2CE
0043F387 MOV DWORD PTR DS:[46BDD4],13A
0043F391 MOV DWORD PTR DS:[46BDD8],0B2
0043F39B MOV DWORD PTR DS:[46BDDC],247
0043F3A5 MOV EAX,1
0043F3AA JMP 0043F3B1
0043F3AC MOV EAX,0
0043F3B1 POP EDI

По адресу (0043F1D4) регистр EAX обнуляется и на выход из процедуры, а далее мы
знаем что появляется.

Изменим безусловный переход по адресу 0043F1D9:
JMP 0043F3B1
на:
JMP 0043F373

Для изменения ставим курсор по нужному адресу и жмём пробел, в появившемся окне
пишем JMP 0043F373, далее кнопка Assemble.

оригинал:
0043F1D9 E9 D3010000 JMP 0043F3B1
наш патч:
0043F1D9 E9 95010000 JMP 0043F373

Итак, чтобы защита программы рухнула нам нужно всего лишь изменить один байт.
Т.е. по адресу 0043F1DA прописать 95. Это делается с помощью команды MOV.

MOV BYTE PTR DS:[0043F1DA],95 (код для Инлайн патча)

Инлайн:

Теперь нам нужно исследовать сам упаковщик, и найти такое место в его коде, где
программа распакована в памяти, но упаковщик ещё выполняет свой код.
Ставим бряк (hr esp-4) далее F9.

0057339A MOV EAX,1219 (в этом месте сделаем прыжок на наш код)
0057339F PUSH EAX
005733A0 ADD EAX,DWORD PTR SS:[EBP+422]
005733A6 POP ECX
005733A7 OR ECX,ECX
005733A9 MOV DWORD PTR SS:[EBP+3A8],EAX
005733AF POPAD
005733B0 JNZ 005733BA (мы тут)

Итак, нам нужно прописать JMP в свободное место программы (где куча нулей)
выполнить код, который мы затрём прыжком, выполнить наш код, и вернутся на место.

Покрутим мышкой ассемблерный листинг Оли вниз:

005735D0 0000 ADD BYTE PTR DS:[EAX],AL
005735D2 0000 ADD BYTE PTR DS:[EAX],AL

запомним этот адрес 005735D0 и вернёмся обратно на 0057339A

Данное место нам подходит, пишем:
CALL 005735D0, можно написать JMP 005735D0, но после выполнения нашего кода
придется прописывать адрес возврата.
У меня так:
0057339A CALL 005735D0

Для сохранения первого изменения ставим курсор на 0057339A далее F10->Copy to
executable->Selection. Появится небольшое окошко с кодом его не закрывать! Просто
сверните его.

Теперь крутимся на наше свободное место (005735D0) для написания своего кода.
Пишем:
MOV EAX,1219 (так как мы её затерли, написав CALL 005735D0)
MOV BYTE PTR DS:[0043F1DA],95 (это наш код Инлайн патча)
RETN (возвращаемся на место)

Получилось:
005735D0   MOV EAX,1219
005735D5 MOV BYTE PTR DS:[43F1DA],95
005735DC RETN

Теперь выделяем курсором эти три строчки и опять F10->Copy to executable->Selection
В появившемся окошке жмём F10->SaveFile и сохраняем с именем wintools1.exe
Проверяем, всё ли получилось, запуская wintools1.exe.
Окно с напоминанием пропало, программа взломана без распаковки и изменения размера!
Хочу уточнить, что программа взломана полностью, т.е. мы убрали не только окно с
напоминанием о регистрации, но и триал период, и все ограничения в программе.
А значит покупать или искать серийник для неё не нужно, у нас и так теперь есть
полнофункциональная версия программы.

Благодарности:
Хочется сказать спасибо авторам за столь увлекательный материал для исследования.
Ну и спасибо всем кто разместит в Интернете эту статью.

Ссылки:
Форум нашей команды:
http://ahteam.org/forum/
Программы и русификаторы:
http://samlab.ws/
Моя страничка:
http://www.bokiv.astalavista.ms/

Предупреждения и ограничения:
Данная статья написана только в целях самообразования.
Автор за использование данной статьи ответственности не несет!

<< Все статьи по взлому Версия для печати
Комментарии читателей к статье "Инлайн ASPack 2.12 или взлом WinTools.net":

10.10.2017 05:34
US drama "spiritual book swiss replica watches wonderful exploration" actress, detective Stanna Katick wearing the replica watches Panerai PAM00183. Large and simple dial highlights the fashionable girl. Panerai dial is generally larger, suitable for omega replica people high horse big girls, after all, height 1 meter 7 or more also replica watches uk with a 28 mm female table does not look good.
Leen

10.12.2006 12:44
Да. Согласен - автор красиво и доступно написал. Иногда все же нужны такие вот извращения. Есть хорошая прога, но функциональность хромает. А как ее доработать без сорса? ХЗ. Пока на Ваш сайт не наткнулся, столько муры или "для начинаюших", но так, что хрен поймешь. Спасибо заа уроки, ребята!
Soso

27.11.2006 01:33
Спасибо, ХОРОШИЙ tutor !!!!
Добавить свой комментарий:
Ваше имя: Текст сообщения:
Ваш E-Mail:
Введите код:   

Печать на холсте: картины на холсте holstprint.com.ua.
ALIEN Hack Team - © 2003-2017
Лицензионное соглашение