This code is from the picoCTF 2018:
asm3:
push ebp
mov ebp,esp
mov eax,0xbc
xor al,al
mov ah,BYTE PTR [ebp+0x9]
sal ax,0x10
sub al,BYTE PTR [ebp+0xc]
add ah,BYTE PTR [ebp+0xd]
xor ax,WORD PTR [ebp+0x10]
mov esp, ebp
pop ebp
ret
我在解决CTF方面还很陌生,但是我正在进步。但是有一件事使我感到沮丧。在这个周转资金中,给出了3个输入。但是按照我的逻辑。有4个 (我不需要CTF的提示,因为我已经通过将此作为asm函数并提供输入来解决它了) 但是按照我的逻辑,这应该像:
Enter 4 inputs: *User Entered 3*
Error. 4th input not found
但是实际上...它给出了正确的答案。没错。在我看来,输入是:
1) BYTE PTR [ebp+0x9]
2) BYTE PTR [ebp+0xc]
3) BYTE PTR [ebp+0xd]
4) WORD PTR [ebp+0x10]
如果有人可以...请告诉我,如何弄清楚,输入的是哪个指针,而不是。