Main Page

From Wiki.conus.info

Jump to: navigation, search

Здесь (будет) немного моих заметок о reverse engineering на русском языке для начинающих, для тех кто хочет научиться понимать создаваемый C/C++ компиляторами код, коего, практически, больше всего остального.

Основных компилятора два: MSVC и GCC, на них и будем ставить эксперименты.

Имеется два основных синтаксиса x86 ассемблера: intel (больше распространенный в dos/windows) и at&t (распространен в юниксах). Здесь принят интеловский синтаксис. IDA также выдает интеловский.

См.также: http://en.wikipedia.org/wiki/X86_assembly_language#Syntax

Contents

Паттерны компиляторов

Когда я учил Си, а затем Си++, я просто писал небольшие куски кода, компилил и смотрел что получилось на асме, так мне понять было намного проще. Я делал это такое количество раз, что связь между кодом на Си и тем что генерирует компилятор вбилась мне в подсознание достаточно глубоко, поэтому я могу глядя на код на асме сразу понимать, в общих чертах, что там было написано на Си. Возможно это поможет кому-то еще, попробую описать некоторые примеры.

Поиск в коде того что нужно

Поиск в коде того что нужно

Примеры

(eng) http://conus.info/RE-articles/qr9.html

(eng) http://conus.info/RE-articles/sapgui.html

Задачи

Задачи

Прочее

Инструменты

Что стоит почитать

Аномалии компиляторов

Все страницы в этой wiki

Если вас интересует что-то, чего здесь (пока) нет, то пишите на dennis(a)conus.info, либо на форуме, я попробую написать об этом раньше остального.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox