문제 종류 - Reversing
사용한 툴 - IDA, gdb
냐하하하하
풀이
ELF 파일이다. IDA에 돌려봤다.
빨간 네모로 표시한 부분이 flag를 얻기 위해 필요한 로직이다.
대충 구조를 알았으니 gdb로 실행해보자.
gdb -q ./handray
set disassembly-flavor intel
disas main
rbp-0x4 지점에 1을 옮겨놓고, 느닷없이 0과 rbp-0x4를 비교하여 jne구문을 실행한다.
rbp-0x4 값을 0으로 설정하고 구문을 실행해보자.
먼저 rbp 값을 알기 위해 다음 명령어를 실행한다.
b *0x400535
r
i r rbp
rbp의 주소는 0x7fffffffe530이니, 다음 명령어를 실행해, 0x7fffffffe52c의 값을 0으로 바꿔보자.
x/16x 0x7fffffffe520
set {int}0x7fffffffe52c = 0
자, 이제 main 함수를 끝까지 실행해보자.
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] Keygen 풀이 (200p) (0) | 2020.07.12 |
---|---|
[HackCTF] Strncmp 풀이 (150p) (0) | 2020.07.12 |
[HackCTF] Reversing Me 풀이 (100p) (0) | 2020.07.12 |
[HackCTF] Welcome_REV 풀이 (50p) (0) | 2020.07.12 |
[HackCTF] Classic Cipher -4 풀이 (250p) (0) | 2020.07.12 |