• 脱壳 VMProtect 1.70.4


    【文章标题】:  脱壳 VMProtect 1.70.4
    【文章作者】: hxqlky
    【作者邮箱】: zmunlky@gmail.com
    【作者主页】: 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
  • 相关阅读:
    介绍自己
    第六周作业
    第五周作业
    第四周作业
    秋季学期学习总结
    币值转化
    justintime compiler
    PostgreSQL windows下安装出现问题的解决办法
    Java语言的异常处理,完全理解下面4点就可以了
    Ultraedit用途【来自网络】
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1716866.html
Copyright © 2020-2023  润新知