Ай нид хелп - есть хост, ядро 2.4.30 #2 SMP , выбрал вот этот сплоит http://www.securityfocus.com/data/vulnerabilities/exploits/linux-ia32-emul-exp.c , но не могу скомпилить - сначало ругалось на андефайн ORIG_RAX, поставил его 120, теперь выдает следующее: Code: Assembler message: ****.s:12 Error: suffix or operand invalid for 'movq' ****.s:120 Error: suffix or operand invalid for 'movq' я так понимаю из-за этой строчки: Code: __asm__("\n" "\tmovq $0x101, %rax\n" "\tint $0x80\n"); Что делать и кто виноват?
У самого очень часто такие траблы появляются при сборке чего либо под х86_64, приходится подкручивать. По сабжу, напиши просто mov вместо movq
Все равно не получаеться... Code: /tmp/ccMRs3sA.s: Assembler messages: /tmp/ccMRs3sA.s:129: Error: bad register name `%rax' Вообще команда "\tmovq $0x101, %rax\n", должно быть наоборот, в регистр засовываеться число, но я попробывал так тоже не компилиться.. Какой регистр должен быть на месте %rax%?
не должна быть на оборот, это синтаксис такой AT&T. А rax это вроде-как аналог eax в 64-битной системе. Похоже что ты на 32-битной системе компилируеш, отсюда и ошибки.