MS Excel VBA的模糊处理工具

MS Excel VBA的模糊处理工具,excel,vba,obfuscation,Excel,Vba,Obfuscation,对于可以在窗体、模块和类模块之间混淆VBA代码的工具,有哪些建议 我做了一些研究,在档案中读了一些,但是有一段时间没有提到任何东西,所以我认为这些建议可能已经过时了 从其他地方的阅读中获得的一些信息包括: 密码 Obfu VBA 此外,如果我错了,请纠正我,但根据我的理解,模糊器的简化逻辑是: 使用定义的逻辑对VBA代码进行加扰(将X更改为Y) 该工具将创建一个新工作簿,其中VBA代码全部被置乱,但其他所有内容保持不变 该工具可以使用定义的逻辑恢复到原始VBA代码(将Y更改为X) 对吗?

对于可以在窗体、模块和类模块之间混淆VBA代码的工具,有哪些建议

我做了一些研究,在档案中读了一些,但是有一段时间没有提到任何东西,所以我认为这些建议可能已经过时了

从其他地方的阅读中获得的一些信息包括:

  • 密码
  • Obfu VBA
此外,如果我错了,请纠正我,但根据我的理解,模糊器的简化逻辑是:

  • 使用定义的逻辑对VBA代码进行加扰(将X更改为Y)
  • 该工具将创建一个新工作簿,其中VBA代码全部被置乱,但其他所有内容保持不变
  • 该工具可以使用定义的逻辑恢复到原始VBA代码(将Y更改为X)
对吗?选择“已定义逻辑”时,我需要研究什么?我以前玩过CrunchCode,有很多选择,但它们对我来说都是陌生的


谢谢你的帮助:)

我之前的答案研究得很差,因为没有人回复过,我认为你应该得到一个更好的答案。在测试了CrunchCode之后,它似乎通过以下技术进行了混淆:

  • 更名
首要的模糊处理技术是去除所有语义并降低任何上下文被推断的可能性。在汇编代码时代,这通常是一个问题,除非您熟悉它,否则很难判断代码将要做什么

大写字母和小写字母之间的间距很小,因此很难阅读

  • 删除评论
如上所述,这消除了理解所推断代码的机会

  • 替代品
重载运算符(通过使用用户定义的函数)是一种有用的技术。你可以在VBA中实现这一点,我始终记得这是我在采访中提出的一个问题:

子1:x=z+y
子2:x=y+z

Sub 2被证明比Sub 1需要更长的时间。为什么会这样

在10名受访者中,我是唯一一个猜测操作员超载的人,所以这一直困扰着我。您可以使代码的行为与预期的非常不同。加法符号可用于减法、除法或任何其他数量的组合。当这种基本的东西在代码中发生变化时,理解源代码就困难多了

  • 额外费用
作为附加步骤,我可能会尝试向源代码中添加许多冗余方法。本质上是基于条件为真执行无意义代码的代码片段。这种情况永远不会出现,但因为代码很难阅读,所以很难理解

本质上,它的工作原理与我在过去几年中读到的所有编码标准完全相反。作为一名开发人员,您应该做的一切都是为了使代码更具可读性(毕竟,我们都应该为其他开发人员编写代码,而不仅仅是为机器编写代码——谁在乎,如果没有人能理解,您可以将该方法简化为一行呢?)

警告:没有可靠的方法阻止有人窃取你的源代码。我知道有人停止了他们的开源项目,因为人们把它的编译版本当作自己的来卖。对于开发人员来说,这只是其中之一。模糊处理会起到一定的作用,但不能100%保证阻止有决心的开发人员窃取它,但这会使它变得更加麻烦,因此它们的回报会越来越小(例如,它们可以在反向工程代码所需的时间内编写相同的功能)


希望这有帮助-有关更多信息,请查看(带有非常不祥的音乐!)

我购买了CrunchCode,请注意它不支持64位系统。支持非常糟糕(几周内没有任何电子邮件回复)。字符串加密功能将破坏所有字符串比较和MSGBoxe,因为解密的字符串与原始字符串不同。建议避免使用本产品

如果您不介意复制、粘贴并仔细检查产品,vbobfuscator似乎很不错。执行vba和vbscript。更改变量和函数名。www.vbobfuscator.net。模糊处理比简单的查找和替换要复杂得多。。。这将交付非工作代码;)

联机VBScript模糊器(加密/保护VBS)

使用这个方便的VBS工具,您可以将VBScript转换为 混淆VBS源代码,而不影响/更改 脚本功能和VBScript关键字。这是免费的 VBScript模糊器通过转换VBS中的每个字符来工作 将源代码转换为非常模糊的格式。然后这些问题就变得模糊不清了 字母在运行时合并,并通过Execute命令执行 功能


只想补充一点,一个名为“VBASH”(www.ayedeal.com/VBASH)的工具可以完成这项工作。我已经使用它一段时间了,到目前为止我对它很满意。

我构建了模糊处理程序(查看我的简历)。我没有为VBA构建一个。第一印象是,CrunchCode工具对源代码的处理相当标准,但在我看来相当合理。我不知道这个产品有多坚固。(我和他们没有关系)。你也可以看看这种工具。我使用了一种叫做VBASH的工具,它可以非常可靠地进行vba模糊处理。IMHO优于CrunchCode和Obfu VBA。我建议试一试。vbad应用很难从中分辨出CrunchCode实际使用的技术。你可以在VBA中重载“+”吗?你到底是怎么编写的?啊,“+”就是一个操作数重载的例子。关键是重载是一种由混淆工具使用的技术。没有关于CrunchCode的特别内容。如果我看起来有点轻率,请原谅,但我相信最好的方法是下载并试用它