카테고리 없음

[Code Engn Challenge] Basic 10

미숫가루빙수 2024. 3. 31. 11:52

 
 

 문제를 보면 OEP와 OPCODE를 동시에 구해야하는 문제이다.
 
 

 압축을 풀어준 뒤 DIE로 분석해보았다.

ASPack을 다운받아야하는데 이뮤니티 디버거로 그냥 풀어보겠다.
 
ASPACK을 언패킹하는 방법
PUSHAD -> 압축해제 -> POPAD -> OEP
 
 
 

 exe파일을 실행시키면 다음과 같이 뜬다.

 

 RETN 0C로 이동해본다.
POPAD를 찾기위해

 

 RETN 0C 근처에 브레이크를 걸어주고 실행시켜본다.


 아까는 없었던 값이 PUSH에 생긴다.
여기서 445834가 OEP이다.
 
 

 F7을 통해 들어가준 뒤 문장열을 쉽게 분석하기 위해
Shift A를 눌러주면 다음과 같이 바뀐다.
 

 성공을 했다고 뜨는 문자열을 쉽게 찾을 수 있다.
 
 

 더블클릭을 해 이동을 하고 위 쪽으로 가 분기하는 지점을 찾는다.
여기서 75 55가 OPCODE가 된다.
 
 
 
 앞에서 찾은 둘을 합처주면 정답이 된다.