问题标签 [obfuscation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
30 回答
146208 浏览

.net - .NET 混淆工具/策略

我的产品有几个组件:ASP.NET、Windows Forms App 和 Windows Service。95% 左右的代码是用 VB.NET 编写的。

出于知识产权的原因,我需要对代码进行模糊处理,直到现在我一直在使用一个 dotfuscator 版本,它现在已经超过 5 年了。我认为是时候转向新一代工具了。我正在寻找的是在搜索新的混淆器时应该考虑的要求列表。

到目前为止,我知道我应该寻找什么:

  • 序列化/反序列化。在我当前的解决方案中,我只是告诉该工具不要混淆任何类数据成员,因为无法加载之前序列化的数据的痛苦太大了。
  • 与构建过程集成
  • 使用 ASP.NET。过去,由于更改 .dll 名称(通常每页有一个),我发现这个问题 - 并非所有工具都能很好地处理。
0 投票
4 回答
8404 浏览

apache-flex - Flex / 空气混淆

我已经(大部分)用 Flex 编写了一个应用程序,并且我关心保护源代码。我启动了Trillix swf 反编译器的演示,并打开了安装到我的 Program Files 目录中的 swf 文件。我看到我写的所有动作脚本包都在那里。即使有大量代码,我也不太关心包,因为如果没有 mxml 文件,它似乎仍然无法使用。我认为它们已转换为动作脚本,或者至少我希望如此。但是,我仍然想探索混淆。

有人对 Flash / Actionscript 3 / Flex 混淆器有任何经验吗?你能推荐一个好的产品吗?

0 投票
10 回答
6208 浏览

.net - 我应该担心混淆我的 .NET 代码吗?

我相信 SO 上的许多读者都使用Lutz Roeder.NET 反射器来反编译他们的 .NET 代码。我很惊讶我们的源代码可以多么准确地从我们编译的程序集中重建。

我很想知道你们中有多少人使用混淆技术,以及用于什么类型的产品?

我敢肯定,对于您提供通过 Internet 下载的 .NET 应用程序来说,这是一个更重要的问题,而不是为特定客户端定制的应用程序。

0 投票
7 回答
50938 浏览

java - 您是否混淆了您的商业 Java 代码?

我想知道是否有人在他自己的商业产品上使用商业/免费的 java 混淆器。我只知道一个项目在发布的 ant 构建步骤中实际上有一个混淆步骤。

你混淆视听吗?如果是这样,你为什么要混淆?

这真的是一种保护代码的方法,还是只是对开发人员/经理来说更好的感觉?

编辑:好的,我要准确地说出我的观点:您是否为了保护您的 IP(您的算法,您在产品中投入的工作)而进行混淆处理?出于安全原因,我不会混淆,这感觉不对。所以我只是在谈论保护您的应用程序代码免受竞争对手的侵害。

@staffan有一个很好的观点:

远离链接代码流的原因是,其中一些更改使 JVM 无法有效地优化代码。实际上,它实际上会降低应用程序的性能。

0 投票
9 回答
7307 浏览

javascript - 使用混淆器是否足以保护我的 JavaScript 代码?

我正在构建一个用 JavaScript 编写的开发工具。

这将不是一个开源项目,并将(希望)作为商业产品出售。

我正在寻找保护我的投资的最佳方式。使用混淆器(代码管理器)是否足以合理地保护代码?

还有其他我不知道的选择吗?

(我不确定混淆器是否是正确的词,它是获取您的代码并使其非常不可读的应用程序之一。)

0 投票
2 回答
665 浏览

.net - 如何将 .net 程序集的清单设为私有?

如果我想发布一个 .net 程序集,但希望在清单中保持其内部细节为私有(来自ildasm.exe等实用程序),我应该怎么做?

0 投票
8 回答
2936 浏览

.net - (为什么)我应该使用混淆?

在我看来,混淆是一种属于“默默无闻的安全”或“虚假的保护意识”阵营的想法。保护知识产权,有版权;为了防止发现安全问题,我们正在修复这些问题。简而言之,我将其视为解决社会问题的技术解决方案。那些几乎从不工作。

然而,我似乎是我们开发团队中唯一有这种感觉的人,所以我要么错了,要么只需要令人信服的论据。我们的产品使用 .NET,一位开发人员建议使用 .NET Reactor(顺便提一下,在这个 SO 线程中也提出了建议)。

.NET Reactor 通过将任何纯 .NET 程序集(用 C#、VB.NET、Delphi.NET、J#、MSIL...编写)与本机机器代码混合,完全停止任何反编译。

所以,基本上,你一次就把字节码的所有优点都扔掉了吗?

混淆是否有良好的工程优势?

0 投票
3 回答
1220 浏览

.net - 您从混淆程序中获得的 exe 速度是否有所不同?

.Net 有许多混淆程序,我已经尝试过一个,我的 exe 在混淆时似乎要慢得多。所有的混淆程序都具有相同的效果还是我选择了一个不好的程序?我希望有些比其他更好,如果你知道一个快速的,请告诉我。

0 投票
15 回答
2243 浏览

perl - Perl 代码有没有好的混淆器?

有谁知道 Perl 的一个好的代码混淆器?我被要求在将代码发布给客户之前研究混淆代码的选项。我知道混淆代码仍然可以被逆向工程,但这不是我们主要关心的问题。

一些客户正在对我们提供给他们的源代码进行微小的更改,当出现问题并且我们必须修复它时,或者当我们发布的补丁与他们所做的更改不兼容时,这会让我们做噩梦。所以目的只是为了让他们很难对代码进行自己的更改(无论如何他们都不应该这样做)。

0 投票
7 回答
3776 浏览

c# - 对于单个开发人员来说,什么是最物有所值的 c# 代码保护

什么是最物有所值的 c# 代码保护?有些只是使用混淆,有些则添加了 win32 包装,有些则花费了一大笔钱。到目前为止,我已经想出了http://www.eziriz.com/谁的 Intellilock 看起来很有前途。还有其他建议吗?为什么这不是一个好主意?

我知道完全保护它是不可能的,但我更喜欢保护我的代码的能力,这样就需要付出很多努力才能恢复它。我确实希望最终能销售我的产品,同时也免费发布一些产品。