[CodeEngn Basic 11] Do you know StolenBytes?

2017. 8. 20. 09:310x02 Reverse Engineer/0x01. CodeEngn

728x90

문제 : Find the OEP + Find the StolenByte 


바이너리 실행: 


아까 본 파일..?

 

 [그림 1] 키 파일 체크하세요. 


 

 [그림 2] 파일을 찾을 수가 없다. 


또 UPX이다. 


문제의 오류인가... 같은 문제라서 크랙을 해보기로 하자. 


00401025    68 B9204000     push 11.004020B9                         ; ASCII "abex.l2c"

0040102A    E8 5E000000     call 11.0040108D                         ; jmp to kernel32.CreateFileA


abex.l2c라는 걸 생성하라고 한다.


 

 [그림 3] 파일 생성 


재 시작 후 GetFileSize의 반환 값이 0x12가 되어야 한다. 

0x12 => 18 (dec) 


18자리 

aaaaaaaaaaaaaaaaaa 

 

 [그림 4] 조건에 맞게세팅 


 

 [그림 5] eax는 12를 만족한다. 


00401049   /75 15           jnz short 11.00401060

0040104B   |6A 00           push 0x0

0040104D   |68 35204000     push 11.00402035                         ; ASCII "Well done!"

00401052   |68 40204000     push 11.00402040                         ; ASCII "Yep, keyfile found!"

00401057   |6A 00           push 0x0

00401059   |E8 41000000     call 11.0040109F                         ; jmp to user32.MessageBoxA


 

 [그림 6] Ea5Y !!