现在壳的发展一个趋势就是虚拟机保护,利用虚拟机保护后,能大大提高强度,因此建议尽可能使用此类技术保护软件。 如Themida ,WinLicense,EXECryptor等带有虚拟机保护功能,因此得用好其SDK。 另外,VMProtect是一款纯虚拟机保护软件,效果很好,但也有缺点,就是会影响程序速度,因此在一些对速度要求很高的场合就不适合用了。
- 2019-03-07VMProtect Ultimate 3.3.1.1076
VMProtect 1.22.3之前是免费版,可以支持EXE,DLL等文件。更高版本需要购买,其支持驱动的保护。现在流行的做法,先用VMProtect将你的核心代码处理一下,再选用一款兼容性好的壳保护。
1.关键代码自己定位 VMProtect并不像其他加壳软件一样容易操作,必须告诉VMProtect你要加密的代码具体地址,这个对使用者有一定的要求,至少要有些解密基础。 在这以一个记事本程序为例来演示一下使用方法。 运行VMProtect后,打开NOTEPAD.EXE文件。单击Dump标签,输入要加密的起始地址,光标来到要加密代码起始地址后,点击菜单“project/new procedure”,会出现一个新的项目。
注意事项: 1.用VMProtect处理,请多测试,如果不稳定,请调整被保护代码的范围。 2.VMProtect对双线程支持不是太好,请同一次仅处理一个线程内的代码 2.用SDK标记代码 VMProtect v1.2以上支持SDK了,可以编程时插入一个标记,然后在加密时,VMProtect会认出这些标记,并在有标记的地方进行保护。编译后,VMProtect打开生成的这个exe文件后,点击“Project”菜单下的“New procedure”,在弹出的对话框中有SDK中的地址。
Delphi 中的标记模式 引用: asm db $EB,$10,'VMProtect begin',0 //标记开始处. end; //想保护的程序代码 asm db $EB,$0E,'VMProtect end',0 //标记结束处. end; 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
手机福利视频播放器推荐 | |||
豆奶视频 | 丝瓜视频 | avbobo | 包子视频 |
秋秋影视 | 香蕉视频 | 蜜瓜电影 | 茄子视频 |
磁力吧 | 怡春院 | 电影港 | 食色抖音 |
私密免费观看直播吧 | 逗别看 | 唇色直播 | 影豆网 |
苦瓜网 | 尘落电影网 | 4k屋 | 火豆电影网 |