【文章标题】:  脱壳 VMProtect 1.70.4

【文章作者】: hxqlky

【作者主页】: ​​http://www.x5dj.com/hxqlky​

【下载地址】: 自己搜索下载

【加壳方式】: VMProtect 1.70.4

【保护方式】: VMProtect 1.70.4

【编写语言】: MASM32 / TASM32

【使用工具】: od

【操作平台】: xp

【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!

--------------------------------------------------------------------------------

【详细过程】

  脱壳 VMProtect 1.70.4

  0041A300 >  68 FE571FD7     push D71F57FE  

  0041A305    E8 B5970000     call Sec_Add_.00423ABF

  0041A30A  ^ E2 B8           loopd short Sec_Add_.0041A2C4

  0041A30C    1E              push ds

  0041A30D    D7              xlat byte ptr ds:[xbx+al]


  有debug  A debugger has been found running in your system.

Please, unload it from memory and

  restart your program.


  alt +m  下断401000 f9运行出现A debugger has been found running in your system.

Please, unload it

  from memory and restart your program.

  f12  点k

  77D505CA    E8 2D000000     call user32.MessageBoxExA

  77D505CF    5D              pop ebp

  77D505D0    C2 1000         retn 10     f2  f9

  77D505D3    90              nop


  看寄存器

  EAX 00000001

  ECX 7C93005D ntdll.7C93005D

  EDX 00000000

  EBX 0012F798 ASCII "\Sec Add 1.8 vmp\Sec Add_1.8 version.exe"

  ESP 0012F784

  EBP 0012FF98

  ESI 7C801AD0 kernel32.VirtualProtect

  EDI 004155C3 ASCII "A debugger has been found running in your system.

Please, unload it from

  memory and restart your program."

  EIP 77D505D0 user32.77D505D0

  从新再来

  go 7C801AD0


  7C801AD0 >  8BFF            mov edi,edi

  7C801AD2    55              push ebp                 f2  f9

  7C801AD3    8BEC            mov ebp,esp

  7C801AD5    FF75 14         push dword ptr ss:[ebp+14]

  7C801AD8    FF75 10         push dword ptr ss:[ebp+10]

  7C801ADB    FF75 0C         push dword ptr ss:[ebp+C]

  7C801ADE    FF75 08         push dword ptr ss:[ebp+8]

  7C801AE1    6A FF           push -1

  7C801AE3    E8 75FFFFFF     call kernel32.VirtualProtectEx

  7C801AE8    5D              pop ebp

  7C801AE9    C2 1000         retn 10

  看堆栈

  0012F784   004142FA  Sec_Add_.004142FA

  0012F788   00401000  Sec_Add_.00401000

  0012F78C   0000111E

  f9  7次运行

  从来f9  6次

  看堆栈

  0012EBE0   10202FA0  返回到    SogouPy.10202FA0

  0012EBE4   10000000  SogouPy.10000000

  0012EBE8   00001000

  看数据窗口

  00401000    6A 00           push 0

  00401002    E8 67DF0000     call Sec_Add_.0040EF6E

  00401007    A3 08404000     mov dword ptr ds:[404008],eax

  0040100C    E8 D9730000     call Sec_Add_.004083EA

  00401011    6A 00           push 0

  00401013    68 30104000     push Sec_Add_.00401030

  00401018    6A 00           push 0

  0040101A    68 EC404000     push Sec_Add_.004040EC                   ; ASCII "m00n"

  alt+m 40100内存访问断点 f9

  00401030    55              push ebp 断在这里向上

  00401031    8BEC            mov ebp,esp

  00401033    83C4 F0         add esp,-10

  00401036    53              push ebx

  00401037    57              push edi

  00401038    56              push esi

  00401039    817D 0C 1001000>cmp dword ptr ss:[ebp+C],110

  00401040    0F85 E8010000   jnz Sec_Add_.0040122E


  00401000    6A 00           push 0     oep  

  00401002    E8 67DF0000     call Sec_Add_.0040EF6E

  00401007    A3 08404000     mov dword ptr ds:[404008],eax

  0040100C    E8 D9730000     call Sec_Add_.004083EA

  00401011    6A 00           push 0

  00401013    68 30104000     push Sec_Add_.00401030

  00401018    6A 00           push 0

  0040101A    68 EC404000     push Sec_Add_.004040EC                   ; ASCII "m00n"

  0040101F    FF35 08404000   push dword ptr ds:[404008]               ; Sec_Add_.00400000

  00401025    E8 B1D80000     call Sec_Add_.0040E8DB

  0040102A    50              push eax

  0040102B    E8 51C70000     call Sec_Add_.0040D781



  dump

  0012FFC4   7C816FE7  返回到    kernel32.7C816FE7

  0012FFC8   7C930041  返回到    ntdll.7C930041 来自 ntdll.7C930092

  0012FFCC   005F0778

  0012FFD0   7FFDD000

  0012FFD4   8054507D

  0012FFD8   0012FFC8

  0012FFDC   89357CB0

  0012FFE0   FFFFFFFF  SEH 链尾部

  0012FFE4   7C839AF0  SE 句柄

  0012FFE8   7C816FF0  kernel32.7C816FF0

  0012FFEC   00000000

  0012FFF0   00000000

  0012FFF4   00000000

  0012FFF8   0041A300  Sec_Add_.

  0012FFFC   00000000