![]() |
1
393
混淆: 尝试 YUI Compressor . 它是一个非常流行的工具,由雅虎用户界面团队构建、增强和维护。 您还可以使用: 专用字符串数据: 保持字符串值私有化是另一个问题,模糊化并不会真正有什么好处。当然,把你的信息源打包成一堆乱七八糟的小东西,你就有了一个轻版本的 安全 通过 默默无闻 . 大多数情况下,查看源代码的是您的用户,而客户机上的字符串值是供他们使用的,因此这种类型的私有字符串值通常不是必需的。 如果你真的有了一个你从来都不想让用户看到的价值,你会有几个选择。首先,您可以进行某种加密,在页面加载时对其进行解密。这可能是最安全的选择之一,但也有很多工作是不必要的。您可能可以对一些字符串值进行base64编码,这会更容易。但真正想要这些字符串值的人可以 很容易解码 . 加密是真正阻止任何人访问您的数据的唯一方法,大多数人发现这比他们需要的更安全。 司扥噢特: 众所周知,在javascript中混淆会导致一些错误。模糊者对此有所改善,但许多机构认为他们从中看到了足够的好处。 缩小 和 格子平 以及增加的模糊节省 不总是值得麻烦的 .如果你试图保护你的源代码,也许你会认为这是值得的,只是为了让你的代码更难阅读。 JSMin 是个不错的选择。 |
![]() |
2
130
我很惊讶没人提到谷歌的 Closure Compiler . 它不仅缩小/压缩,它还分析以查找和删除未使用的代码,并重写以实现最大的缩小。它还可以进行类型检查,并对语法错误发出警告。 jquery最近从yui compresser切换到closure compiler,并看到 solid improvement “ |
![]() |
3
115
模糊永远不会真正起作用。对于任何真正想了解你的代码的人来说,这只是一个减速带。更糟糕的是,它使您的用户无法修复错误(并将修复结果发送回您),使您更难在现场诊断问题。这是浪费你的时间和金钱。 与律师谈谈知识产权法以及你的法律选择。 "Open Source" 并不意味着“人们可以阅读资料来源”。相反,开源是一种特殊的许可模式,它授予自由使用和修改代码的权限。如果您不授予这样的许可证,那么复制您的代码的人就违反了法律,而且(在大多数情况下)您有合法的选择来阻止他们。 唯一能真正保护你的代码的方法就是不发布它。移动服务器端的重要代码,让您的公共JavaScript代码对其进行Ajax调用。 |
![]() |
4
50
您可以根据自己的需要对javascript源代码进行模糊处理,但是它总是可以反向工程,这仅仅是因为需要所有源代码在客户机上实际运行…我能想到的最好的选择是使用服务器端代码完成所有的处理,而JavaScript所做的所有客户端代码都是向服务器本身发送处理请求。否则,任何人都将始终能够跟踪代码正在执行的所有操作。 有人提到base64是为了保证字符串的安全。这是个糟糕的主意。base64可以立即被想要对代码进行反向工程的人识别出来。他们要做的第一件事就是把它解锁,看看它是什么。 |
![]() |
5
44
有许多JavaScript模糊工具是免费提供的;但是,我认为重要的是要注意,很难模糊到无法逆向工程的程度。 为此,我在一定程度上使用了几个加班选项:
|
![]() |
6
22
我会怎么做: a. 玩黑客游戏! 这将在第二部分我的伪/模糊的秘密javascript代码启动器。 在源代码中看到的那个。 这个代码是什么?
B. 稍微混淆代码 那是什么?
C 创建一个很难显示的包含真正代码的PHP文件 这个PHP代码是什么?
如果一切正常,它将向您显示正确的代码,否则将显示假代码或禁止IP,关闭页面。无论什么。
base64引用=
秘密javascript=
冒牌=
现在。。如果您在秘密的javascript中定义事件处理程序,它可能是可访问的。您需要使用启动代码在外部定义它们,并指向嵌套的秘密函数。
所以…有没有一个简单的方法来获取代码?
我不确定这是否可行,但我正在使用chrome并检查元素、资源、网络、源、时间线、配置文件、审计,但我没有找到上面的行。 注意1:如果您在chrome中打开inspect element->network中的troll.php url,就会得到假代码。 注2:整个代码是为现代浏览器编写的。PolyFill需要更多的代码。 编辑 洗衣店
PHP
|
![]() |
7
18
尝试 JScrambler . 我最近给它一个旋转,它给我留下了深刻的印象。 它为那些不太关心细节,只想快速完成的人提供了一组模板,这些模板带有预先定义的设置。您还可以通过选择所需的任何转换/技术来创建自定义模糊。 |
![]() |
8
17
解释语言的问题是,您发送源代码来让它们工作(除非您有一个编译器来进行字节码编译,但同样地,反编译是非常简单的)。
因此,如果不想牺牲性能,只能对变量和函数名执行操作,例如,用a、b替换它们…AA、AB…或者A101、A102等,当然,尽可能多地删除空间/新行(这就是所谓的JS压缩器所做的)。
|
![]() |
9
17
与我建议反对Yui压缩机的大多数其他答案相反;您应该使用 Google Closure .
不是因为它压缩得更多,而是因为它会捕获javascript错误,比如
|
![]() |
10
13
一个非开源的基于javascript的应用程序是相当愚蠢的。javascript是一种客户端解释语言。模糊并不能起到很好的保护作用。 JS模糊通常是为了减少脚本的大小,而不是“保护”它。如果您不希望代码公开,则javascript不是正确的语言。 周围有很多工具,但大多数都有“压缩器”(或“微型化器”)这个词,这是有原因的。 |
![]() |
11
11
你不能保护客户端代码:只需在Google Chrome上按F12, 暂停JavaScript执行 你会得到所有的字符串,甚至那些加密的。 Beautify 资讯科技与 rename variables 你会得到几乎原始的代码。 如果您正在编写服务器端的javascript(即nodejs),则担心有人入侵您的服务器,并希望使黑客工作更困难,从而给您更多的时间重新访问,然后使用 JavaScript编译器 : 在高级编译中需要使用闭包编译器,因为它是重命名所有变量的唯一工具,即使这些变量在多个文件/模块中使用。但它只是有一个问题:只有当你写在 coding style . |
![]() |
12
11
我可以推荐 JavaScript Utility 帕特里克·J·奥尼尔。它可以混淆/压缩和压缩,而且看起来非常擅长这些。也就是说,我从未尝试将它集成到任何类型的构建脚本中。 至于模糊与缩小,我不太喜欢前者。它使调试无法进行(第1行出错…”等等,只有一行”),它们总是需要时间解包。但如果你需要…好。 |
![]() |
13
5
我建议首先使用类似于yui compressor的工具缩小,然后使用类似的工具将所有字符串和数字转换为十六进制值。 http://www.javascriptobfuscator.com/ 有了这一点,代码将变得几乎不可能理解,我认为在这个阶段,黑客重新制定代码要比从头开始重新编写要花更多的时间。重写和克隆实际上是无法停止的。毕竟我们是自由人! |
![]() |
14
5
DeanEdward的packer是一个非常好的模糊器,尽管它主要是模糊代码,而不是代码中的任何字符串元素。 见: Online Javascript Compression Tool 从下拉列表中选择Packer(Dean Edwards) |
![]() |
15
4
我一直在使用
Jasob
多年来,它是最容易混淆的东西。
最好的使用方法是在
私有的
带有类似下划线的变量,然后使用
用户仍然可以查看您的源代码,但是当您的私有变量从类似的类型转换为
引擎将自动统计目标变量的数量,并对其进行优先级排序,以获得最大的压缩。
我不为Jasob工作,我也没有从提升他们中得到什么,只是提供一些友好的建议。
|
![]() |
16
4
你试过了吗? Bananascript ?它产生高度压缩和完全不可读的代码。 |
![]() |
17
4
我使用关闭编译器实用程序来进行Java脚本混淆。它缩小了代码,并有更多的模糊选项。
此实用程序可在以下网址的谷歌代码中找到:
但现在有一天我听到了很多关于乌格利夫的话。您可以在闭包编译器和uglifyjs之间找到各种比较,其中uglify似乎是赢家。
很快我就会给你机会。 |
![]() |
18
3
我觉得有些企业(例如:jackbe)把加密的javascript代码放在*.gif文件中,而不是JS文件中,作为一种额外的模糊度量。 |
![]() |
19
3
作为一个javascript/html/css模糊器/压缩器,你也可以尝试 Patu Digua . |
![]() |
20
3
试试这个工具 Javascript Obfuscator 我在我的HTML5游戏中使用了它,不仅把它的大小从950kb减少到了150,而且使源代码无法读取,关闭编译器和微型处理器是可逆的,我个人不知道如何逆转这种混乱。 |
![]() |
21
3
|
![]() |
22
3
This one minifies 但不会混淆。如果不想使用命令行Java,可以将JavaScript粘贴到Web窗体中。 |
![]() |
23
2
如果使用JavaScript库,请考虑Dojo工具包,它与闭包编译器的高级模式编译兼容(经过细微修改)。 Dojo â The Only JavaScript Library Compatible with The Closure Compiler 用闭包高级模式编译的代码几乎不可能进行逆向工程,甚至通过一个美化程序,就像 整个的 代码库(包括库)是模糊的。平均也只有25%。 Javascript代码只是缩小了(yui压缩器、uglify等),通过美化后很容易进行逆向工程。 |
![]() |
24
2
我以前用过这个,它做得很好。这不是免费的,但你一定要看看。
|
![]() |
blackleader · 是否可以对Lua编译代码隐藏字符串? 6 年前 |
![]() |
Jim Heising · 在Presto查询中加密/模糊结果的想法? 7 年前 |
![]() |
Jinesh Francis · Proguard模糊注释 7 年前 |
![]() |
Jensej · Javascript哈希/转换函数名 7 年前 |
![]() |
Enes · 如何混淆project IOS中的所有代码 7 年前 |
![]() |
Vanpourix · 循环混淆许多android应用程序 7 年前 |
![]() |
Danijel · 如何保护C++动态库不被未经许可使用? 9 年前 |