0
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 方面还很陌生,但我正在进步。但有一件事让我很沮丧。在这个 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]

如果有人可以...请告诉我,如何弄清楚哪个指针是输入的,哪个不是。

4

0 回答 0