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