UPX 로 패킹된 파일을 OllyDBG 를 이용하여 언패킹하는 과정에 대하여 알아 보겠습니다. 언패킹을 하기 전 필요한 툴 들이 있습니다. - OllyDBG, OllyDump, LordPE, PEID OllyDump의 경우는 플러그인으로 설치하시면 됩니다. 우선 언패킹을 하기 위해서는 해당 파일이 어떤 종류로 패킹이 되었는지 확인 할 필요가 있겠죠.. PEID 툴을 이용하여 확인 해 봅니다. 타겟 파일을 선택하니 UPX로 압축이 되었다고 나오네요.. |
그럼 타겟 파일을 OllyDBG로 불러옵니다. UPX 방식은 맨 마지막에 OEP (Original Entry Point)로 갈 수 있도록 표시를 해놓기 때문에 프로그램 코드 맨 밑에서 부터 훑어보면 JMP 명령어를 찾을 수 있으며 점프 명령어가 가리키는 곳이 OEP 입니다. 실제 프로그램에 진입하는 지점이라고 보시면 됩니다. |
다음으로 JMP 명령어에 F2를 눌러 BP(Brack Point)를 걸어 두고 F9를 누르면 BP를 걸어 둔 곳에서 멈추게 됩니다. |
여기에서 F8을 눌러 한 단계 진행해봅니다. 새로운 코드들이 보이시죠? 이 부분이 바로 OEP입니다. |
이제 이 부분을 덤프를 뜨면 됩니다. 해당 코드에서 마우스 우측 클릭하여 [Dump debugged process]를 클릭 한 후 파일로 저장합니다. |
이 때 [Rebuild Import] 부분은 체크 해제한 후 Dump 버튼을 클릭하여 새로운 이름으로 저장합니다. |
저장 된 파일을 실행 시켜보면 에러가 나는데 LordPE 툴을 이용하여 오류난 파일을 복구 해 주기만 하면 됩니다. |
정상적으로 언패킹이 되었는지 PEID 툴을 이용하여 확인 해 보니 Borland Delphi로 만들어졌네요.. |
저는 주로 툴 을 이용하여 언패킹을 하지만 잊어버리지 않기 위해서 가끔씩 수동으로 해보기도 합니다. 이 놈의 뇌구조가 오래 저장하지 못해서이기도 하구요 ㅋㅋ |
'할롬::컴터 > 정보보안' 카테고리의 다른 글
윈도우 명령어로 작업 스케줄 설정하기 (0) | 2012.03.13 |
---|---|
윈도우 / 리눅스 명령어를 이용하여 원하는 크기의 파일 생성하는 방법 (1) | 2012.03.13 |
Outlook 실행 시 mcou.dll 오류문제 해결방법 (1) | 2011.10.20 |
[보안상식] 윈도우 무한 재부팅 원인 확인 및 해결 방법 (0) | 2011.09.16 |
Adobe Flash Player 최신버전으로 업데이트 (0) | 2011.08.29 |