-
주어진 파일
1. ahk.exe
2. readme.txt
readme에 보면
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- AuthKey = un_md5(DecryptKey) + " " + un_md5(EXE's Key) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Ex:) DecryptKey = 1dfb6b98aef3416e03d50fd2fb525600 EXE's Key = c944634550c698febdd9c868db908d9d => AuthKey = visual studio
이렇게 쓰여 있는 데... 도저히 문제가 안가네요...
upx 패킹이 되어 있길래 한번 upx로 한번 언패킹을 해보았는 데,
위처럼 오류가 뜨더군요..
아마도 md5가 해쉬함수니까, exe 파일의 해쉬값도 이용하는 거 같아요. (아닐 수도 ^^...)
그래서 upx 언패킹을 이용하는 게 아니라, 아마도 upx 패킹이 되어있는 상태로만 프로그램이 실행되게 만든 거 같아요. 파일의 해쉬값을 한번 확인한다던지 하는 방법으로 ㅇㅇ (언패킹하면 파일 크기가 달라지니까...)
그래서, 저는 언패킹을 하지 않고 디버거를 통해서 분석을 해보려고 합니다.
보통 패킹이 되어있는 파일의 경우에는 패킹을 풀어야 하지만^^....
upx 처럼 뻔한 패킹을 해두진 않았겠죠?
저번에 kaboom 문제의 경우에도 upx툴을 이용해서 언패킹을 하면 언패킹 과정에서 결정적 힌트를 없애는 문제였습니다. 그래서 언패킹을 직접 손으로 해보도록 하겠습니다.
사실 언패킹을 손으로 한다고 하긴 뭐하고, 그냥 디버깅을 해보면 바로 언패킹 된 상태로 프로그램이 실행 될테니, 언패킹이 됩니다(?)
디버깅 상태에서 한번 string 검색을 해보았습니다.
진짜 정말 놀랍게도 패스워드가 있네요...
pwd== "54593f6b9413fc4ff2b4dec2da337806"
... 좀 문제를 성의있게 냈으면 좋겠네요 ㅎㅎ...
도저히 못찾겠어서 다른 사람들의 풀이를 조금 참고했는 데..
레지스터를 잘 보아야 한다고... 하네요....
IDA 디버거가 정말 편하다고 생각했는 데, x64dbg를 사용해야 할 때가 정말 가끔 있네요..
레지스터의 값을 보여주는 것은 아이다보다 이 친구들이 더 잘하는 것 같아요..
포인터작업을 IDA는안해줘서..
하여튼,, EXE 에러문구 뜨는 거 앞의 함수를 F8을 통해서 한없이 분석하다보면 값이 나온데요..
220226394582d7117410e3c021748c2a ...
와.. 개뻘짓했네....
ahk 가 진짜 옛날에 exe프로그램 디컴파일하는 툴이 있었다고 하네요..exe2ahk 라고...
근데 이 툴이 비밀번호가 있는 데 너무 취약해서 찾는 방법이 다 나와있었다고 하네요..
'Writeup > Wargame_Writeup' 카테고리의 다른 글
[ Reversing.kr ] x64 Lotto Writeup (0) 2020.02.28 [ Reversing.kr ] CSHOP writeup (0) 2020.02.28 [Reversing.kr] Ransomware (0) 2020.02.07 [Reversing.kr] Position.exe (0) 2020.02.07 [Reversing.kr] Direct3D_FPS (0) 2020.02.07 댓글