-->

[reversing.kr] Easy Unpack 풀이

반응형

[reversing.kr] Easy Unpack 풀이

이번 문제는 실행파일의 OEP를 찾는 문제로 시작은 GetProcAddress 함수 호출로 이루어져 있다. 원래 실시간 바이러스 겁사를 계속 꺼주었다 켜주었다 하는게 귀찮아서 Windows7 가상머신에서 문제를 푸는 편인데 이번 파일은 윈7에서 실행시키니 자꾸 GetProcAddress에서 함수를 못찾고 0을 리턴해서 윈10에서 풀기로 했다.  

 

 

 

보통 OEP를 찾기 위한 방법으로 pushad&popad(OEP로 점프하기 전에 처음 레지스터 상태를 스택에 보원해놓고 백업하기 위함)를 찾고 popad 밑에있는 jmp문을 확인하는 방식이 있는데 너무 많다. 많은건 둘째치고 앞에 몇개정도 테스트해봤는데 정상적인 popad 코드가 아니거나 실행 루틴에 포함이 안되어있거나 했다. pushad도 마찬가지로 많아서 이 방법은 사용하면 안될 것 같다.

 

 

 

처음 EP부분에서 코드를 쭉 내려서 살펴보면 다행히도 코드가 그리 길지가 않다. 그리고 보통 OEP로 점프하는 코드 다음에는 옵코드 0으로 채워있는 경우가 많은데 처음 EP에서 큰 루프 몇개를 지나고 나면 그런 부분이 바로 있었다. jmp 부분에 bp를 걸고 실행시켜 보면 OEP를 찾을 수 있다.

 

 

'리버싱 > reversing.kr' 카테고리의 다른 글

[reversing.kr] ImagePrc 풀이  (0) 2020.03.10
[reversing.kr] Replace 풀이  (0) 2020.03.09
[reversing.kr] Music Player 풀이  (0) 2020.03.08
[reversing.kr] Easy Keygen 풀이  (0) 2020.03.07
[reversing.kr] Easy Crack 풀이  (0) 2020.03.06

댓글

Designed by JB FACTORY