요즘 VM 코드 분석을 익히기 위해서 이런저런 자료를 찾던 중에...

멋진 플러그인을 하나 발견했습니다... +_+;;

이름하여~ "Oreans UnVirtualizer v1.3" !!!..

Themida/WinLicense 등의 VM 코드를 다시 원래 코드로 복원시켜주는 플러그인입니다~~

테스트 샘플 원본 코드


위와 같은 샘플코드를 만들어서 테스트를 해봤습니다.

박스로 둘러쌓인 부분이 VM 코드로 변환되는 부분이죠~

샘플을 Themida 로 패킹한 다음~~ 플러그인을 돌려봤습니다.


플러그인을 사용할 VM_START


아래와 같은 결과물을 뱉어내더군요....


플러그인 사용후 출력된 원본 코드



출력된 코드랑~~ 샘플의 원본 코드랑 =_=;; 같은 코드인거죠...;;;

간단한 코드라고는 하지만 멋지지 않습니까~~!? ㅋ...


물론 Themida 패킹할 때의 VM 설정값에 따라서 복원이 불가능한 경우도 있겠지만~~

Normal 설정값에 만이라도 복원이 가능하다면 분석 작업이 훨씬 수월해질 거 같네요~~ :)

요 플러그인~ 연구좀 해봐야겠네요..ㅋㅋ

ps... 조금 아쉬운 점이 있다면 플러그인이 로딩될때 cfg 파일 4개를 여는데..;;;
       해당파일을 읽어오는 경로가 상대경로로 되어있는게 좀 불편하네요...
       ( 파일을 못찾으면 메시지 박스를 띄우기 땜에...;;; )




출처 : Tuts 4 You (http://www.tuts4you.com)


'Reverse Engineering > RCE Tools' 카테고리의 다른 글

XueTr 0.44 업데이트~~  (2) 2011.11.25
XueTr 0.42 업데이트~~  (0) 2011.09.07
Oreans UnVirtualizer v1.3 (OllyDbg Plugin)  (2) 2011.08.07
OllyDbg 2.01 - alpha 4 업데이트~ (2011.08.03)  (0) 2011.08.06
PEView 0.9.9.0 업데이트~  (0) 2011.07.31
XueTr 0.41 업데이트~~  (0) 2011.07.01
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST
  1. BlogIcon 6l4ck3y3 2011.08.07 21:44  댓글주소  수정/삭제  댓글쓰기

    더미다 전용인가요?
    virtual opcode 테이블을 변경하여도 복구가 되는건가요?

    • BlogIcon XeroNic(HS) 2011.08.07 22:32 신고  댓글주소  수정/삭제

      음.. 일단 Themida/WinLicense/CodeVirtualizer 용이라고 되어는 있는데..
      테스트해본건 Themida 구요..
      CISC 타입에 대해서만 해봤습니다...
      근데.. Opcode 테이블을 변경한다는게 뭘 얘기하는거죠..??
      Dynamic Opcode 를 얘기하시는 건가요~??

      Tuts 4 You 에 기능 목록에는..
      [Features]

      - Supports WinLicense/Themida/CodeVirtualizer Cisc Machines
      - Supports almost all common opcodes
      - Supports CHECK_MACRO_PROTECTION
      - Supppots MultiBranch Tech

      요렇게 나와있네요..

      글에서도 언급했지만 VM 설정에 따라~
      분명히 복원할 수 없는 경우도 있을겁니다.. ^^;;