또 뭐하지
[Dreamhack] simple-operation 본문
728x90
풀이
IDA를 통해 chall의 main 함수 코드를 살펴보면
1. Random number v6와 사용자 입력값 v7을 xor하여 v11을 얻는다
2. s1은 s(=v11)을 거꾸로 저장한 것이다
3. s1=s2=a0b4c1d7과 같으면 flag를 출력한다
Random number와 입력값의 xor 값이 7d1c4b0a와 같으면 된다. 즉, 7d1c4b0a와 Random number를 xor한 값을 입력해주면된다.
from pwn import *
r = remote('host3.dreamhack.games', 21711)
r.recvuntil(b': ')
a = r.recvline()
a = a.decode('utf-8').strip()
b = int(a, 16)^ 0x7d1c4b0a
b = str(b).encode()
r.sendlineafter(b'?', b)
r.interactive()
위의 작업을 실행하는 코드를 작성했다. 그리고 실행해보면 아래와 같이 flag를 얻을 수 있다.
'Write-up > Reversing' 카테고리의 다른 글
[Dreamhack] rev-basic-4 (0) | 2024.05.13 |
---|---|
[Dreamhack] rev-basic-3 (0) | 2024.05.13 |
[Dreamhack] rev-basic-2 (0) | 2024.05.13 |
[Dreamhack] rev-basic-1 (0) | 2024.05.13 |
[Dreamhack] rev-basic-0 (0) | 2024.05.09 |