본문 바로가기
Wargame Write-Up/Reversing.kr

[Reversing.kr] (Reversing) AutoHotkey1 풀이

by snwo 2021. 2. 18.

exe 바이너리 하나와 readme.txt 를 준다.

DecryptoKey 와 EXE's Key 를 unhash 하라고 한다.

 

네?

 


 

32bit 바이너리고, UPX 로 패킹되어있다한다.

 

 

일단 upx unpacker 으로 언패킹은 했다.

 

실행했더니 이렇게 뜬다. 혹시 몰라서 다시 패킹 해봤더니 똑같이 뜬다 ;;

아마 CRC값을 체크하는 것같다.

 

언패킹한 뒤, IDA 에서 'EXE corrupted' 문자열을 확인해보자.

 

 

sub_4508C7 함수에서 체크한 다음, 어딘가에 있는 SCRIPT 를 실행시켜 주는 것같다.

 

 

ahk.exe 파일의 CRC값 0x10 바이트를 비교하는 것을 볼 수 있다. 야호

 


패킹된 정상파일을 x96dbg 로 디버깅해보자.

EntryPoint 에서 멈추는데, pushad 로 레지스터를 다 넣고, 언패킹하는 과정에 들어간다.

 

Ctrl+f 를 눌러서 popad 명령어를 찾는다. jmp ahk.442B4F 여기가 OEP 일 것이다. 

브포를 걸고 따라가본다.

 

OEP 에서 GetVersioninfo, GetStartupInfoA, 등을 호출하고, 진행하다보면 command line 을 가져오는 것을 볼 수 있는데, IDA 에서 WinMain 의 위치를 확인해보면 44770D 으로 되어있다. 여기가 WinMain 이다.

 

아까 분석한 함수의 이름은 sub_4481E0 이다. 0x4481E0 에 브포를 걸고 F9 으로 실행한다.

 

이제 0x4508C7 (CRC 검사)에 브포를 걸고 계속 실행해보자.

anch0vy.tistory.com/20

 

autohotkey 크랙프로그램

[!]import 문제 수정중.... [*]import 문제 해결 autohotkey 크랙 프로그램입니다. exe2ahk 프로그램을 쓸때 비밀번호가 필요한 경우 이 비밀번호를 크랙해주는 프로그램입니다. 법적 문제가 있으.... 려나?

anch0vy.tistory.com

autohotkey 관련 구글링 해봤더니, 디컴파일 비밀번호가 있으면 exe 파일을 디컴파일 할 수 있다는데,

블로그에 나와있는 어셈코드가 디컴파일 비밀번호를 만드는 코드라네요

마침 비슷해보이는 부분이 있길래 pop ebx 를 하기 전에 bp를 걸고 확인해봤더니 이상한 문자열이 있었다.

이게 Decrypt Key 인 것같다.

 

 

위에서 말한 EXE's KEY 가 이거같다. 

 

x96dbg 로 돌아와서, 계속 실행하다보면, SCRIPT 를 가져와 복호화 하는 부분이 있다.

그래서 실행하다보면 복호화된 SCRIPT 가 뜬다.

이걸 입력하면, 맞다고 뜬다. 

 

야호