1. 문제 파일 실행
문제 파일(06.exe) 실행 시 시리얼값을 입력받아 확인하는 메세지창이 뜬다.
2. PEiD로 패킹 정보 확인 및 upx 언패킹
PEiD로 확인 결과 upx로 패킹되었음을 알 수 있다.
upx.exe와 문제 파일을 같은 위치에 두고 그 위치에서 powershell(or cmd)를 열어 upx 언패킹을 진행한다.
3. OEP 및 Serial 확인
언패킹 후 디버거로 파일을 열어 분석을 시작한다.
정답 인증에 OEP(Original Entry Point)가 필요하기 때문에 디버거에서 파일 실행 시 가장 먼저 위치하는 진입 지점 00401360을 기억해놓자.
마우스 오른쪽 버튼 클릭 -> Search for -> All referenced text strings 로 프로그램 내 문자열을 확인한 결과
시리얼번호로 추정되는 문자열을 찾았다.
정답 인증은 OEP(Original Entry Point) + Serial이므로 00401360AD46DFS547을 입력하니 성공했다.
OEP 개념, UPX 언패킹, Strings 분석을 이용해 풀 수 있는 문제였다.
'해킹 공부 > 리버싱' 카테고리의 다른 글
CodeEngn_Basic RCE L14 (strings, CMP, EAX/ESI값) (0) | 2022.11.15 |
---|---|
CodeEngn_Basic RCE L13 (C# 디컴파일) (0) | 2022.11.10 |
CodeEngn_Basic RCE L12 (strings, hexedit) (0) | 2022.11.10 |
CodeEngn_Basic RCE L11 (OEP, stolenbyte) (0) | 2022.11.06 |
CodeEngn_Basic RCE L03 (0) | 2022.09.25 |