我们多次被问到使用Enigma Protector保护软件免遭破解和逆向工程的最佳方法是什么?在这里我将解释保护常用应用程序的技巧是什么。
许多开发人员认为,如果他们只需单击“保护”按钮,保护程序就会自动完成所有操作,无需嵌入额外的保护功能。这是完全错误的。保护系统作为一项非常复杂的服务也需要配置。
The Enigma Protector 是一款专门设计用来为应用程序添加高强度保护的强大工具。它旨在防止非法复制、反编译和修改代码等操作,以保护应用程序的安全性和完整性。
The Enigma Protector支持多种类型的文件格式,包括Win32可执行文件(.exe)、Windows屏幕保护程序(.scr)、动态链接库(.dll)、32位ActiveX控件(.ocx)和.NET可执行文件(.exe)等。
The Enigma Protector 官方正版下载(qun:766135708)https://www.evget.com/product/4355/download
保护应用程序免遭破解、解包或修补的最佳方法是将保护集成到您的应用程序中。因此,保护应该是应用程序的一部分,它应该执行一些产品稳定和正确工作所必需的功能。试想一下,如果您不使用额外的保护功能,保护功能就像一个信封,真正的应用程序位于其中。在程序执行时,信封打开,应用程序被映射到进程内存以供执行。如果没有使用额外的保护选项,破解者可能会从内存中转储应用程序,提取必要的信息,然后逆向它(当然,这并不像我写的那么容易,新手破解者永远不会通过这样的保护,但是非常先进的破解者可以做到这一点)。另一方面,如果您的应用程序与保护(信封)集成,如果应用程序与信封对话和工作,那么很难将保护和应用程序分开,因此很难解压和破解保护。
以下是将保护集成到应用程序中的常见方法。
虚拟机
现代保护方式——虚拟化应用程序代码。虚拟机的主要目的是将可执行代码翻译为自己的PCODE,然后在自己的虚拟处理器上执行。4字母域 数据挖掘虚拟代码很难逆向,将一些不安全的代码部分(如验证注册密钥、试用计数器等)放置在虚拟机内是不错的选择。http://www.softwareprotection.info/2011/07/best-ways-to-protect-your-software/在Enigma Protector 中,有两种虚拟化代码的方法:
– 使用 VM Markers,您只需围绕必要的代码部分与VM标记,并且该代码将被虚拟化,同时保护 - 使用虚拟机- 功能选择功能。使用此功能可能需要生成 MAP 文件,请查看如何为不同编译器生成映射文件。
{$I ..\..\..\EnigmaSDK\Delphi\vm_begin.inc} ShowMessage('This message is shown under virtualized code'); {$I ..\..\..\EnigmaSDK\Delphi\vm_end.inc}
虚拟盒子
此功能允许将应用程序使用的文件嵌入到单个受保护的可执行文件中。嵌入文件不会提取到磁盘,保护仅在内存中模拟它们,因此文件变得安全。此功能有什么优势?它如何帮助保护应用程序?很简单,如果破解者想要解压保护,他还需要解压所有嵌入的文件,这可能非常困难!
标记
除了上述 VM 标记之外,最好使用任何其他类型的标记。例如,Reg_Crypt 标记允许将代码部分锁定到注册密钥,即,在应用程序未注册之前,Reg_Crypt 标记内的代码将被加密并且无法解密和执行。
Run_Once 标记 - 首次执行后从内存中删除其中的代码,因此如果破解程序转储进程内存,这些标记中的代码将被丢失
Enigma API
尝试使用允许控制许多保护参数的特殊保护功能,请信息Enigma API
破解者经常使用应用程序中存在的不同字符串来找到破解它的方法。例如,如果您执行注册密钥检查,然后显示“无效密钥”之类的消息,破解者可能会找到显示此消息的代码,然后找到检查注册密钥的代码并绕过它。要隐藏此类字符串常量,您可以使用受保护字符串功能,并通过使用EP_ProtectedStringByID或EP_ProtectedStringByKey Enigma API 将保护与应用程序集成。