我正在尝试生成以下程序集代码的十六进制表示形式。我正在做一个缓冲区溢出实验室,在那里我需要将命令放入堆栈中。当我尝试用命令编译以下代码时:
gcc -m32 -c assemblylevel2.s我知道错误:
汇编级别2.s:2:错误:表达式后的垃圾“`oc”
我试过用mov,movl,push,pushl的不同排列的代码。所有这些都会产生相同的错误。我怎样才能编译这个呢?
集合级别2:
movl $0xfaa6ef53, 0x804d108
pushl $0x8048d0c
ret发布于 2015-03-26 01:49:11
考虑到它在第2行抱怨oc,我首先检查您的代码实际上不是这样的:
movl $0xfaa6ef53, 0x804d108
pushl $0x8048doc ;; oh-see rather than zero-see
ret这肯定会使它成为一个无效的十六进制数,从而导致一个错误,如您所看到的。
https://stackoverflow.com/questions/29269643
复制相似问题