LINUX.ORG.RU

Сдампить исполняемый файл в ассемблерный код, собираемый в рабочую версию

 , ,


0

3

Существуют ли инструменты, с помощью которых можно получить (собираемый!) ассемблерный код из нормального исполняемого файла (не берем в расчет всякие антиотладочные приемы, пакеры, крипторы, обфускации)? Чтобы можно было собрать обратно с помощью gcc/nasm/[a-z]asm/вписатьнужное и получить полностью функциональное приложение?

Сомневаюсь что такое есть в готовом виде. Есть например утилита elftoc http://www.muppetlabs.com/~breadbox/software/elfkickers.html

elftoc: a program that takes an ELF file and generates C code that defines a struct with the same memory image, using the structs and preprocessor symbols defined in <elf.h>.

Можно взять ее за основу для разработки такого инстумента

SZT ★★★★★
()

Существуют, например, hexdump.

$ hexdump -ve '1/1 ".byte %d\n"' /bin/true > true.s
$ as true.s -o true.o
$ ld -e0 true.o
$ obcopy -Obinary a.out true
$ diff -qs /bin/true true
Files /bin/true and true are identical

Я не издеваюсь, а скорее намекаю на необходимость уточнения задачи, в ходе которого, скорее всего, выяснится, что ассемблирование — процесс в общем случае необратимый, как и вообще любая компиляция.

anonymous
()

IDA епт генерирует асм листинг, бери дальше и компиляй

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.