PRODRAMMER


ReversingKr UnpackMe


Find the OEP

ex) 00401000 



프로그램을 실행시켜 보면



아무것도 없네요.

오로지 언패킹 후의 OEP를 구하면 될거 같습니다.



PEiD로 분석한 결과도 별다른게 없네요



OllyDbg로 프로그램을 불러오면 위와 같은 창이 뜹니다.


압축된 프로그램으로 예상된다는 창이므로 다음으로 넘어갑시다




※※패킹된 파일은 언패킹을 진행한 후에 마지막으로 OEP로 가서 프로그램을 정상실행합니다.

그러므로 언패킹을 한 후에 점프하는 부분을 찾으면 됩니다.


EP에서 마지막 부분으로 가면

 JMP 401150 명령어가 보입니다.

401150이 OEP로 추정됩니다.


제출해보니 맞네요...







너무 빨리 끝나니... 언패킹을 진행하는 코드를 분석해보도록 하겠습니다.


↑ 패킹을 해제하기위해 필요한 라이브러리와 API를 불러오기위해 LoadLibrary와 GetProcAddress를 로드시켜놓습니다.


↑ 409000 ~ 4094EE 영역의 패킹을 해제합니다


↑ VirtualProtect API로 405000 ~ 406000의 메모리 영역읠 읽기쓰기 권한으로 변경합니다


↑이부분은 조금 복잡하더군요.


복구하는 데이터를 봤을 때는 IAT를 복구하는 코드 같습니다.


↑ 401000 ~ 405000의 영역에 READWRITE권한을 부여한후에

데이터를 복구합니다.


↑ 406000 ~ 409000 영역에 READWRITE권한을 부여한후에

데이터를 복구합니다.





'WarGame > Reversing.kr' 카테고리의 다른 글

[reversing.kr] Replace  (0) 2017.01.25
[reversing.kr] Easy Keygen  (0) 2017.01.19
[reversing.kr] Easy Crack  (0) 2017.01.19