• XSS.stack #1 – первый литературный журнал от юзеров форума

Боевой комплект реверсера

Хел

HDD-drive
Пользователь
Регистрация
30.11.2008
Сообщения
25
Реакции
0
Боевой комплект реверсера

[ Вступление ]

По предложению Склифа я решил написать маленький обзор софта и нужных утилит для реверсера.
Новички в деле крэкера путаются в разнообразии софта, не знают что скачать и как использовать, а также
вообще зачем эти утилиты нужны. Сегодня я постараюсь ввести их в курс дела, чтобы не было непоняток.

Итак, в нашем арсенале нам понадобятся:

Отладчик - чтобы отслеживать работу программы на низком уровне в реальном времени.
Дизассемблер - чтобы смотреть ассемблерный код программы.
Пакеры/Анпакеры - чтобы паковать и распаковывать программу автоматически.
Утилита для работы с PE - чтобы знать "who is who"
HEX редактор - чтобы патчить байты
API шпион - чтобы отслеживать API функции программы
Монитор реестра - чтобы отслеживать кто куда что пишет в реестр
Монитор файлов - чтобы смотреть создаваемые файлы
Программа создания кряков - чтобы не писать вручную кряки
IDE для программирования - чтобы писать вручную кряки

[ Отладчик ]

Для отладки я использую хороший низкоуровневый отладчик OllyDbg с набором плагинов.
Советую использовать сборку от Diablo, в ней совмещен отличный набор плагинов и приятный глазу дизайн.

Итак, скачать сборку можно здесь:
http://rapidshare.com/files/66822828/OllyD...10_20Diablo.rar

А теперь мини - F.A.Q. по использованию олльки.

1. Открыть файл для отладки: F3->Выбрать нужный файл или File->Attach->Выбрать нужный процесс->Attach или File->Open->Выбрать нужный файл->Open
2. Поставить бряк в дизассемблерном листинге: ЛКМ на нужном участке->F2
3. Снять бряк: ЛКМ на месте с бряком->F2
4. Поставить бряк на функцию: Ctrl+N->Ищем функцию->ПКМ->Toogle BreakPoint On Enter
5. Поставить бряк через commandline: bpx Function
6. Смотреть список доступных строк: ПКМ->Search For->All Referenced Text Strings
7. Трассировка с заходом в функцию: F7, без захода в функцию F8
8. Исправить код на свой: Два раза щелкнуть на коде (или 1 раз щелкнуть и нажать пробел)->Изменить код->Enter
9. Изменить регистр: Два раза кликнуть на регистре->Изменить значение->Enter
10. Бряк на память: bpm 31337

Как научиться хорошо пользоваться Olly для реверсинга, можно прочитать в следующей статье:
http://xakername.ifolder.ru/7558689

Скрин:


[ Дизассемблер ]

Для получения ассемблерного кода программы я использую W32Dasm. Достаточно хороший инструмент, подойдет для дел средней сложности.

Скачиваем здесь:
http://wasm.ru/baixado.php?mode=tool&id=178

Опять таки мини - F.A.Q.:

1. Открыть файл для дизасма: File->Open File to Disassemble
2. Посмотреть список импортируемых функций программы: На панеле инструментов нажать List and Search for Imported Modules and Functions
3. Посмотреть список экспортируемых функций программы: Lists and Search for Exported Functions
4. Посмотреть список строк в программе: List and Search for String Data References in Disassembly
5. Перейти на начало кода: Sets the Hightlighted Text Bar to the Start of the Code Listing
6. Перейти на Entry Point: Sets the Highlighted Text Bar to the Program Entry Point Code
7. Перейти на страницу в листинге: Sets Disassembler Screen Text to Top of Specified Page
8. Перейти на адрес: Sets the Highlighted Text Bar to Specified Code Offset
9. Управление условными переходами и вызовами: Нажать JMP для прыжка, RET для возврата к условному переходу CALL для перехода к функции, RET для возврата обратно.
10. Посмотреть в hex: Hex Listing of Code if Code Location is top line

В остальном я надеюсь будет легко разобраться самим.

Скрин:


[ Пакеры/Анпакеры ]

Пакеры изначально были задуманы для уменьшения размера бинарников, но теперь они также служат средством защиты от реверсеров. Самые знаменитые пакеры это AS-Pack, Armadillo, PE Compact, UPX, FSG и многие другие.

Естественно, чтобы получить нормальный ассемблерный код программы, нам нужно для начала распаковать ее. Для распаковки можно задействовать руки либо специальные программы для автоматической распаковки.

Есть официальные распаковщики, а есть распаковщики от сторонних авторов. Я лично использую Quick Unpack, как один из самых универсальных и удобных распаковщиков.

1. Жмем Open File и выбираем нужный файл.
2. Поиск Original Entry Point OEP->>->Выбираем метод
3. Жмем Full Unpack. Далее спросит сохранить дамп или нет, жмем Save.

Скрин:


Скачать пакеры можно здесь:
http://wasm.ru/toollist.php?list=8

И анпакеры здесь:
http://wasm.ru/toollist.php?list=6

[ Утилита для работы с PE ]

Нам частенько нужно будет узнать на чем написана программа, ее EP, и прочие интересности внутреннего устройства утилиты. Для этого нам помогут различные программы, например PEiD и LordPE.

Скрин PEiD:


Скрин LordPE:


Думаю, интерфейс интуитивно понятный, и не требует разъяснений.

Также хороша утилита PE Tools.

Скачать все можно здесь:
http://wasm.ru/baixado.php?mode=tool&id=67
http://wasm.ru/baixado.php?mode=tool&id=124
http://wasm.ru/baixado.php?mode=tool&id=44

[ HEX редактор ]

Для правки пары байт, можно использовать конечно и универсальный Olly, но специально для редактирования байт был создан HiEW - Hackers View.

Программа сама по себе не сложная, освоиться в ней тоже легко. Существует возможность редактирования hex кода, ассемблерного кода и просмотр. Для перехода из одного в другой режимы, достаточно пары клавиш.

Скрин HiEW:


Скачать HiEW:
http://wasm.ru/baixado.php?mode=tool&id=112

Также можно использовать и другие hex редакторы типа WinHEX:
http://wasm.ru/baixado.php?mode=tool&id=24

[ API шпион ]

API шпионы нужны для того, чтобы отслеживать, какими API функциями пользуется программа.
В качестве шпионов можно использовать APISpy32, APIMonitor, API Spy 2.5 и прочими.

Скрин APISpy32:


Скрин API Monitor:


Скрин API Spy 2.5:


Скрин Kerberos:


Ну тут тоже разъяснять нечего, загружаем программу и смотрим список доступных функций.

Скачать:
http://www.cracklab.ru/download.php?action=list&n=MTU=

Kerberos:
http://www.cracklab.ru/download.php?action=get&n=NTcw

[ Монитор реестра ]

Многие программы заносят сведения о регистрации (имя, пароль, остаток возможных запусков в триале) в реестр. Отследить что кто куда писал в нем вручную очень сложно, и на помощь приходят различные утилиты, как например RegMon от Марка Руссиновича. Данная утилита показывает в реальном времени какая программа отправляет какой запрос в какую ветвь реестра, что позволяет нам определить собственно что она делает.

Скрин:


Скачать:
http://www.cracklab.ru/download.php?action=get&n=MzU=

[ Монитор файлов ]

Опять таки нам когда либо придется узнать, что программа вытворяет на вашем жестком диске. Для этого послужит еще одна небезызвестная утилита от Марка Руссиновича - FileMon.

Способ ее использования аналогичен RegMon'у.

Скрин:


Скачать:
http://www.cracklab.ru/download.php?action=get&n=NDA=

[ Программа создания кряков ]

Конечно же, всякий уважающий себя крэкер должен создавать кряки сам. Но иногда бывают такие моменты, когда писать что-то очень западло. В такие моменты нас выручат различные утилиты автоматического создания кряка/кейгена/еще какой то заразы. Я использую DUP2 от Diablo, вы можете что то еще.

Вот скрин:


Скачать можно здесь:
http://diablo2oo2.di.funpic.de/stuff/dup2.beta.rar

Использовать легко. Сначала создаем New Project, задаем нужные параметры проекта, затем Add, выбираем тип будущей утилиты, вбиваем нужны настройки, жмем Create Loader/Patch, и вуаля! - кряк готов.

[ IDE для программирования ]

Для создания кряков нам понадобится знать какой либо язык программирования. Зачастую кряки пишутся на Delphi, Assembler, C/C++, поэтому сделаем краткий обзор возможных сред разработки.

Если вы пишете на Delphi, то самое лучше решение это использовать Borland Delphi IDE.

Вот как она выглядит:


Для программистов на C/C++ подойдет Dev-Cpp:


Скачать ее можно отсюда:
http://bloodshed.net/devcpp.html

Ну а для ассемблерщиков раем будут FASM & MASM.

Подробнее по ним можно почитать в этом отрывке из блога:
http://devprog.wordpress.com/2008/10/15/ка...блер-некоторые/

А скачать здесь:
http://www.cracklab.ru/download.php?action=list&n=NjU=

[ ZloY'ключение ]

Ну вот так сказать основной набор программ и утилит реверсера на все случаи жизни. Если мне будут попадаться интересные экземпляры ПО для крэкера, я буду обновлять эту тему. С вами был Хел, всем удачи =)

© Хел, specially for ZloY.org CommunitY
думаю и на дамаге пригодится)
 
Оля, она какбэ не низкоуровневый отладчик, отлаживать ею можно только в ring 3, в ring 0 она не тянет, юзермодный отладчик.
Еще IDA PRO забыл - интерактивный дизассемблер.
 
ну, описывал то что использую =)
собственно насчет ольки прав, но для большинства как бы это сказать правильнее, целей чтоли, по реверсингу она подходит на +1
ну ида само собой...пропустил =) исправимся.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх