cmp DWORD PTR [rbp-0x4],0x1 是什么意思

时间:2021-07-08 02:07:21

标签: gdb assemble

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我应该设置任何寄存器吗?

1 个答案:

答案 0 :(得分:0)

rbp 或 (ebp) 是基本指针堆栈

   0x00000000000006d2 <+8>: mov    DWORD PTR [rbp-0x4],edi
  
  0x00000000000006d9 <+15>:    cmp    DWORD PTR [rbp-0x4],0x1

第 8 行将 edi 移动到指向 [rbp-0x4] 的值指针 然后在第 15 行将其与 1 进行比较