我想做一个JavaScript应用程序,不是开源的,因此我希望学习如何可以混淆我的JS代码?这可能吗?
当前回答
我的印象是,一些企业(例如:JackBe)将加密的JavaScript代码放在*.gif文件中,而不是JS文件中,作为一种额外的混淆措施。
其他回答
JScrambler试试。最近我试了一下,印象深刻。 它为那些不太关心细节,只想快速完成的人提供了一组模板,用于混淆预定义的设置。您还可以通过选择任何您想要的转换/技术来创建自定义混淆。
你不能保护客户端代码:只需在谷歌Chrome上按F12,暂停javascript执行,你就会得到所有的字符串,即使是那些加密的。美化它和重命名变量,你会得到几乎原始的代码。
如果你正在编写服务器端javascript(即NodeJS),害怕有人入侵你的服务器,并想让黑客的工作更加困难,给你更多的时间来取回你的访问权限,那么使用javacript编译器:
你需要在高级编译中使用闭包编译器,因为它是唯一重命名所有变量的工具,即使这些变量在多个文件/模块中使用。但它有一个问题:它只有在你用它的编码风格写的时候才能工作。
你可以随心所欲地混淆javascript源代码,但它总是可以通过要求所有源代码实际运行在客户端机器上进行逆向工程…我能想到的最好的选择是用服务器端代码完成所有的处理,而javascript所做的所有客户端代码都是向服务器本身发送处理请求。否则,任何人都将始终能够跟踪代码正在执行的所有操作。
有人提到base64是为了保证字符串的安全。这是个糟糕的主意。Base64可以立即被那些想要对你的代码进行反向工程的人识别出来。他们要做的第一件事就是解编码,看看是什么。
我正在使用闭包编译器实用程序的java脚本混淆。它减少了代码,并为混淆提供了更多的选项。 此实用程序可在谷歌代码在以下URL: 闭包的工具
但是现在我听到很多关于UglifyJS的消息。你可以在闭包编译器和UglifyJS之间找到各种比较,其中Uglify似乎是赢家。 UglifyJS:一种可以与闭包媲美的快速Node.js压缩器
很快我就给了UglifyJS机会。
试试这个工具Javascript混淆器
我在自己的HTML5游戏中使用了它,不仅将其大小从950KB减少到150 kb,而且还使源代码不可读闭包编译器和迷你器是可逆转的,我个人不知道如何扭转这种混乱。
推荐文章
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?