5

我曾尝试使用以下混淆器进行混淆,但没有一个针对 de40 工具 [https://bitbucket.org/0xd4d/de4dot/] 成功

看到这有多简单真的很痛苦..只需将混淆的 .net exe 拖到 de4dot.exe 上,您将获得源代码..

尝试过的混淆器是:

Agile.NET (aka CliSecure) Babel.NET CodeFort CodeVeil CodeWall CryptoObfuscator DeepSea Obfuscator Dotfuscator .NET Reactor Eazfuscator.NET Goliath.NET ILProtector MaxtoCode MPRESS Rummage Skater.NET SmartAssembly Spices.Net Xenocode

都是没用的。。真是郁闷啊。。

你能提供一些更好的解决方案来保护这个工具吗?

4

6 回答 6

12

de4dot 很快就会与大多数混淆器/保护器兼容,如果不兼容,其他东西会兼容。

我要做的是从 codeplex 下载 Confuser 并在其中使用高级功能选项卡。

我所做的总是有效且无法逆转,是我:

在混淆器的“高级”中混淆除“减少元”之外的所有内容。然后,我用 RPX 打包器压缩程序集。然后,我将压缩程序集与 Confuser 中的“资源加密”重新混淆。

这使得组装几乎完全不可逆转(总有一些人是好饼干)。我还建议在源代码中为您的字符串添加 md5/sha-1 加密。

有了所有这些保护方法,我正式说您的 .net 程序集受到了非常严格的保护。

于 2013-03-01T12:12:26.890 回答
2

我遇到了同样的问题,直到现在才解决。我关注一些混淆器的发布。我检查了最新版本的 ILProtector 已发布,因此我尝试使用它来保护 .NET 可执行文件,并且可以说 ILProtector 绝对适用于 de4dot。de4dot 无法反编译受保护的程序集。

于 2013-02-01T15:22:07.510 回答
2

就像今天一样,De4dot 的最后一个版本似乎也可以对 ILProtector 进行反混淆。

来自 Secureteam.net 的 Agile.net 代码保护表示在其他反混淆器中击败了 de4​​dot,但我还没有尝试过。我会在测试后立即编辑我的答案。

于 2014-10-22T22:23:57.433 回答
1

最好尝试使用您自己的自定义打包机打包。所有商业打包程序都可以通过一个或其他解包器进行反编译。

祝你好运。

于 2013-05-03T08:23:03.350 回答
0

我今天检查了 4-5 混淆器。混淆器的主要目的不应该是隐藏您的许可证代码,而是保护您的软件/算法不被程序员仅仅通过查看代码轻松编写。因为如果任何软件(如 Windows、SQL Server、Adobe 等)很容易被黑客入侵,那么您就没有机会隐藏您的许可证代码。就我而言,我用 C# 开发了一些软件,如果有人可以在按钮单击事件中访问其代码,则可以轻松复制这些软件。因此,我测试了一些实现“代码流混淆”的混淆器,这使得理解代码的执行流程/算法变得非常困难。事实上,当我在我的软件上进行“代码流混淆”时,我无法理解我的代码本身,更不用说别人能理解的了。

想象一下,您花了几周时间开发一种算法,该算法可以完成某项任务,例如:您可以从所有网站获取机票并在软件中显示。如果有人可以看到它的代码,他/她可以在一天内简单地创建相同的软件。所以,最好把算法弄得乱七八糟,让任何人都很难理解。

我试过:Dotfuscator、Eziriz .NET Reactor 和 Crypto Obfuscator 和 rustemsoft Skater .NET Obfuscator。(还有一些其他人)

以下是我的结果:

  1. 所有混淆器的所有字符串/变量/函数加密都可以很容易地被 de4dot 去混淆器去混淆。因此,加密字符串/变量/函数是没有意义的。
  2. 我对所有 3 个都使用了最高级别的“代码流混淆”。我无法使用 rustemsoft Skater .NET,因为它的软件挂了很多,用户界面让我感到困惑。并且免费/评估版没有启用“代码流混淆”进行评估。因此,Dotfuscator 对代码进行了最好的整理。然后 .NET Reactor 和 Crypto Obfuscator 处于同一水平,但它们的混淆程度远不如 Dotfuscator。
  3. 您可以尝试使用应防止使用 de4dot 直接反混淆的虚拟化软件对软件进行虚拟化,但同样可以使用任何好的解包器轻松解压缩 exe,然后可以使用 de4dot 对提取的程序集进行反混淆。使用虚拟化软件将主要的exe、dll和其他资源打包在一个大exe中,这样您就不必创建安装文件等,直接在任何计算机上运行exe。因此,在这种情况下,您可以在单个加密的 exe 中加密 .NET 程序集。但是,就像我说的那样,它可以很容易地打开包装。YouTube上有很多关于这个主题的视频。它不做“控制流混淆”,这是我的主要目的。

所以,最后我做的是:

使用 Dotfuscator 混淆控制流,然后再次“控制流”使用 .NET Reactor 或 Crypto Obfuscator 混淆混淆后的 exe。在此之后,如果我对 exe 进行去混淆处理,任何中级程序员都无法理解代码。

于 2019-06-23T16:38:52.457 回答
0

Skater .NET 混淆器成功地对抗 de4dot。反混淆器将受原始保护的程序集成员名称重命名为人类可读的字符串。溜冰者与之抗争!

最近 MindSystemm 小组发布了一个名为 Skater.NetDeobfuscator [url: https://github.com/MindSystemm/Skater.NetDeobfuscator] 的特殊工具,它利用了 Skater .NET 混淆器的漏洞。Rustemsoft 得到了迫切需要保护 Skater .NET 混淆器关键算法和软件基础设施的信号,以便为 Skater 的用户提供更可靠的源代码保护。 那已经解决了

于 2022-02-25T21:42:47.290 回答