飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7561|回复: 8

[分享] VMProtect使用技巧汇集__最好的虚拟机保护软件之一

[复制链接]

该用户从未签到

发表于 2007-11-7 23:41:25 | 显示全部楼层 |阅读模式
帖子转载看雪论坛:http://bbs.pediy.com/showthread.php?t=49979
VMProtect
korobka_big.png

官方站点:http://www.vmprotect.ru
作 者:PolyTech (俄国)

VMProtect是目前最强大的虚拟机保护软件之一,适合Visual Basic(native),Visual C,Delphi,ASM等本地编译的目标程序,支持EXE,DLL,SYS。支持Windows各系统,具有很好的兼容性和稳定性。

下载地址

VMProtect 1.22.3以前版本都没功能限制,更高版本需要注册才能获得。强度方面,低版本都有不错的表现,可以使用。

VMProtect 0.71VMProtect 1.02
VMProtect 1.03
VMProtect 1.05
VMProtect 1.07
VMProtect 1.08
VMProtect 1.09
VMProtect 1.11
VMProtect 1.20
VMProtect 1.21
VMProtect 1.22.3


购买方法
如果要使用新功能,在强度,稳定性和兼容性有更高的要求,如多线程支持的更好等,可以购买高版本。
1.首先登陆VMProtect官方主页,进入购买链接
http://www.vmprotect.ru/buy.php
vm.gif

2.如果没有信用卡,可以选用E-GOLD,然后E-GOLD直接汇款给VMProtect,数小时后,VMProtect官方会将key及正式版寄给你。
E-GOLD可以到淘宝网购买。有关E-GOLD请参考:
http://www.e-gold.org.cn
你也可以通过代理或西联来购买。

注意:VMProtect注册协议是不允许公开分析他们的目标程序的,用VMProtect保护的程序带有水印,因此将VMProtect注册版保护的程序公开给大家研究是要冒风险的,很可能key会被BAN。另外,购买key的朋友如果公开散发,也可能导致VMProtect会将中国的IP封掉(以前己封过一次)。VMProtect目前己做的很稳定和强大,希望他能发展的更好。

使用方法
1.指定代码
必须告诉VMProtect你要加密的代码具体地址,这对使用者有一定的要求,至少要懂一些跟踪技术,可以用调试器,如OllyDbg跟踪到程序需要保护的地址,然后添加地址到VMProtect。
在这以一个记事本程序为例来演示一下使用方法。

 运行VMProtect后,打开NOTEPAD.EXE文件。单击Dump标签,输入要加密的起始地址,光标来到要加密代码起始地址后,点击菜单“project/new procedure”,会出现一个新的项目,如下图。

v45.gif

2.用SDK标记代码
 用调试器获得地址的操作过程比较专业,不太方便。VMProtect v1.2以上支持SDK了,可以编程时插入一个标记,然后在加密时,VMProtect会认出这些标记,并在有标记的地方进行保护。在程序源码中,用这对标签将一些核心代码包含,编译成EXE文件。然后用VMProtect打开EXE,单击“Project”菜单下的“New procedure”或者单击工具栏中的“New procedure”按钮,在弹出的添加地址窗口中会自动将SDK定义代码的地址填上。然后在VMProtect的“Options”窗口中设置相应的选项,最后单击工具栏中的“Compilation (F9)”按钮,便可对目标软件进行保护。
Delphi 中的标记模式

未命名.jpg
VC的VMProtect的宏 :


代码:

#define  VMBEGIN
__asm    //标记开始处.
    {  
      _emit 0xEB
      _emit 0x10  
      _emit 0x56  
      _emit 0x4D  
      _emit 0x50
      _emit 0x72
      _emit 0x6F
      _emit 0x74
      _emit 0x65
      _emit 0x63
      _emit 0x74
      _emit 0x20
      _emit 0x62
      _emit 0x65
      _emit 0x67
      _emit 0x69
      _emit 0x6E
      _emit 0x00
    }
    //想保护的程序代码
#define  VMEND
    __asm  //标记结束处.
    {  
      _emit 0xEB
      _emit 0x0E  
      _emit 0x56   
      _emit 0x4D   
      _emit 0x50
      _emit 0x72
      _emit 0x6F
      _emit 0x74
      _emit 0x65
      _emit 0x63
      _emit 0x74
      _emit 0x20
      _emit 0x65
      _emit 0x6E
      _emit 0x64
      _emit 0x00

3.用map文件
VMProtect支持Map文件来定位函数,设置编译器,让其生成Map文件。将目标文件和Map文件放在一起(文件名要相同),用VMProtect打开文件后,执行菜单“New procedure”时能够列出很多内部函数,这时只需要选择想加密的函数进行后续处理了。

 VMProtect是当前一款很强的虚拟机保护软件,经过VMProtect处理的软件,能大大提高破解者的分析成本,是目前一种比较理想的保护方式。VMProtect关键是用好,一定要将程序关键代码进行处理,必要时用OllyDBG检查一下被处理的代码。
另外,经虚拟机处理代码效率会降低,因此一些对效率要求比较高的代码就不适合用VMProtect进行处理。
PYG19周年生日快乐!
  • TA的每日心情

    2019-6-9 15:12
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2007-11-8 09:16:48 | 显示全部楼层
    我不会用......还是先学点基础.../:014
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    昨天 08:02
  • 签到天数: 1664 天

    [LV.Master]伴坛终老

    发表于 2007-11-11 11:32:12 | 显示全部楼层
    没有中文的啊??????
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-11 19:54:54 | 显示全部楼层
    楼主辛苦了,顶一下/:001
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-12 10:06:58 | 显示全部楼层
    感谢了。。。。顶一下~~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-14 21:57:50 | 显示全部楼层
    看过了  不错  /:014
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-24 22:40:20 | 显示全部楼层
    谢谢楼主分享。。。。。顶一下!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-1-26 17:11:39 | 显示全部楼层
    不错不错,楼主辛苦了
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2017-9-20 12:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-1-28 22:59:41 | 显示全部楼层
    感谢楼主!支持一下!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表