Введение в reverse engineering для начинающих — Заметки о reverse engineering на русском языке для начинающих, для тех кто хочет научиться понимать создаваемый Си/Си++ компиляторами код для архитектур x86/x64, ARM/ARM64, MIPS, Java/JVM.
У термина «reverse engineering» несколько популярных значений: 1) исследование скомпилированных программ; 2) сканирование трехмерной модели для последующего копирования; 3) восстановление структуры СУБД. Настоящий сборник заметок связан с первым значением.
Когда автор этой книги учил Си, а затем Си++, он просто писал небольшие фрагменты кода, компилировал и смотрел, что получилось на ассемблере. Так было намного проще понять. Он делал это такое количество раз, что связь между кодом на Си/Си++ и тем, что генерирует компилятор, вбилась в его подсознание достаточно глубоко. После этого не трудно, глядя на код на ассемблере, сразу в общих чертах понимать, что там было написано на Си. Возможно это поможет кому-то ещё.
Когда автор этой книги учил ассемблер, он также часто компилировал короткие функции на Си и затем постепенно переписывал их на ассемблер, с целью получить как можно более короткий код. Наверное, этим не стоит заниматься в наше время на практике (потому что конкурировать с современными компиляторами в плане эффективности очень трудно), но это очень хороший способ разобраться в ассемблере лучше. Так что вы можете взять любой фрагмент кода на ассемблере в этой книге и постараться сделать его короче. Но не забывайте о тестировании своих результатов.
Название: Введение в reverse engineering для начинающих
Автор: Юричев Д.
Издательство: Интернет-издание
Год: 2018
Страниц: 1056
Формат: PDF
Размер: 10,2 МБ
Качество: отличное
Язык: русский
Содержание: Образцы кода
2 Важные фундаментальные вещи
3 Более сложные примеры
4 Java
5 Поиск в коде того что нужно
6 Специфичное для ОС
7 Инструменты
8 Примеры из практики
9 Примеры разбора закрытых (proprietary) форматов файлов
10 Прочее
11 Что стоит почитать
12 Сообщества
Послесловие
Приложение
Список принятых сокращений
Глоссарий
Предметный указатель