我正在尝试解决 CTF 挑战,但我的深度不够,网上没有什么能帮到我。这就是我目前正在使用的
| 0x55b3fd508a41 4889e5 mov rbp, rsp
| 0x55b3fd508a44 4881ec900100. sub rsp, 0x190
| 0x55b3fd508a4b 89bd7cfeffff mov dword [local_184h], edi ; argc
| 0x55b3fd508a51 4889b570feff. mov qword [local_190h], rsi ; argv
| 0x55b3fd508a58 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=-1 ; '(' ; 40
| 0x55b3fd508a61 488945f8 mov qword [local_8h], rax
| 0x55b3fd508a65 31c0 xor eax, eax
| 0x55b3fd508a67 c78588feffff. mov dword [local_178h], 0x2d ; '-' ; 45
| 0x55b3fd508a71 c7858cfeffff. mov dword [local_174h], 0x32 ; '2' ; 50
| 0x55b3fd508a7b 83bd7cfeffff. cmp dword [local_184h], 1 ; rdi ; [0x1:4]=-1
| ,=< 0x55b3fd508a82 0f8e77010000 jle 0x55b3fd508bff ;[1]
| | 0x55b3fd508a88 488b8570feff. mov rax, qword [local_190h]
| | 0x55b3fd508a8f 4883c008 add rax, 8
| | 0x55b3fd508a93 488b00 mov rax, qword [rax]
| | 0x55b3fd508a96 488d35fb0200. lea rsi, str.calc ; 0x55b3fd508d98 ; "calc"
| | 0x55b3fd508a9d 4889c7 mov rdi, rax
我对线路感兴趣0x55b3fd508a7b,是什么local_184h意思?如何编辑此值以更改即将到来的结果jle?或者,如何更改jle命令的结果而不必更改local_184h?我读到它检查标志标志,所以我将rflags寄存器编辑为0x0080小于它,希望这会改变结果,jle但它没有。