代码混淆系统Code Virtualizer操作详解:在EXE / DLL中插入保护宏

翻译|使用教程|编辑:李显亮|2020-09-27 11:20:19.000|阅读 90 次

概述:本节说明如何在应用程序(EXE),DLL,OCX,ActiveX,屏幕保护程序等中插入要由Code Virtualizer保护的代码块。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

Code Virtualizer不能像普通的打包器那样工作;相反,它只是保护开发人员选择的敏感代码区域。这些敏感区域将转换为内部的虚拟机操作码,只有Code Virtualizer才能理解。如果攻击者试图了解虚拟机的操作码,则他将不得不跟踪一个复杂且多态的虚拟机,这使他在任何时候都正在执行什么代码方面大失所望。

点击下载Code Virtualizer

【商城狂欢】Code Virtualizer在线下单仅售795元起,立即加入购物清单!或直接咨询在线客服,我们很高兴为您服务。

在EXE / DLL中插入保护宏

有多种方法可在应用程序中插入敏感代码块:

  • 通过内联汇编:宏只是由Code Virtualizer识别的“虚拟”机器代码的定义
  • 通过API调用:宏是对VirtualizerSDK.dll中定义的函数的调用。通过查看此调用,Code Virtualizer可以识别宏的开始和结束位置。不受保护的应用程序将需要运行“ VirtualizerSDK.dll”,但是一旦您使用Code Virtualizer保护了您的应用程序,与VirtualizerSDK.dll的链接将被删除,您无需将DLL与受保护的应用程序一起发货。
  • 通过ASM模块:您将您的应用程序链接到一个特殊的汇编语言文件,该文件定义了一些功能(上面带有特殊的代码序列)。通过查看对特殊汇编语言函数的引用,Code Virtualizer可以识别在哪里调用那些宏。

Code Virtualizer提供了一套包含文件,用于多种编程语言。您只需要在源代码中插入该Include文件,就可以使用保护宏了。

VIRTUALIZER宏是旧版本的Code Virtualizer中使用的原始名称。在较新版本的保护中,建议您指定虚拟机的名称,该虚拟机将用于虚拟化START-END标记内的代码。例如,不要使用“ VIRTUALIZER_START / END”作为代码块,而应选择将使用哪个虚拟机(从“ 虚拟机”面板中)来虚拟化该代码(例如“ VIRTUALIZER_TIGER_WHITE_START / END”)

还包括一个突变宏(VIRTUALIZER_MUTATE_ONLY),该宏仅对代码进行突变而不是对其进行虚拟化。与上面的虚拟化宏相比,此宏的保护级别非常低,但它适用于不需要高保护但需要进行混淆的特定代码区域。另外,VIRTUALIZER_MUTATE_ONLY宏中的执行速度比虚拟化宏要高得多。

C / C ++和Delphi中的示例

这里我们展示一些在C / C ++和Delphi中使用Code Virtualizer的真实示例:

C / C ++示例

Delphi示例

给C / C ++开发人员的说明

在VirtualizerSDK.h文件中,可以找到两个特殊定义:

#定义CV_X32_INSERT_VIA_INLINE

#定义CV_X64_INSERT_VIA_INLINE

使用这些特殊的定义,您可以控制将宏作为嵌入式程序集还是作为API调用插入。我们建议您将宏插入为32位应用程序的内联程序集,并作为64位应用程序的API调用。无论如何,保护与您插入宏的方式根本不相关。

推荐阅读

【 还在为软件被破解而抓破头皮?软件加密保护工具2019给力推荐! 】


慧都网是Code Virtualizer正版代理商,提供最低的授权价格和最优质的服务,在线购买享受超值优惠>>


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat