https://codeengn.com/challenge/rce_advance/
CodeEngn [코드엔진] 리버스엔지니어링 컨퍼런스
CodeEngn Challenge 리버스엔지니어링을 어느정도 접한 분들을 위한 중급 단계 Manager >> Auth | Checkin List | Hall of Fame Challenge >> Basic | Advance | Pro | Malware | Crypto | Mobile RCE Advance Level Description Author Download Adv
codeengn.com

일단 파일을 실행하기 전 detect it easy를 통해 패킹을 확인해보자

이번에는 패킹이 되어있지 않은 모습이다
프로그램을 실행해보자

프로그램을 실행하면 이러한 모습이 나온다
name에 CodeEngn을 넣고 적절한 Serial 값을 입력하면 올바른 문구를 출력하는 듯하다

일단 올리디버거를 통해 분석을 해보자

일단 시리얼 값을 비교하는 함수가 존재할 것이다
search for all intermodular calls 를 통해 살펴보자

lstrcmpA 함수가 눈에 들어온다 저 위치로 이동하여 확인해보자

실패 문구와 함께 함수가 위치한 상태이다
String1과 String2에 들어온 값을 비교하는 듯하다
00401196에 breakpoint를 걸어 확인해보자

테스트삼아 1234를 입력하였더니 String2에는 입력한 값이 들어간 것을 알 수 있다
String1이 우리가 입력해야하는 적절한 문자열인듯 하다
다시 실행하여 확인해보니


성공이다!
'CodeEngn' 카테고리의 다른 글
| [CodeEngn]Advance RCE 06 Write Up (5) | 2024.10.31 |
|---|---|
| [CodeEngn]Advance RCE 05 Write Up (8) | 2024.10.30 |
| [CodeEngn]Advance RCE 04 Write Up (0) | 2024.09.11 |
| [CodeEngn]Advance RCE 02 Write Up (2) | 2024.09.09 |
| [CodeEngn]Advance RCE 01 Write Up (2) | 2024.09.07 |