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

Введение в реверсинг с нуля используя IDA PRO. Часть 1

Статус
Закрыто для дальнейших ответов.

nullx

HDD-drive
Пользователь
Регистрация
15.03.2019
Сообщения
34
Реакции
274
ВВЕДЕНИЕ В РЕВЕРСИНГ С НУЛЯ ИСПОЛЬЗУЯ IDA PRO
[CLIKE][/CLIKE]
[CLIKE]
Идея этих серий учебных пособий является обновить наш оригинальный курс по реверсингу, но используя IDA PRO. Будем обучаться использовать ее с нуля и работать будем с последней версией Windows. В моем случае, я использую Windows 10 .

ПОЧЕМУ ИМЕННО IDA PRO

Потому что, пока OllyDBG просто 32-х битный отладчик режима пользователя, а IDA PRO целая программа для реверсинга, которая может быть использована в 32/64 системах, как и отладчик и как дизассемблер. Она позволяет делать статический реверс, который не может быть выполнен в OllyDBG и которая обучает как использовать ее, не смотря на сложный процесс обучения, она позволяет работать в Windows, Linux или Mac как внутри системы, так и удаленно в следующих операционных системах.

1.png


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

2.png


Как мы можем видеть, обучение как использовать IDA позволяет нам улучшить рабочее окружение, мы сфокусируемся на 32/64 разрядной Windows в пользовательском режиме и иногда в режиме ядра. Это позволит нам легче адаптироваться к любому использованию .

Здесь мы увидим большинство вещей, которые мы видели в Введение в отладку с нуля с использованием OllyDBG, но сейчас будет IDA. Попытаемся идти дальше с самого начала.

В этом курсе будет всё: статический и динамический реверс, крякме, будем учиться исследовать эксплоиты и распаковку. Я постараюсь писать о какой-нибудь важной детали с нуля.

НАЧАЛО

Нам нужна IDA PRO. Проблема в том, что это коммерческая программа и мы должны платить за нее и она того стоит. Мы не можем и не будем распространять её, но вы можете поискать утекшие в сеть версии через Гугл по такому запросу: IDA PRO 6.8 + HEXRAYS. Эта версия с которой мы будем работать.

3.png



Также будет установлен Python 2.7.6. Он используется, чтобы избежать проблем используя другие версии IDA. Если вы установили Питон самостоятельно отдельно, он должен быть той же версии, что использует IDA.

4.png


После установки, загрузим крэкме Cruehead, он идет вместе с этим туториалом.

5.png


Так как это 32-х битный исполняемый файл, мы загрузим его в IDA для 32-х битных
файлов напрямую.

6.png


Если мы запустим крэкме вне IDA, мы увидим через Диспетчер Задач, что это 32-х битный процесс. Если мы хотим знать 32-х битный это или 64-х битный файл, без запуска, мы можем использовать 16-тиричный редактор. Например такой.
https://mh-nexus.de/en/downloads.php?product=HxD
Загрузите и установите английскую версию
http://mh-nexus.de/downloads/HxDSetupES.zip

Самый простой способ - это открыть файл в хекс-редакторе, чтобы узнать какой он.

7.png

То, что мы видим - это Snipping Tools. И это 64-х битное приложение. Мы видим, что после слова PE есть следующие значения -> PE..d†

Наш крэкми - 32-х битный, после слова PE видим -> PE..L

8.png

Поэтому мы уже знаем какой мы файл имеем, чтобы загрузить его с использованием IDA 32. Когда IDA покажет окно QUICK START, мы выберем NEW, чтобы открыть новый файл, найдем наш крэкми и выберем его.

9.png


Сейчас не будем трогать настройки, потому что IDA правильно определила версию файла и мы можем нажать OK.

Если дальше нажмем YES на PROXIMITY VIEW, отобразиться дерево просмотра программы.

10.png


Чтобы перейти к графическому режиму или неграфическому - режиму инструкций нужно нажать пробел.

10.png


11.png


Также в OPTIONS - DEBUGGING OPTIONS - LINE PREFIXES мы можем добавить адреса в переднюю часть при графическом представлении.

Когда вы открываете исполняемый файл, первое, что открывается, это окно дизассемблера, которое называется LOADER, оно не запускает программу, а только ее анализирует для реверсинга и создает файл idb или базу данных (database).

Чтобы отладить программу мы должны выбрать среди всех доступных отладчиков включенных в IDA и запустить его в Режиме отладки, который мы разберем позже

Мы видим, что многие опции программы представлены в виде вкладок, в меню VIEW - OPEN SUBVIEW можно выбрать те вкладки, которые вам нравятся или нужны, чтобы не были открыты все.

12.png


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

13.png


То же происходит и в конце, там мы находим начало дизасма, в этом случае инструкция соответствующая 401000 - PUSH 0

В IDA есть возможность настроить интерфейс по умолчанию отдельно для LOADER и для DEBUGGER.

Как только вы привыкнете, например, в LOADER, наиболее часто используемые окна и вкладки можно сохранить, перейдя в WINDOWS-SAVE DESKTOP и отметив «по умолчанию», то же самое можно сделать для режима дебаггера и изменить настройку по умолчанию.

14.png

В любой из вкладок IDA, где есть такие списки, как FUNCTIONS, STRINGS, NAMES можно с помощью CTRL+F открыть поисковую систему, которая фильтрует информацию, в соответствии с тем, что мы набираем.

15.png


В VIEW-OPEN SUBVIEW-STRINGS точно также будут показываться строки, содержащие "try".

16.png


Через VIEW-OPEN SUBVIEW-DISASSEMBLY можно открыть второе дизасм окно, показывающее и выполняющее другие функции.

17.png


В OPEN SUBVIEW в LOADER есть hex представление или через вкладку HEX DUMP.

18.png


В OPEN SUBVIEW я могу показать импортируемые функции или вкладка IMPORTS.

19.png


20.png


Во VIEW можно активировать GRAPH OVERVIEW, он выполняет поиск по графику видимых функций и может двигать и изменять ту часть, которая отображается в данный момент на экране

Также имеются вкладки STRUCTURES, EXPORTS, NAMES, SEGMENTS и другие, которые я объясню позже, когда мы их будем использовать

Верхняя панель навигации с помощью различных цветов отображает разные части исполняемого файла.

21.png


Ниже поясняется, что обозначает каждый цвет, например, серый - .data, и если на него кликнуть, график сдвинется в секцию, соответствующую серому цвету. На рисунке можно увидеть, что розовая часть соответствует внешнему символу или секции .idata, синяя часть – тому, что определяется как функция в кодовой секции.
[/CLIKE]
В первой части мы сделали лишь первые шаги, в следующих частях мы будем понемногу углубляться в тему.

До встречи во второй части.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
Надо тобаку сказать, чтобы весь цикл запостил... А этот топ под снос. За одно с яшечкой связаться. У него че то там конфлик какой то был. Вроди его как прав лишили и он перестал переводы делать...
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У него че то там конфлик какой то был. Вроди его как прав лишили и он перестал переводы делать...
Яшечка тут есть, даже 2 ника вроде.. он писал тут после обновления форума.
Конфликт был, да. Связанный с легендарным Инди Клерком (который тоже тут был в далеком 11 году).
 
Автор, ты наркоман? Ты выложил паблик перевод паблик курса по Ида, зарабатываешь на этом плюсике и еще "ждешь встречи во второй части"?
Вот весь курс без регистрации и смс. https://wasm.in/threads/perevod-vvedenie-v-reversing-s-nulja-ispolzuja-ida-pro.32249/
Нет, может просто не понимали друг друга! Цикл я хотел постить без ничего но если вам это не понравилось то извините конечно думал материал пользен будет
 
Пожалуйста, обратите внимание, что пользователь заблокирован
какая разница, кто выложит, автору плюс в карму
nullx, рекомендую выкладывать без плюсодрочерства, это мало кто любит, тебе за статью и так поставят лайки и без этого
 
какая разница, кто выложит, автору плюс в карму
nullx, рекомендую выкладывать без плюсодрочерства, это мало кто любит, тебе за статью и так поставят лайки и без этого
понял спасибо за савет )) дальше буду писать ;)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Бля, дичь просто ууууебенческая!!! Нах ставить Хайд на лайк, принципиально не поставлю. Братцы всем добра!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Выкладывать контент нужно, вопрос в том - как; если человек набивает репутацию, выкладыванием паблик инфы, да еще под хайдами..то репутация обесценивается.
Тема закрыта. Все материалы по Ида здесь.
 
Статус
Закрыто для дальнейших ответов.
Верх