【文章标题】:  脱壳 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

转载于:https://www.cnblogs.com/MaxWoods/archive/2010/04/21/1716866.html

脱壳 VMProtect 1.70.4相关推荐

  1. VMP (VMProtect)脱壳

    德国大牛的VMP修复脚本, OEP的寻找定位在kernel32.dll的最后调用上. IAT修复则是大牛们所说的key基础上. 一个字:猛! 上脚本(也可在我的资源中直接下载): BC BPMC BP ...

  2. 最全的脱壳,反编译 ,汇编工具

    1 调试工具 Ollydbg V1.10 正式汉化修改版+最新最全插件2.02m SmartCheck V6.20 20.54M Compuware SoftICE V4.3.1 精简版10.57M ...

  3. CTF逆向-Upx脱壳攻防世界simple unpack

    文章目录 前言 UPX 技术原理 应用范围 软件使用 CTF实战 程序查壳 UPX脱壳 总结 前言 加壳软件分两类: 压缩壳:压缩的目的是减少程序体积,如 ASPack.UPX.PECompact 等 ...

  4. 脱壳入门初级教学(第四课 常见压缩壳与加密壳)

    转自:http://bestmk.cn/thread-491.htm 加壳软件按照其加壳目的和作用,可分为两类:一是压缩(Packers),二是保护(Protectors).压缩这类壳主要目的是减小程 ...

  5. 攻防世界 simple-unpack 之UPX脱壳初探

    目录 0x01 "壳"what? 0x02 加壳的目的和作用 0x03 常见壳介绍 0x04 查壳 0x05 脱壳 0x01 "壳"what? 计算机软件中有一 ...

  6. VMProtect 3.09 虚拟机架构浅析

    原文网址:https://www.52pojie.cn/thread-586130-1-1.html?t=1489213424424&t=1489213424872 0x00 写在前面 最近两 ...

  7. 什么是壳 - 脱壳篇01

    什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的 ...

  8. 天草脱壳视频学习笔记(逆向 OD)

    天草壳世界学习笔记: 1.OD的查找支持模糊查找 ?? 比如 要查找 E82091FBFFA1B8  可模糊查找:E8??91FBFF??B8 2.OD的插件idaficator 可以支持回滚 就是记 ...

  9. 天草脱壳视频学习笔记

    天草壳世界学习笔记: 1.OD的查找支持模糊查找 ?? 比如 要查找 E82091FBFFA1B8  可模糊查找:E8??91FBFF??B8 2.OD的插件idaficator 可以支持回滚 就是记 ...

最新文章

  1. typedef interrupt void (*PINT)(void)的分析
  2. Android深度探索--HAL与驱动开发----第一章读书笔记
  3. 数字化转型的研究方向
  4. 基于Nginx的媒体服务器技术
  5. HD-SDI DVR发展与应用剖析
  6. xml.query() 实例演示
  7. object.prototype.call
  8. 《WCF全面解析》(下册)- 目录
  9. 中国未来的可能性思考- 系统化思维-公司培训
  10. 【Elasticsearch】你看懂 Elasticsearch Log 中的 GC 日志了吗?
  11. ajax中的简单get请求,jquery 之ajax,get,post异步请求简单代码模版(示例代码)
  12. android画板需求分析,Android编程实现画板功能的方法总结【附源码下载】
  13. python脚本 远程连接后 输出 日志 或换行输出
  14. springmvc获取配置文件的值使用$这个符号
  15. SofaRpc源码学习篇-netty以及跟dubbo骚操作,负载均衡
  16. ​单页应用程序是如何打破网页设计的?
  17. 【Java调用高德地图api】
  18. java程序报stream has already been operated upon or closed异常错误解决方案
  19. N1 Armbian 安装 Domoticz
  20. 微信企业号手机端清理缓存

热门文章

  1. vue中显示和隐藏如何做动画_vue-State Transitions(状态转换)
  2. rust8G内存够不够用_多线程?怎么用?
  3. java怎么求两组整数的或集,确定整数是否在具有已知值集的两个整数(包括)之间的最快方法...
  4. 三菱je-a系列伺服支持modbusrtu 协议吗_入门课程 | 三菱FX系列PLC的软元件介绍
  5. php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端
  6. mysql优化说明_MySQL性能优化各个参数解释说明
  7. ni visa pci_CHINACOAT 2019“推荐品牌”赫普菲乐|PCI可名文化出品
  8. java 前端基础知识_【计算机·知识】关于前端的计算机基础知识
  9. 单位斜变函数matlab,实验二 用MATLAB实现线性系统的时域分析
  10. java中数组的含义_数组