问题描述
x00000000000006ca <+0>: push rbp
0x00000000000006cb <+1>: mov rbp,rsp
0x00000000000006ce <+4>: sub rsp,0x10
0x00000000000006d2 <+8>: mov DWORD PTR [rbp-0x4],edi
0x00000000000006d5 <+11>: mov QWORD PTR [rbp-0x10],rsi
0x00000000000006d9 <+15>: cmp DWORD PTR [rbp-0x4],0x1
0x00000000000006dd <+19>: jg 0x6f5 <main+43>
0x00000000000006df <+21>: lea rdi,[rip+0x162] # 0x848
0x00000000000006e6 <+28>: call 0x580 <puts@plt>
0x00000000000006eb <+33>: mov eax,0x0
0x00000000000006f0 <+38>: jmp 0x79d <main+211>
0x00000000000006f5 <+43>: mov rax,QWORD PTR [rbp-0x10]
0x00000000000006f9 <+47>: add rax,0x8
0x00000000000006fd <+51>: mov rax,QWORD PTR [rax]
0x0000000000000700 <+54>: mov rdi,rax
0x000000000000
我得到了一个破解密码,但我一直在想0x00000000000006d9 <+15>: cmp DWORD PTR [rbp-0x4],0x1
如何破解它gdb
我应该设置任何寄存器吗?
解决方法
rbp 或 (ebp) 是基本指针堆栈
0x00000000000006d2 <+8>: mov DWORD PTR [rbp-0x4],edi
0x00000000000006d9 <+15>: cmp DWORD PTR [rbp-0x4],0x1
第 8 行将 edi 移动到指向 [rbp-0x4] 的值指针 然后在第 15 行将其与 1 进行比较