콘텐츠로 건너뛰기

AutoHotkey1

readme.txt

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

AuthKey = un_md5(DecryptKey) + " " + un_md5(EXE's Key)

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Ex:)
 DecryptKey = 1dfb6b98aef3416e03d50fd2fb525600
 EXE's  Key = c944634550c698febdd9c868db908d9d
 => AuthKey = visual studio

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

By Pyutic

Exeinfo PE

UPX로 패킹이 되어 있다.

Analysis

언패킹된 바이너리를 실행해보면,
EXE corrupted 메시지가 떠서 패킹된 바이너리를 상대로 디버깅을 진행해보았다.

OEP는 0x442B4F이다.

Exe의 유효성 검사를 진행하는 sub_4508C7에서 에필로그 바로 전 과정에 브레이크포인트를 걸고,
[esi+0Ch] 주소를 확인해보면,

Stack[00001110]:0087FC44 a220226394582d7 db '220226394582d7117410e3c021748c2a',0

exe key값을 확인할 수 있다.

extract 끝난 뒤의 0044834B 주소에다가 브레이크포인트를 걸고

debug059:02E30700 aCompilerV10485 db '; <COMPILER: v1.0.48.5>',0Dh,0Ah
debug059:02E30719 db 'inputbox,pwd',0Dh,0Ah
debug059:02E30727 db 'if (pwd== "54593f6b9413fc4ff2b4dec2da337806"){',0Dh,0Ah
debug059:02E30757 db 9,'MsgBox',0Dh,0Ah
debug059:02E30760 db '}',0Dh,0Ah

걸리면, Script 압축해제가 끝난 후의 내용은 [ebp+64h]([ebp+6Ch+Block])주소에 적힌 주소를 확인해보면 알 수 있다.

220226394582d7117410e3c021748c2a -> isolated

54593f6b9413fc4ff2b4dec2da337806 -> pawn

FLAG

isolated pawn

태그:

답글 남기기