加密解密软件VMProtect教程(八)许可制度之集成到应用程序

news2024/12/25 9:06:56

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

同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择要保护的代码片段。

为了轻松实现应用程序保护任务的自动化,VMProtect实现了内置脚本语言。VMProtect完全支持Windows系列的32/64位操作系统(从Windows 2000开始)和Mac OSX(从版本10.6开始)。重要的是,无论目标平台如何,VMProtect都支持所有范围的可执行文件,即Windows版本可以处理Mac OS X版本的文件,反之亦然。有其他问题请咨询加密解密技术QQ群:766135708

VMProtect最新版下载(qun:766135708)icon-default.png?t=N4HBhttps://www.evget.com/product/1859/download

VMProtect 是保护应用程序代码免遭分析和破解的可靠工具,但只有在正确构建应用程序内保护机制并且没有可能破坏整个保护的典型错误的情况下才能最有效地使用。

许可制度

“许可制度”包含以下小节:

许可系统功能
许可系统如何运作
管理许可证
如何将系统集成到您的应用程序的示例
自动序列号生成

集成到应用程序

在下面描述的几个步骤中,我们将创建一个查询许可系统的测试应用程序:向其提供序列号,接收序列号的状态及其内容。第一阶段,我们在测试模式下使用许可系统;第二阶段我们使用它,因为它会在实际实践中使用。

许可制度的工作模式

建筑保护总是经历两个主要步骤:开发和发布。至于许可,首先您创建一个应用程序,将保护集成到其中,然后添加检查和功能限制。只有经过全面测试,您才能将产品提供给用户并开始第二阶段。受保护应用程序的测试是一个复杂的过程,因为您需要确保所有检查和条件跳转都正确运行。为所有可能的测试用例制作“真实的”序列号是不方便的。这就是许可系统也提供“开发者模式”(又名“测试模式”)的原因。在这种工作模式下,不对应用程序进行保护,系统对提供的序列号的反应在配置文件中进行调整。当应用程序没有错误并且可以正确地与许可系统一起工作时,VMProtect 将“测试”许可模块替换为执行真实序列号检查的真实许可模块。这是在应用程序受到保护时完成的,因此您不能错误地避免这一步。

第一阶段:测试模式

在测试模式下,许可系统(状态和它返回的数据)对提供的序列号的所有反应都在配置文件中描述。该文件名为 VMPLicense.ini,应位于应用程序的工作文件夹中。在下面提供的 10 个步骤中,我们将从创建最简单的应用程序到在具有硬件锁定和限制免费升级期限的测试模式下使用许可系统的全功能。

  • 步骤 1.1:创建受保护的应用程序
  • 步骤 1.2:添加许可证检查代码
  • 步骤 1.3:检索序列号状态标志
  • 步骤 1.4:检索用户的姓名和电子邮件
  • 步骤 1.5:检查序列号的到期日期
  • 步骤1.6:限制程序的运行时间
  • 步骤 1.7:限制免费升级期限
  • 步骤 1.8:黑名单中的序列号
  • 步骤 1.9:硬件锁
  • 步骤 1.10:用户数据

第二阶段:实模式

在实模式下,VMProtect 许可系统为受保护的应用程序放置了一个特殊的许可模块。该模块执行与 SDK 中的测试模块相同的功能,但使用序列号的内容而不是配置 ini 文件。接下来的五个步骤说明了使用基于 VMProtect 和许可系统的全功能保护来保护简单应用程序的过程。

  • 步骤 2.1:创建新的受保护应用程序
  • 步骤 2.2:创建 VMProtect 保护项目
  • 步骤 2.3:受保护产品的首次启动
  • 步骤 2.4:测试结果
  • 步骤 2.5:将代码锁定为序列号

附加信息

所有位标志、结构格式和函数调用参数的值都可以在该帮助文件的许可系统 API部分找到。使用此部分作为参考,而上面提供的步骤有助于轻松实现典型的即用型保护。

序列号生成器

他们有什么用?

除了 VMProtect,其他软件也可以生成序列号。这是自动发送序列号所必需的。客户购买产品,电子商务代理向供应商网站发送 HTTP 查询,生成器在服务器上运行并根据客户数据生成序列号。序列号被发送给客户和供应商。然后,供应商使用导入许可证对话框手动将序列号添加到 VMProtect。

怎么运行的

VMProtect 的许可系统基于非对称算法,这就是为什么需要秘密产品密钥来生成序列号的原因。您可以在项目属性窗口中导出此密钥,并以任何合适的方式将其传递给生成器。

电子商务代理使用 HTTP 查询调用生成器。可以直接调用 PHP 生成器,基于 DLL 的生成器 - 间接调用,但原理是相同的:

  • 从电子商务代理接收用户数据
  • 添加供应商指定的所有必需信息
  • 生成序列号
  • 使用其中一种算法对其进行加密
  • 将结果发送给电商代理

有现成的发电机吗?

许可系统带有三个随时可用的序列号生成器作为 DLL,用于 .Net 平台和PHP。

我可以制作自己的发电机吗?

是的你可以。序列号的格式在这里,序列号的加密算法在这里描述。

安全吗?

一般来说,是的,这是安全的。但是,您应该遵循以下建议:

  • 使用 HTTPS——如果您的电子商务提供商可以发送 HTTPS 查询,并且您的网络托管提供商可以回答此类请求——您应该更喜欢这种变体而不是典型的 HTTP,因为在这种情况下,所有数据都以加密形式传输,生成的序列无法截取号码。
  • “隐藏”你的发电机——确保没有人可以偶尔打开发电机。www.site.com/keygen.php 地址是个坏主意。虽然 www.site.com/abc123.php 要好得多。确保您没有放置任何指向密钥生成器的外部链接,它没有列在网站目录中,也没有将它放入任何服务文件(如 robot.txt)中。对发电机的位置了解得越少越好。或者,您甚至可以将生成器放在另一个网站上。
  • 确保调用生成器的是电子商务代理——处理来自代理的查询的程序应该检查调用者的 IP 地址。电子商务提供商通常会发布用于查询序列号生成器的 IP 范围。在您的代理处找到该列表并在程序中添加支票。如果发送查询的 IP 地址超出指定的 IP 范围,则不要生成可理解的错误消息。要么不返回任何内容,要么生成一个简单的 404。不要提供任何有关查询失败原因的线索。
  • 检查输入参数——电子商务代理控制面板中的产品设置通常允许您指定代理为接收许可证而应进行的查询字符串。例如,您想要接收用户名、电子邮件地址、购买日期和订单 ID。因此,请确保所有这些参数都已传递并且所有参数都具有正确的格式。不要对错误的查询做出任何响应。每当对生成器进行错误查询时,向您自己的电子邮件发送消息。这应该有助于调查问题。
  • 添加“密码”指定电子商务代理发送的查询中的附加参数,即密码。它应该有一个不明显的名称和值。从接收方检查此参数。如果值错误或未指定参数 – 不生成序列号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/559376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最快PCB打样| 急速小批量打样的秘密在这里

对于广大爱好者以及电子工程师来说,电子行业的快速发展,导致电子产品的多样化和个性化,电路设计的复杂度和难度提高,需要更多的PCB打样来验证和测试,满足细分市场的客户需求。 随着PCB打样厂家的服务优化和价格降低&am…

信息收集-服务器信息

服务器上面可以运行大量的系统服务和第三方应用服务,如果操作系统或者第三方软件没有及时升级打补丁,攻击者就有可能直接通过服务器上运行的服务进行攻击。 服务器需要收集的信息包含三个方面: 操作系统信息等识别waf(Web应用程…

高级测试必备技能:从session请求到token请求,傻瓜式掌握Charles和postman断言技巧

引言 在快速发展的数字化时代,软件测试作为保障软件品质和用户体验的重要一环,显得愈加重要。SESSION请求、TOKEN请求、charles使用和Postman断言等技术,成为测试人员不可或缺的必备技能。 在这篇文章中,我将深入浅出地为您讲解…

Java编程思想(第4版) 扫描版

Java编程思想 - 基础必备 Java基础必备书籍! 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解…

使用C++快速上手ProtoBuf (一)

文章目录 课程目标一、初始ProtoBuf1. 序列化概念2.ProtoBuf是什么3.ProtoBuf的使⽤特点 二、安装ProtoBuf三、教学思路四、快速上⼿步骤1:创建.proto文件步骤2:编译contacts.proto⽂件,⽣成C⽂件步骤3:序列化与反序列化的使⽤⼩结…

2分钟快速上手工作流的创建与运行

前段时间,偶然发现一款低代码产品,工作流很突出,至少我觉得,设计颇有精妙之处。 可视化工作流是实现看板的第一步,要想业务人员也能了然其中的运行逻辑,这款产品可是做到了白痴也看得懂的程度!…

讲个小故事

5月21日,沈梦辰在微博晒出了一组照片,记录下520这天杜海涛去机场接机的甜蜜瞬间。杜海涛不仅给沈梦辰送上兔子造型的红玫瑰花束,同时还准备了现切的新鲜西瓜。同一天,李湘女儿王诗龄也在网络晒出了自己的520礼物,那是一…

DOS命令(了解)

目录 一、 DOS 介绍 二、相关的知识补充: 相对路径, 绝对路径 ​三、常用的 dos 命令 1) 查看当前目录是有什么内容 dir 2) 切换到其他盘下:盘符号 cd : change directory 3) 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), ..\表示上一级…

网关Netfilx Zuul:---(Eureka高可用操作)

之前我们创建完成了3个Eureka的客户端的服务操作,你会发现我们还是没有能够通过微服来进行对他访问,还是必须通过自己服务的端口号来进行访问,那么我们的微服务是没有能够完成的,这个时候我们就需要通过网关进行操作 其实网关就是…

618大促聚焦“低价”与“规则简化”

618年中大促即将拉开帷幕。 多个电商平台已经公布今年618促销节的节奏与玩法,618开启之前,电商平台也纷纷表达了对于年中大促的重视,淘宝天猫618总负责人暮珊此前表示,“今年淘宝天猫618是历史上最大投入的一届”。抖音副总裁木青…

设计模式之【策略模式】,去掉繁琐的if-else,实现算法的动态替换

文章目录 一、什么是策略模式1、策略模式应用场景2、状态模式与策略模式的区别3、策略模式优缺点4、策略模式的三大角色 二、实例1、策略模式的一般写法2、促销活动案例3、网购订单支付案例4、DispatcherServlet的优化5、文件排序案例 三、源码中的策略模式1、Comparator接口2、…

在字节做了5年的软件测试,被辞了,太真实了...

先简单说下,涵哥是某不知名 985 的本硕,17 年毕业加入字节,以“人员优化”的名义无情被裁员,之后跳槽到了有赞,一直从事软件测试的工作。还差一个月也6年了吧,算是在这行的资深划水员。6年的时间也让涵哥从…

ChatGPT 辅助生成PPT

前言 介绍 ChatGPT 与 MindShow 结合高效生成 PPT。 文章目录 前言一、准备工具二、使用步骤1. 内容生成2. 制作 PPT三、小节一、准备工具 ChatGPT:MindShow:MindShow网站 MindShow 内置了丰富的模板、图表和设计元素。具有自动排版功能,可根据输入内容智能调整布局。二、使…

29岁测试被辞,面试2个月还找不到工作....

最近一个29岁老同学联系我,因为被公司辞退,找我倾诉,于是写下此文。 他是14年二本毕业,在我的印象里人特别懒,不爱学习,专业不好,毕业前因为都没找到合适工作,直接去创业了&#xf…

导入报错:Limits: MIN_INFLATE_RATIO: 0.010000, Entry: xl/drawings/drawing1.xml

今天突然遇到一个现场提出的问题:说导入文件导入不成功,咋突然有这个问题 2023-05-23 14:19:11,174 ERROR [http-nio-9104-exec-5] o.a.c.c.C.[.[.[.[dispatcherServlet] [DirectJDKLog.java : 175] Servlet.service() for servlet [dispatcherServlet]…

VMwareESXI虚拟机黑群晖7.2 正式版 (懒人包)

版本说明: VMware Workstation 桌面版虚拟机,可下载VMware专用版本 VMware ESXi虚拟机,可以下载OVA版本 VMware Workstation桌面版虚拟机 使用教程: 1.下载VMware专用版本,然后进行解压,双击解压出来的&q…

前端Vue:权限管理,给角色分配权限

👉前端-Vue权限控制,菜单权限,按钮权限_一人创客的博客-CSDN博客 目录 介绍: 前端权限的概念: 前端权限的意义: Vue权限管理的代码实现: 菜单 刷新界⾯菜单消失 标识⽤户名, ⽅便查看当前…

chatgpt赋能Python-python_kali

Python与Kali Linux:SEO攻击的更有效方法 介绍 Python是一种强大且高度灵活的编程语言,也是许多安全专家、黑客和网络攻击者所喜欢的工具之一。Kali Linux是一个专注于安全审计、渗透测试和网络安全的Linux发行版,其中包含了许多流行的安全…

微服务开发系列 第四篇:分页查询

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

Chat GPT 教您如何发现和处理无效数据

Chat GPT 教您如何发现和处理无效数据 在进行数据管理时,无论是数据分析、数据挖掘还是机器学习项目,无效数据都可能对结果造成严重的影响。因此,发现和处理无效数据变得至关重要。本文将从如何处理无效数据的角度,详细探讨数据清…