Если сурец на асме и синтаксис AT&T используй as (тот исходник, который выше, написан в синтаксисе AT&T), если синтаксис как для masm'a или tasm'a (не помню его название) для ассемблирования используй nasm. А если кусок кода вставлент в сишный сурец (__asm__()) тогда естественно gcc -))
Это понятно, НО!22.04.03 11:39 Автор: choor Статус: Elderman
> Когда я с помощью objdump его смотрю, он всё равно выдаёт > асмовский год, а не ascii Но по-мойму objdump -s
или по гнусному objdump --full-contents
должен выдавать содержимое в хексах. Ну или найди любыми утилсами смещение начала и длину этого куска в файле и выкуси его через dd например.
лучше objdump -d23.04.03 07:55 Автор: makeworld Статус: Member Отредактировано 23.04.03 08:11 Количество правок: 3
Тебе нужен естественно опкод, т.е. для вышеприведенного куска кода то, что тебе нужно будет выглядеть так:
char shellcode[]="\x89\xd8\x40";
или для лучше читабельности можно так:
char shellcode[]=
"\x89\xd8\"
"\x40";
\x означает, что используем 16-ричную сист. счсисления.
big 10x :)23.04.03 15:30 Автор: choor Статус: Elderman