Получение архитектурно-независимой семантики исполняемого кода

И. О. Леошкевич

Аннотация


В данной работе под дизассемблированием будем понимать преобразование одной машинной инструкции в представление, отражающее ее семантику, а под дизассемблером - библиотеку, осуществляющую дизассемблирование. дизассемблеры являются неотъемлемой частью как статических, так и динамических средств анализа исполняемого кода. Целью данной работы является разработка так называемого расширяемого дизассемблера, принимающего на вход описание архитектуры и инструкцию, принадлежащую этой архитектуре, а на выходе дающего формализованное описание работы этой инструкции. такой подход позволит отделить алгоритмы анализа исполняемого кода от его декодирования, что сделает их реализацию независимой от конкретных архитектур.

Полный текст:

PDF

Литература


1 Dullien T., Porst S. Platform-independent static binary code analysis using a meta-assembly language // CanSecWest, 2009.

2 Sandip R. Towards a formalization of the x86 instruction set architecture. Technical Report TR-08-15, 2008.

3 Lim J., Reps T. A system for generating static analyzers for machine instructions // CC ‘08: International Conference on Compiler Construction, 2008.

4 Leoshkevich I. Q disassembler. URL: http://sourceforge.net/projects/q-d/.


Ссылки

  • На текущий момент ссылки отсутствуют.


Лицензия Creative Commons
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.