Один из форумчанинов @VodoleY скинул ссылку на данное чтиво:
Reverse Engineering для начинающих
Автор: Денис Юричев
Немного о книге:
Предисловие
Здесь (будет) немного моих заметок о reverse engineering на русском языке для начинающих, для тех кто хочет научиться понимать создаваемый Си/Си++ компиляторами код для x86 (коего, практически, больше всего остального) и ARM. У термина “reverse engineering” несколько популярных значений:
Рассмотренные темы
x86/x64, ARM/ARM64, MIPS.
Затронутые темы
Oracle RDBMS, Itanium, донглы для защиты от копирования, LD_PRELOAD, переполнение стека, ELF12 , формат файла PE в win32, x86-64, критические секции, сисколлы, TLS13, адресно-независимый код, profile-guided optimization, C++ STL, OpenMP, SEH.
Еще кое-что
Зачем в наше время нужно изучать язык ассемблера? Если вы не разработчик OS, вам наверное не нужно писать на ассемблере: современные компиляторы оптимизируют код намного лучше человека 15. Современные CPU16 это также крайне сложные устройства, и знание ассемблера врядли поможет узнать его внутренности. Но все-таки остается по крайней мере две области, где знание ассемблера может хорошо помочь:
Скачать
Reverse Engineering для начинающих
Автор: Денис Юричев
Немного о книге:
Предисловие
Здесь (будет) немного моих заметок о reverse engineering на русском языке для начинающих, для тех кто хочет научиться понимать создаваемый Си/Си++ компиляторами код для x86 (коего, практически, больше всего остального) и ARM. У термина “reverse engineering” несколько популярных значений:
- исследование скомпилированных программ;
- сканирование трехмерной модели для последующего копирования;
- восстановление структуры СУБД.
Рассмотренные темы
x86/x64, ARM/ARM64, MIPS.
Затронутые темы
Oracle RDBMS, Itanium, донглы для защиты от копирования, LD_PRELOAD, переполнение стека, ELF12 , формат файла PE в win32, x86-64, критические секции, сисколлы, TLS13, адресно-независимый код, profile-guided optimization, C++ STL, OpenMP, SEH.
Еще кое-что
Зачем в наше время нужно изучать язык ассемблера? Если вы не разработчик OS, вам наверное не нужно писать на ассемблере: современные компиляторы оптимизируют код намного лучше человека 15. Современные CPU16 это также крайне сложные устройства, и знание ассемблера врядли поможет узнать его внутренности. Но все-таки остается по крайней мере две области, где знание ассемблера может хорошо помочь:
- исследование malware (зловредов) в целях security research;
- лучшее понимание вашего скомпилированного кода в процессе отладки.
Скачать