加密解密软件VMProtect教程(六):主窗口之控制面板“项目”部分(3)

news2024/11/25 4:55:20

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版本的文件,反之亦然。(技术交流Qqun:766135708)

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

接下来为大家介绍关于VMProtect主窗口中的控制面板,其中包括:“项目”部分、“功能”部分和“详情”部分。本篇文章将对其中的“项目”继续进行详细介绍。

“项目”部分

“项目”部分包含以下小节:

保护功能- 允许选择保护对象
许可证– 允许管理许可证和序列号
文件– 允许将附加数据文件或 DLL 包含到受保护的 EXE 文件中
脚本——允许通过内置的 LUA 脚本语言增强保护能力
选项- 允许配置应用程序保护参数

▲文件

“文件”部分允许开发人员在受保护的 EXE 文件中包含操作所需的其他数据,例如:图像、数据文件、文本资源和动态链接库。在执行受保护的 EXE 文件期间,包括 DLL 在内的所有类型的数据都直接从进程的内存中加载,绕过将这些数据写入磁盘。

添加文件工具栏按钮允许向项目添加新文件。您还可以使用上下文菜单添加新文件:

要调整所选文件的属性,请在左侧列表中选择它并编辑其标题、文件名或属性。

要从受保护对象列表中删除文件,请用鼠标右键单击它并选择“删除”,或者只需选择它并按 Del。

通过右键单击部分名称,您可以从编译中排除该文件。编译排除项保存到项目文件中。

▲脚本

“项目”部分的“脚本”小节用于使用内置脚本语言编写脚本:

您可以在该部分的主面板上编辑脚本代码。右键单击菜单允许使用代码片段进行操作。

某些代码块(循环、函数)可以使用相应行号附近的层次符号(加号或减号)折叠或展开。

右键单击部分名称以从编译中排除脚本。排除的脚本不会被执行,也不会被程序处理。此参数保存在项目设置中。

▲选项

“项目”部分的“选项”小节允许您配置各种保护参数:

>文件

内存保护——此选项允许您保护内存中的文件映像免受任何更改(检查所有不具有 WRITABLE 属性的部分的数据完整性)。在将控制传递给程序的原始入口点之前执行图像完整性检查。如果违反了完整性,则会显示相应的消息并且程序会停止执行。
导入保护——此选项允许隐藏受保护程序使用的 API 列表以防止黑客攻击。我们建议将此选项与输出文件的打包一起使用。
资源保护——该选项加密程序资源(图标、清单和其他服务资源除外)。
打包输出文件——此选项允许您打包受保护的文件以减小其大小。执行受保护文件时,应用程序会自动解压缩。整个解包过程没有任何磁盘写入,完全在 RAM 中。
使用此选项时,我们还建议将EntryPoint包含到受保护对象列表中。
重要提示:
当程序启动时,在解压缩代码后,控件将传递给 EntryPoint。如果 EntryPoint 的代码被虚拟化,那么这段代码将在与解包程序本身的代码相同的 VM 解释器上执行。EntryPoint 的虚拟化与受保护文件的打包相结合,可防止手动解压受保护文件,因为在这种情况下,入侵者必须恢复 EntryPoint 代码才能获得工作文件映像。
附加——额外的保护级别:
水印- 允许向项目添加水印。
VM Segments——编译文件时,新的段将被添加到存储各种系统数据的地方(虚拟化和变异代码、VM 解释器、水印等)。此选项允许您为这些新段指定名称。我们建议将段的标准“.vmp”名称更改为其他名称(例如“.UPX”)。
剥离调试信息——删除调试信息会阻碍破解者对代码的分析。
Strip Relocations——一些编译器(即Delphi)为操作系统不使用的EXE文件创建一个重定位表来加载EXE文件。如果启用该选项,则重定位表占用的空间将用于 VM 需要。

>检测

调试器——此选项可防止调试受保护的文件。调试器有两种类型:用户模式调试器(OllyDBG、WinDBG 等)和内核模式调试器(SoftICE、Syser 等)。调试器检测是在将控制权传递给程序的入口点之前执行的。如果检测到调试器,则会显示相应的消息并且程序会停止执行。
Virtualiztion Tools——此选项禁止在各种虚拟环境中执行受保护的文件:VMware、Virtual PC、VirtualBox、Sandboxie。在将控制权传递给程序的入口点之前执行虚拟化检测。如果检测到虚拟环境,则会显示相应的消息并且程序会停止执行。

>信息

在这里,您可以自定义程序在检测到调试器、虚拟化工具、文件已损坏或试图执行受序列号保护的代码时显示的消息。

>许可参数

选择在许可管理器中创建的项目文件作为许可参数文件。默认情况下,使用当前项目文件。

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

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

相关文章

wpf字符串格式化来实现空格占位 对齐问题Arial字符宽度不一致ChitGPT真牛

console是正常的。xml界面不正常,对不齐。 可能的原因各字符宽度不一致导致的。换个字体试试。黑体就正常。默认的Arial就不对。 在 C# 中,可以使用字符串格式化来实现空格占位。具体的做法是在格式字符串中使用占位符 {n},其中 n 表示要占用…

一单一结,靠Python爬虫赚外快,在家就能做

今年以来我们听到了太多负面声音,“互联网寒冬”“裁员”“优化”“失业”,同时也听到了许多朋友迷茫的声音: 面对未来的焦虑:未来我应该往哪方面发展? 面对裁员的迷茫:被裁,下一份工作如何选…

Playwright系列:第11章 CI/CD集成(Jenkins/Gitlab)

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 CI/CD即持续集成/持续交付,是软件开发的一…

UDP通信相关

Linux网络编程-UDP单播服务客户端代码实现 1、服务端 只接收一个字符串 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #…

部署问题集合(十四)VMware复制完整的虚拟机

前言&#xff1a; 由于原先的服务器内存和磁盘空间都不太够&#xff0c;所以需要将其中的程序部署到新的服务器上但部署过程总因为各种奇奇怪怪的问题报错&#xff0c;所以干脆想着将整个虚拟机都复制到新的服务器上&#xff0c;这样需要改动的东西最少&#xff0c;仅需要处理…

黄金圈法则/思维

黄金圈法则/思维 美国作家西蒙.斯涅克因&#xff08;国际知名广告、营销专家&#xff09;在TED演讲中提出黄金圈法则而一举扬名。 模型介绍 黄金圈法则的核心思想是&#xff1a;在沟通表达的时候&#xff0c;按照一个特定的结构why->how->what进行表达。它本质也是一种思…

乔哈里窗模型

乔哈里窗由心理学家乔瑟夫和哈里在20世纪50年代提出的&#xff0c;也常被称之为"自我意识的发现/反馈模型”&#xff0c;或“信息交流过程管理工具”。 模型介绍 该模型把人的内心信息分成四个区域&#xff0c;即&#xff1a; 第一个区域&#xff0c;我知道&#xff0c;你…

104. 二叉树的最大深度

104. 二叉树的最大深度 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 104. 二叉树的最大深度 https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 完成情况&#xff1a; 解题思路&#xff1a; //想…

【开发者指南】如何在MyEclipse中使用HTML或JSP设计器?(上)

MyEclipse v2022.1.0正式版下载 一、HTML & JSP 可视化设计器 本文简要介绍了 MyEclipse HTML 和 JSP Web 设计器的概念、功能和基本操作过程。这两个设计器具有相似的功能和相同的操作模型&#xff0c;但本文为专门针对其类型的内容。本文档中的示例是使用 MyEclipse HT…

国货大佬“卡脖子”后王者风范不减?小米卷出光学拍摄“天花板”?| 手机行业社媒心智品牌榜出炉

Social Power 核心解读 1、智能手机“乍暖还寒”&#xff0c;龙头品牌仍稳占消费者心智 比拼屏幕、赶超系统、迭代形态、拓展概念&#xff1f;眼花缭乱过后&#xff0c;产品精益求精&#xff0c;建立稳固的消费者认知&#xff0c;才是“保鲜”关键。在最新发布的数说故事5月…

Text-to-SQL提示工程【Prompt Engineering】

我们刚刚启动了一个开源项目pg-text-query&#xff0c;目标是为文本到 SQL 制作生产就绪的大型语言模型 (LLM) 提示。 我们的目标是 利用 LLM、我们自己对 PostgreSQL 数据库的深入了解以及严格的测试来开发一流的文本到 SQL 的翻译。 推荐&#xff1a;用 NSDT设计器 快速搭建…

T-GCN:用于交通流预测的时序图卷积网络

1.文章信息 本次介绍的文章是2020年发表在IEEE 智能交通系统汇刊上的《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》。 2.摘要 为了同时捕获空间和时间依赖性&#xff0c;本文提出了一种新的基于神经网络的交通流预测方法——时间图卷积网络(T-GCN…

Java中的Socket通信和HTTP通信有什麽不同

文章目录 Socket通信HTTP通信两者之间的区别总结 Java中的Socket通信和HTTP通信是两种不同的网络通信方式。Socket通信是一种面向连接的通信协议&#xff0c;而HTTP通信则是基于TCP/IP协议的无连接的应用层协议。在本文中&#xff0c;我将会简要介绍两者的区别&#xff0c;并且…

开放原子训练营(第三季)inBuilder低代码开发实验室初体验

一、活动介绍 开放原子训练营开启inBuilder低代码实验室活动。无论您是计算机行业相关从业者、低代码开发爱好者还是普通用户&#xff0c;都可以基于inBuilder低代码开发平台社区版&#xff08;基于UBML开源项目的一个可以广泛使用的发行版&#xff09;&#xff0c;体验向导式、…

基于FPGA的车牌识别

基于FPGA进行车牌识别 基于FPGA进行车牌识别 1. 文件说明2. 程序移植说明3. 小小的编程感想 本项目的原理讲解视频已经上传到B站“基于FPGA进行车牌识别”。 本项目全部开源&#xff0c;见我本人的Github仓库“License-Plate-Recognition-FPGA”。 1. 文件说明 小技巧&…

chatgpt赋能Python-pyecharts_雷达图

Pyecharts雷达图&#xff1a;最佳数据可视化工具 Pyecharts是一个流行的Python库&#xff0c;用于创建美观、交互式和动态数据可视化。其中一个强大的工具是雷达图&#xff0c;它可以帮助你更好地理解数据趋势和关系。 现在&#xff0c;我们将深入研究Pyecharts雷达图&#xf…

深度学习 - 49.SIM 搜索兴趣网络 GSU 与 Soft Search 简单实现 By Keras

目录 一.引言 二.GSU 结构分析 1.Input Layer 输入层 2.Embedding Layer 嵌入层 3.Pooling Layer 池化层 4.MLP 深层网络 5.Soft Search 软搜索 三.GSU 结构实现 1.Init 初始化 2.Build 构建 3.call 调用 4.GSU Layer 完整代码 四.GSU 模型训练 1.Input Layer …

日语文法PPT截图1-15

B站课程链接 aspect 关注事件的流动 相当于英语中现在进行时 这些是简体&#xff0c;是不能表达对听话人的礼貌的。 格助词一般只能接在名词后面&#xff0c;表达名词在句子中所做的成分。 副助词除了可以接在名词的后…

UDP和TCP详解

1. UDP 1.1 UDP协议段格式 16位UDP长度, 表示整个数据报(UDP首部UDP数据)的最大长度, 即数据报最大大小为2^16byte 64KB如果校验和出错, 就会直接丢弃 1.2 UDP特点 1.2.1 无连接不可靠 无连接 知道对端的IP和端口号就直接进行传输, 不需要建立连接不可靠 没有确认机制, 没有…

小型双轮差速底盘实现触须避障

1. 功能说明 在R023d机器人车体上安装2个 触须传感器 &#xff0c;实现机器人小车避障功能。 2. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&#xff08;兼容Arduino Uno&#xff09;‍ 扩展板 Bigfish2.1扩展…