Main Page
From Wiki.conus.info
Здесь (будет) немного моих заметок о 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
Задачи
Прочее
Если вас интересует что-то, чего здесь (пока) нет, то пишите на dennis(a)conus.info, либо на форуме, я попробую написать об этом раньше остального.