Понимание языка ассемблера. Reverse Engineering для начинающих (2020) PDF

Понимание языка ассемблера. Reverse Engineering для начинающих (2020) PDF

Когда автор данной книги учил C, а затем C++, он просто писал небольшие фрагменты кода, компилировал и смотрел, что получилось на ассемблере. Так было намного проще понять. Он делал это такое большое количество раз, что связь между программным кодом на C/C++ и тем, что генерирует компилятор, вбилась в его подсознание достаточно глубоко. После этого не трудно, глядя на код на ассемблере, сразу в общих чертах понимать, что же там было написано на C. Возможно эти знания смогут помочь кому-то ещё. Иногда здесь используются достаточно древние компиляторы, чтобы получить самый короткий (или простой) фрагмент кода.

Исходный код можно компилировать различными компиляторами с различными уровнями оптимизации. В типичном компиляторе этих уровней около трёх, где нулевой уровень — отключить оптимизацию. Различают также уровни оптимизации кода по размеру и по скорости. Неоптимизирующий компилятор работает быстрее, генерирует более понятный (хотя и более объемный) код. Оптимизирующий компилятор работает медленнее и старается сгенерировать более быстрый (хотя и не обязательно краткий) код. Наряду с уровнями оптимизации компилятор может включать в конечный файл отладочную информацию, производя таким образом код, который легче отлаживать. Одна очень важная черта отладочного кода в том, что он может содержать связи между каждой строкой в исходном коде и адресом в машинном коде. Оптимизирующие компиляторы обычно генерируют код, где целые строки из исходного кода могут быть оптимизированы и не присутствовать в итоговом машинном коде. Практикующий reverse engineer обычно сталкивается с обеими версиями, потому что некоторые разработчи и включают оптимизацию, некоторые другие — нет. Вот почему мы постараемся поработать с примерами для обеих версий.

Название: Понимание языка ассемблера. Reverse Engineering для начинающих
Год издания: 2020
Автор: Денис Юричев
Жанр: программирование
Количество страниц: 1377
Формат: PDF
Язык: Русский
Размер: 12 Mb

Внимание! У Вас нет прав для просмотра скрытого текста.

Комментарии 1

  1. kwncorp от 4 декабря 2020 16:40
    0
    мля... да!!!!!!!!!!! знание С++ пригАдится, но если ты не знаешь структуру процессора (где кишки, где жопа, где регистры, где вентили) на ассемблере ты #ер чо напишешь, а процы множатся как тараканы...
    а посему пишут под Х*_86 процессор или там ещё под ч.з. чо, угнаться невозможно, на языках высокого уровня понятных всем
    отсюда - блюрэйные инсталяторы для тэтриса
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.