sweetchip's blog


크랙미를 풀던중 unpack-me 로 넘어가게 되었는데, 패킹이 되어있던것은 일반 upx 패킹이었고,


upx는 간단하게, 정말 간단하게 언패킹이 가능하다.


upx 패킹의 특징은 가장 맨 아래에, Original Entry Point 로 갈수 있는 Jmp 문이 있어서, 바로 찾아갈수 있다.


사용 툴은 덤프를 뜨기 위한 Olly-dbg 와 IAT 복구를 위한, Lord-pe 이다.


가장 먼저





가장 먼저 올리디버거로 upx 로 패킹된 프로그램을 불러오자.





'이거 암호화나 패킹되어있어서 분석에 영향을 줄수 있는데 계속 할건가요?'


이런 경고문도 그냥 남자답게 예를 눌러주자




올리디버거가 경고한대로 왠지 이상하다. 평소에 보던 entry point 가 아닌데, 당연히 우린 upx 란걸 알고 있으니


가장 하단으로 내려가서부터 jmp을 찾는다.




보는것과 같이 JMP program, 01012475 가 바로 oep 로 점프시켜버리는 구문이다.


이제 과정은 60퍼센트 끝났다.


일단 01020DCB 주소에 Break-point 를 설정한다.






01020DCB에 break-point 를 걸어놓은 상태이다.


그리고 프로그램을 실행시킨후, BP에서 걸리면 F8 키로, 다음 부분으로 넘어간다.






지금 보는거과 같이 이것이 바로 OEP 지점이다.


01012475 가 바로 OEP 이다.


이제 언팩 과정이 끝났으니, 이대로 다시 덤프를 떠야 한다[저장 해야 한다].






Dump debugged process 를 눌러서





하단 체크박스 Rebuild Import 를 선택 해제 시키고, 따로 설정할것은 없으니, 바로 Dump 를 누른다.


덤프를 누르면 어느곳에 저장할지 나오는데, 그곳에 덤프를 저장한다.


이제 신나는 마음으로 프로그램을 실행시켜 본다.





그 순간 에러가 나를 반겨준다.


아마 upx 언팩을 하는 분들 모두 이 오류가 나올것이다.


이 오류가 나오는 이유는 덤프를 뜨고 나서 Import Address Table 가 손상되었기 때문이다.


그러므로 이제 다시 복구를 시켜 줘야 하는데.. 프로그래밍을 다시해야 되나..??


아니다.


이런 상황을 위해 나온 간단한 툴이 있다.


이번에 사용 할것은 LordPe 라는 프로그램이다.


나는 아직 초보자라서 pe를 복구 하는데만 사용한다.. :(


없는 분을 위해 다운로드 링크를 마련했다 :)



lordpe.zip





프로그램 실행후, Rebuild Pe를 누르고, 방금 덤프를 떳던 프로그램을 선택하고


IAT 를 복구 시킨다.




1초도 안되서 끝났고, 프로그램을 다른이름으로 저장되지 않고,


선택했던 프로그램을 그대로 복구 시킨다.


그래서 다른곳에서 찾을 필요는 없다.



실행결과 PE 오류는 나오지 않고, 프로그램은 잘 실행이 된다. ^^


신고

Comment 10

  • 2012.10.03 21:00 신고 수정 답글

    쓰시고 계신 올리디버거 알집좀 받을수 있을까요?ㅎㅎ

    검은배경이 눈안아프게 생겨서 좋아보이네요.

    연락 바랍니다 :)

    그리고 upx언패킹 보느라 여기 알게됬는데 잘 정리하셨네요.

    감사합니다 (__)

    • 2012.10.03 21:00 신고 수정

      아.. 메일주소는 67sooon@naver.com 입니다

      번거로우시더라도 한번쯤 시간내주셨으면 좋겠어요 :)

      감사합니다

    • 2012.10.03 22:15 신고 수정

      답변드렸습니다.

      감사합니다.

  • 오굿잡
    2013.06.25 20:22 신고 수정 답글

    좋은정보 감사합니다
    실례지만 저도 님이쓰시는
    올리디버거 공유가능하신가요?
    잘 안보여서 그렇습니다
    만약되시면 alsrnr90932@naver.com
    으로 좀 . ..부탁드려요ㅠ

  • 밍밍
    2013.11.05 16:23 신고 수정 답글

    저도좀 부탁드리면 안될까요 ㅠㅠ?
    tnslr2@naver.com 저두 간곡히 부탁드립니다..ㅠㅠ

  • 밍밍
    2013.11.13 20:42 신고 수정 답글

    감사합니다..!! 꼭 부탁드릴꼐여^^

  • 밍밍
    2013.11.13 20:44 신고 수정 답글

    바쁘신가봐여;; 아직안왔네여;; 시간나실때 꼭좀 부탁드려여 ㅠㅠ

    • 2013.11.13 22:18 신고 수정

      안녕하세요. 보내드렸습니다.

      메일에도 적어드렸지만 약속을 때맞춰 지키지 못해 죄송합니다.

      감사합니다.