분석 TIP/프로텍션
VMProtect 메뉴얼 언패킹 방법
두유노우컴퓨터
2025. 4. 28. 10:55
1. 패커를 확인 후 x32/64dbg 디버거를 통해 VMP로 패킹된 파일을 연다.
2. 비어있는 .text 섹션에 하드웨어 브레이크 포인트를 쓰기로 걸어 둔다.
3. 실행(F9)를 할 경우 .text 섹션에 첫번째 바이트에 실제 코드가 쓰여진다.
4. 이후 해당 위치에서 `CTRL+F9(Execute till Return)`을 입력하면 리턴 명령을 만날때까지 실행하여 패킹이 풀린다.
5. OllyDumpEx 플러그인을 통해 덤프를 떠서 IDA로 확인한다.
VMProtect 버전 별로 차이가 있지만, Ctrl + F9를 통해 리턴까지 실행하라고 하면 Text 섹션에 한번에 쓰는게 아니라 짧은 바이트씩 쓰는 경우가 있다. 이럴 경우 가만히 기다릴 수 없는 형태로 HWBP자체를 .text 섹션의 메모리 마지막 주소로 한 후 실행시키면 한번에 코드를 얻을 수 있다.
만약 text 섹션외에 rdata data reloc 비워져있다면 해당 주소값까지 합쳐서 HWBP를 걸고 돌려주면 된다.