在一页中隔离指令

时间:2019-07-08 12:08:47

标签: c assembly x86 gdb

我已经用一个程序集添加指令编写了主要功能。根据GDB,代码是

(gdb) disass /r main
Dump of assembler code for function main:
   0x00000000004004ed <+0>: 55  push   %rbp
   0x00000000004004ee <+1>: 48 89 e5    mov    %rsp,%rbp
   0x00000000004004f1 <+4>: 01 c1   add    %eax,%ecx
   0x00000000004004f3 <+6>: 5d  pop    %rbp
   0x00000000004004f4 <+7>: c3  retq   
End of assembler dump.

当我查看IP并在其后打印内存内容时,我看到了

(gdb) x/10x $rip
0x4004f1 <main+4>:  0xc35dc101  0x1f0f2e66  0x00000084  0x41900000
0x400501 <__libc_csu_init+1>:   0xff894157  0x89495641  0x495541f6  0x5441d589
0x400511 <__libc_csu_init+17>:  0xf8258d4c  0x55002008

实际上,我想将我的add %eax, %ecx放在一页中,并与之隔离。在这里,我没有有关页面的信息,也不知道addretq是否在同一页面中。

有何评论?

PS:如您所见,c3中的0xc35dc101retq指令。问题是,随后的字节是什么?

0 个答案:

没有答案