【发布时间】:2015-04-06 02:20:52
【问题描述】:
0x08048c62 <+0>: sub $0x2c,%esp
0x08048c65 <+3>: lea 0x1c(%esp),%eax
0x08048c69 <+7>: mov %eax,0xc(%esp)
0x08048c6d <+11>: lea 0x18(%esp),%eax
0x08048c71 <+15>: mov %eax,0x8(%esp)
0x08048c75 <+19>: movl $0x804a73d,0x4(%esp)
0x08048c7d <+27>: mov 0x30(%esp),%eax
0x08048c81 <+31>: mov %eax,(%esp)
0x08048c84 <+34>: call 0x80488d0 <__isoc99_sscanf@plt>
=> 0x08048c89 <+39>: cmp $0x1,%eax
如何打印最后一条指令中$0x1 的内容?
我尝试了所有组合
x/d 0x1
x/d $0x1
x/s $0x1
...
...
但我要么得到 错误:无法访问地址 0x1 处的内存,或者无法将值转换为整数(即使我尝试将类型更改为 c、s、x、a)
最终,我试图找出传递给scanf 的参数,即“%d %d %c”
【问题讨论】:
标签: assembly x86 gdb reverse-engineering