现如今不少软件作者为选择一款合适的加密软件而困惑。建议作者不要太依赖壳的保护,大多数壳是可以被攻破的,还是在自身保护上下些功夫。选择壳的时候,更多的时候考虑其兼容性。

现在壳的发展一个趋势就是虚拟机保护,利用虚拟机保护后,能大大提高强度,因此建议尽可能使用此类技术保护软件。

如Themida ,WinLicense,EXECryptor等带有虚拟机保护功能,因此得用好其SDK。

而VMProtect是一款纯虚拟机保护软件,效果很好,但也有缺点,就是会影响程序速度,因此在一些对速度要求很高的场合就不适合用了。VMProtect 1.22.3之前是免费版,可以支持EXE,DLL等文件。更高版本需要购买,其支持驱动的保护(慧都控件网支持提供最新版本免费试用,点击下载)。现在流行的做法,先用VMProtect将你的核心代码处理一下,再选用一款兼容性好的壳保护。

关键代码自己定位

VMProtect并不像其他加壳软件一样容易操作,必须告诉VMProtect你要加密的代码具体地址,这个对使用者有一定的要求,至少要有些解密基础。
在这以一个记事本程序为例来演示一下使用方法。
运行VMProtect后,打开NOTEPAD.EXE文件。单击Dump标签,输入要加密的起始地址,光标来到要加密代码起始地址后,点击菜单“project/newprocedure”,会出现一个新的项目。

需要处理其他地址时,请依次操作。

注意事项:

  • 用VMProtect处理,请多测试,如果不稳定,请调整被保护代码的范围。
  • VMProtect对双线程支持不是太好,请同一次仅处理一个线程内的代码

用SDK标记代码 

VMProtect 支持SDK,可以编程时插入一个标记,然后在加密时,VMProtect会认出这些标记,并在有标记的地方进行保护。编译后,VMProtect打开生成的这个exe文件后,点击“Project”菜单下的“New procedure”,在弹出的对话框中有SDK中的地址。

Delphi 中的标记模式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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
_emit 0x65
_emit 0x63
_emit 0x74
_emit 0x20
_emit 0x65
_emit 0x6E
_emit 0x64
_emit 0x00
}

下载最新版VMProtect DEMO>>

加密软件VMProtect入门教程相关推荐

  1. 软件工程师入门教程--KaYiCRM实录(1)

    介绍 作为一个程序员和培训师,在过去的一些年里写了很多程序,上了一些课.一直以来我都想写一本能够帮助那些想要学习软件开发的人轻松地进入学习的教程,现在终于可以动笔了.我无法为这本"教程&qu ...

  2. 代码加密软件VMProtect 全新v3.6震撼上线,强势助力软件加密

    VMProtect 是一款性能强悍且无需任何解密代码的实力派软件保护解决方案! VMProtect 从发行以来,因其虚拟化代码,无需解码.支持几乎所有可执行文件格式及Windows等特点,深受开发者信 ...

  3. 加密工具GPG入门教程

    http://www.open-open.com/lib/view/open1373767754138.html 今天,就接着来看,现实中怎么使用这个算法,对信息加密和解密.这要用到 GnuPG 软件 ...

  4. 加密软件 PGP安装教程。

    PGP(Pretty Good Privacy)是一个基于RSA公钥加密体系的邮件加密软件. pgp--百度百科 加密软件--百度百科. ###安装教程如下: 1.0 双击pgp8.exe,进入下面安 ...

  5. 浩辰建筑CAD软件新手入门教程:在位编辑

    设计师在使用浩辰建筑CAD软件绘制CAD建筑施工图的过程中,一般情况下修改CAD图纸中的文字都是双击修改,这种方式被称为在位编辑.下面和小编一起来看看在位编辑功能的使用介绍吧! CAD文字编辑:在位编 ...

  6. python写彩票预测软件_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...

    python入门教程NO.6 用python做个简单的彩票号码统计分析工具-1.jpg (37.04 KB, 下载次数: 0) 2020-11-27 14:29 上传 python入门教程 pytho ...

  7. 加密解密软件VMProtect入门使用教程(二):分析、破解和保护软件

    VMProtect是新一代软件保护实用程序.VMProtect支持德尔菲.Borland C Builder.Visual C/C++.Visual Basic(本机).Virtual Pascal和 ...

  8. 加密软件VMProtect教程:使用Windows、Net 、UNIX 秘钥生成器

    VMProtect是新一代软件保护实用程序.VMProtect支持德尔菲.Borland C Builder.Visual C/C++.Visual Basic(本机).Virtual Pascal和 ...

  9. 智能机器人软件开发入门教程:带你从0到1快速入门

    机器人,现在遍布我们的生活,怎样才能让机器人运作?你了解吗?今天就给大家分享一套智能机器人软件开发教程,教你如何让机器人运作! 对微机原理和硬件控制原理深入理解,使学员更扎实的掌握软硬件开发的核心能力 ...

  10. java入门软件安装教程,PDPS软件-安装入门教程 20200406

    仿真软件PDPS的相关知识点,仅供学习参考,共同探讨,共同进步. 小编这两天一直在努力研究PDPS的安装,由于没有一点基础,只有照着网上的安装教程以及朋友分享的安装参考来进行学习安装,摸索着大概一周的 ...

最新文章

  1. 记java关键词_Java关键词及含义
  2. Jmeter之Bean shell使用(五)
  3. Nmap扫描参数解析(转)
  4. FineReport——JDBC 连接 MySQL8.0 版本数据库
  5. 【bzoj2238】Mst(树链剖分+线段树)
  6. 将文件复制到FTP服务器时发生错误的解决办法
  7. .condarc(conda 配置文件)、换国内源
  8. Pandas DataFrame索引和列属性
  9. 企业微信应用设置可信域名_企业微信更新版本 全平台内容可设置成英文
  10. 计算机课题类型是什么意思,课题类型是什么意思
  11. Spring源码全解析,帮你彻底学习Spring源码
  12. h5的table表格边框线问题解决方案
  13. 半圆形进度条(小程序)
  14. 30 行代码实现蚂蚁森林自动收能量(附送源码)
  15. Elasticsearch 为什么会产生文档版本冲突?如何避免?
  16. Apple MacPad Pro会是什么样?
  17. VMware精简系统Win系列|体积更小更稳定
  18. OLAP和OLTP比较
  19. 【正点原子FPGA连载】 第二十八章OV5640 DP显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  20. 〖Python 数据库开发实战 - Python与Redis交互篇⑫〗- 综合案例 - 新闻管理系统 - 删除新闻(含redis缓存)

热门文章

  1. linux和cisco有关系吗,如何在Linux环境下安装Cisco RTMT
  2. Input Director使用一个键盘和鼠标即可控制多台Windows计算机
  3. 如何编译TrueCrypt源码
  4. Practical JXTA II
  5. 销售合同管理系统,发票统计。 Excel表格,自带公式,简单操作
  6. 中科院-杨力祥视频教程 05课程
  7. 计算机考苏州公务员考试,苏州公务员考试难度
  8. 韦东山嵌入式Linux三大学习路线
  9. 老男孩Linux运维决心书
  10. 《数学分析》收敛数列的性质