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