CodeEngn Reversing Advance_Level01


실행 시 모습이다. 확인을 누르지 않으면 알아서 종료된다.

UPX 패킹이 되어있다.

패킹을 풀고 난 뒤 PEiD 결과이다.

올리 디버거에 올리니 에러가 뜬다. 에러의 내용을 보니 이 프로그램은 AutoIt으로 쓰였다.
오토잇(Autoit)은 마이크로소프트 윈도를 위한 프리웨어 자동화 언어이다. 초기 버전은 주로 마이크로소프트 윈도의 프로그램을 위한 자동화된 스크립트를 만드는 데에 사용되었다. 그러나 지금은 전반적인 디자인과 기능 모두에서 향상된 기능을 포함하는 프로그래밍 언어로 발달하였다. 위키백과
Autoit으로 작성한 프로그램은 앞 부분은 일반적인 EXE형태이고, 뒤쪽에는 스크립트 내용이 압축되어 저장된다고 한다.

Autoit decompiler를 이용하여 스크립트를 읽어왔다. 맨 뒤의 인자를 보니 13.179, 즉 13179 밀리초 후에 종료된다. 13179를 MD5로 해시하면 DB59260CCE0B871C7B2BB780EEE305DB이다. 즉, flag는 DB59260CCE0B871C7B2BB780EEE305DB이다.