문제
풀이
문제에서 스택에 0x6fa 값을 넣었다.
<+3>: cmp DWORD PTR [ebp+0x8],0x3a2
스택의 첫 번째 값인 0x6fa와 0x3a2를 비교
<+10>: jg 0x512 <asm1+37>
jg(Jump if greater) : 왼쪽 값이 크면 점프
-> 비교 결과 왼쪽 값이 더 크므로 37번째 줄로 이동
<+37>:cmp DWORD PTR [ebp+0x8],0x6fa
스택의 첫 번째 값인 0x6fa와 0x6fa를 비교
<+44>: jne 0x523 <asm1+54>
jne(Jump if not equal) : 두 값이 다르면 점프
-> 비교 결과 두 값이 같으므로 아랫줄로 이동
<+46>: mov eax,DWORD PTR [ebp+0x8]
스택의 첫 번째 값인 0x6fa를 eax에 복사
<+49>: sub eax,0x12
eax에서 0x12를 뺀 값을 eax에 저장
<+52>: jmp 0x529 <asm1+60>
60번째 줄로 이동
<+60>: pop ebp
<+61>: ret
스택이 pop되고 eax가 반환
0x6e8
'Wargame & CTF > picoCTF' 카테고리의 다른 글
[picoCTF][Forensics]Glory of the Garden 문제 풀이 (1) | 2020.12.23 |
---|---|
[picoCTF][Web]Insp3ct0r 문제 풀이 (0) | 2020.12.23 |
[picoCTF][Reverse Engineering]vault-door-4 문제 풀이 (0) | 2020.12.17 |
[picoCTF][Reverse Engineering]vault-door-3 문제 풀이 (0) | 2020.12.17 |
[picoCTF][Reverse Engineering]vault-door-1 문제 풀이 (0) | 2020.12.17 |