Введение в 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 Сообщества Послесловие Приложение Список принятых сокращений Глоссарий Предметный указатель