问题标签 [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.
python - 如何保护 Python 代码不被用户阅读?
我正在用 Python 开发一个软件,该软件将分发给我雇主的客户。我的雇主想通过有时间限制的许可证文件来限制软件的使用。
如果我们分发.py
文件甚至.pyc
文件,那么(反编译和)删除检查许可证文件的代码将很容易。
另一方面是我的雇主不希望我们的客户阅读代码,担心代码可能被盗或至少是“新颖的想法”。
有没有好的方法来处理这个问题?
javascript - 免费的 JavaScript 混淆器?
我正在寻找一个免费的JavaScript 混淆器。压缩就够了吗?你会推荐什么工具?当然,我不需要军事风格的混淆,我需要一种简单的方法来防止小子通过查看源代码或使用诸如 unescape() 之类的简单方法来窃取我的 javascript。
谢谢,汤姆
obfuscation - 为什么大多数(全部?)混淆工具都针对 C# 和其他 C 语言而不是 VB?
我不知道我是不是对的,但几乎每次我读到关于混淆和处理它的工具,然后它是关于 C#、Java、Javascript 和除 VB 之外的所有其他语言的。
正如我所看到的,对于我作为 VB 开发人员来说,保护我作为 C# 开发人员的代码同样重要。我错过了什么吗?
如果原因很明显,但我错过了,请不要喷我。
谢谢。
javascript - ExtJS 与 Squash Javascript 混淆器
我偶然发现了这个名为Squash的 javascript 混淆器,我想在我的 ExtJS 项目中使用它来混淆我的 javascript 文件。我已经尝试过了,结果是完全混淆的代码。但似乎我也必须混淆 ExtJS 库,因为我收到警告说它找不到诸如Ext.onReady()
,Ext.form.FormPanel()
等函数。
我只是想问一下你们中是否有人在项目中成功使用过 Squash + ExtJS,以及你们是如何设法使其工作的。
eclipse - Eclipse 3.4 ant 任务挂起
当我从 Eclipse 3.4.x 启动一个 ant 脚本时,它会将输出打印到控制台,直到某个阶段。之后它经常挂起(永远等待)。我在屏幕(控制台)上看到的最后几行 - 我的混淆器的部分输出。
在 Eclipse 3.3.2 下一切正常(相同的项目、工作区、设置、JVM 等)。
有人有同样的问题吗?任何想法如何解决它?
java - Java 混淆器
我正在寻找一个好的 Java 混淆器。
我对以下 Java 混淆器进行了初步研究:proguard、yguard、retroguard、dasho、allatori、jshrink、smokescreen、jobfuscate、marvin、jbco、jode、javaguard、jarg、joga、cafebabe、donquixote、mwobfu、bbmug、zelix klassmaster 、sandmark、jcloak、thicket、blufuscator 和 java 代码保护器。
我尝试了 proguard,它有一个非常好的 GUI,看起来非常稳定,并且似乎是最受欢迎的,但它似乎不像引用的 jar 文件(不在我试图混淆的代码中)的一些枚举,这很奇怪. Yguard 似乎需要与 ant 进行一些交互,我对此不太了解。
什么是好的 java 混淆器?它不需要是免费的,它只需要运行良好并且易于使用。
php - 无需加密即可保护 PHP 代码的最佳解决方案
首先,我不是在寻找奇迹……我知道 PHP 是如何工作的,并且没有真正的方法可以在不使用加密的情况下向客户端隐藏我的代码。但这伴随着在运行的服务器上安装扩展的成本。
不过,我正在寻找不同的东西......我不想加密我的代码甚至混淆它。有许多没有加密/混淆代码的 PHP 脚本,但它们是商业应用程序。例如,vBulletin 和/或 IP.Board 论坛应用程序。
我只是想知道这些人在他们的应用程序中使用什么方法......
我也愿意接受任何其他建议。
请注意,我是单身人士,不在公司工作。我的产品也很专一,不会卖那么多。我只是想让你们知道,我不能咨询法律专业人士来起诉某人或准备商业许可证。我只是在寻找一种简单的方法来保护我的简单产品,如果确实可能的话,以某种方式......
.net - 如何编写自己的 .net 混淆器
我很好奇人们如何编写自己的混淆器。
简单地执行以下操作有多难:
- 使用 GUID 类型名称重命名所有公共方法。
我从哪里开始?我将如何阅读 .net dll 程序集,将公共方法拉出并重命名它们?
.net - SmartAssembly 内存管理
刚看到这个网站。功能 9 是内存管理,他们声称他们的产品“自动释放 [es] 不再需要的内存”。
这是一种营销策略,还是你认为他们有什么诡计?他们是否只是根据 .Net 运行时在任何情况下提供的内容提出声明(或者他们是否喘不过气来调用 GC.Collect())?
对产品不是很感兴趣,DotFuscator 对我来说就足够了——我只是对如何实现这一点很感兴趣。
flash - Flash 程序员:你如何让你的代码反编译证明?
到目前为止,我已经参与了几个 Flash 项目。我熟悉 AS3,但我也开始对其他 flash 程序是如何编写的感到好奇,因此我反编译了一些 swf 文件以查看它们是如何制作的。(我也通读了开源项目,但我没有这么说,因为我对反编译 swf 文件或任何东西感到内疚。)通过研究这些项目,我学到了很多东西。但是有些项目我根本无法理解代码。看起来它们不可能是人类写的!
也许他们被混淆了,对吧?这让我想到:越来越多的网站提供 Flash/Flex 应用程序作为他们的主要服务。我想到的是 Scribd,Sproutbuilder,但你可以想到其他人。这些站点对保护其 Flash 平台中的代码非常感兴趣。
所以这让我想到了我的问题:闪存程序员使用什么样的工具或技术来使您的代码防反编译?
编辑:在发布这个之后,我看到了查尔斯米勒关于混淆的徒劳的这篇有趣的帖子。他提出了一个公平的观点。软件是对时间的投资,最终有人会投入足够的时间进行逆向工程,即使是最令人生畏的软件工程项目。(提示,提示:Mac OS、Windows、iPhone,应有尽有。)但这并不意味着混淆不会(在短时间内)为率先进入市场的公司提供物质利益和竞争优势. 我是对还是错?