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]
Если кто-то может ... Скажите, пожалуйста, как выяснить, какой указатель является входным, а какой нет.