OutDoorFrog의 리버싱 이야기
Ajou OpenCTF 2018 WriteUp [Arm_Reversing] 본문
편안한 개구리입니다.
암드 캔 두 애니띵, WriteUP을 시작하겠습니다.
.
.
.
.
.
.
우리는 리버싱을 할려면 3가지 요구 조건을 만족해야합니다.
해당 CPU 아키텍쳐를 아는가?
해당 어셈블리어를 아는가?
리버싱 환경이 구성이 되었는가?
저는 환경 구성, CPU 아키텍쳐, 어셈공부까지 했습니다만..
좀 더 좋은 방법 급박한 대회에서 점수를 버는 방법이 있습니다.
Hex-Ray사에서 제공하는 디컴파일 기능을 이용하는 것입니다.
급박한 상황에서 애용하는 기능 중 하나지만 공부할 때는 지양하는 기능입니다.
(뭐니뭐니 해도 핸드-레이가 공부에 최고)
1. IDA
이렇게 상당히 희귀한 문제는 난이도가 그만큼 너프되기 마련입니다.
2. 디컴파일
사스가 Hex-Rays;;;;
저는 이거 디컴파일 하는데 2시간 걸렸습니다.
3. 조건 추리
(n1 + n2 == 5) & (n1 - n2 == 1)
이 두 조건을 같이 만족하는 숫자는?
'3', '2' 일겁니다.
3+2 == 5
3-2 == 1
Flag = md5.Encrypt(3,2)
음.. 대부분의 문제에서는 디컴파일이 통하지 않습니다.
다만 이러한 기능이 통한다면
"시간 벌었다" 라고 생각한 후 플래그 구하시면 됩니다.
'공부 > CTF 문제 풀이' 카테고리의 다른 글
Ajou OpenCTF 2018 WriteUp [recovery] (0) | 2018.09.28 |
---|---|
Ajou OpenCTF 2018 WriteUp [gui montag] (0) | 2018.09.28 |
Ajou OpenCTF 2018 WriteUp [Simple Reversing] (0) | 2018.09.27 |
HackingCamp2018 CTF WriteUp(TheEnd) (3) | 2018.09.11 |
HackingCamp2018 CTF WriteUp(Yee.exe) (1) | 2018.09.08 |
Comments