集会:"垃圾`oc'表达后#34;

时间:2015-03-26 01:37:27

标签: gcc assembly

我正在尝试生成以下汇编代码的十六进制表示。我正在做一个缓冲区溢出实验室,我需要将命令放入堆栈。当我尝试使用命令编译以下代码时:

gcc -m32 -c assemblylevel2.s

我收到错误:

  

assemblylevel2.s:2:错误:表达式之后的垃圾“oc”

我尝试了使用mov,movl,push,pushl的不同排列的代码。这一切都会产生相同的错误。我怎样才能编译它?

assemblylevel2.s:

movl $0xfaa6ef53, 0x804d108
pushl $0x8048d0c
ret

1 个答案:

答案 0 :(得分:3)

鉴于它在第2行抱怨oc,我首先要检查你的代码是否

movl $0xfaa6ef53, 0x804d108
pushl $0x8048doc             ;; oh-see rather than zero-see
ret

这肯定会使它成为无效的十六进制数,因此会导致错误,例如您所看到的内容。