아래의 코드를 알아채기 힘들게 obfuscate해서 packer 속에 집어넣으면

mup시 lordpe와 ollydbg의 플러그인 dump로 dump뜨지 못하게 됩니다.

전혀 어렵거나 대단한 트릭은 아니고

단순히 peb의 imagebase와 ldr_data의 첫번째모듈을 지우고, 파일도 열지못하게 선점하는 것입니다.

ㅋㅋ 우회하려면 아래 코드를 실행하지 않던가 아니면 VA를 갖고 강제 dump하는 것입니다.

(직접 툴을 짜든지, lordpe의 dump partially 기능을 쓰던지)

이런게 많아질 수록 PE format과 같은 기초가 얼마나 중요한지 알게 되죵..

just for fun!!



 char filepath[MAX_PATH];
 GetModuleFileName( NULL, filepath, MAX_PATH );

 HANDLE hF = CreateFile( filepath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL );

 _asm{
  push ebx
  mov ebx, dword ptr fs:[0x30]
  add ebx, 8
  // erase imagebase 1
  mov dword ptr [ebx], 0
  add ebx, 4
  mov ebx, dword ptr [ebx]
  mov ebx, dword ptr [ebx+0xc]

  // erase imagebase 2
  mov dword ptr[ebx+0x18], 0
  // erase entrypoint
  mov dword ptr[ebx+0x1c], 0
  // erase image size
  mov dword ptr[ebx+0x20], 0
  pop ebx
 }