Sai*_*ddy 5 javascript obfuscation deobfuscation
这是一个通用问题
我在一些网站上看到过 javascript 被混淆了
当您尝试使用标准反混淆器(deobfuscatejavascript.com、jsnice.org 和 jsbeautifier.org)对代码进行反混淆时,代码不容易反混淆
我知道实际上不可能避免反混淆。我想让攻击者很难对其进行反混淆
请建议我可以实现这一目标的一些方法
我应该编写自己的混淆器,然后使用另一个在线混淆器混淆输出。这能打败它吗?
提前致谢
PS:我尝试了谷歌闭包编译器、uglifyjs、js-obfuscator 和一堆其他工具。它们(单独或组合使用)都无法击败反混淆器
您列出的公共反混淆器仅使用简单的eval()后跟美化器来对代码进行反混淆。这可能需要运行几次。它之所以有效,是因为大多数混淆器都会做他们的事情,并在最后添加一个函数来对其进行足够的反混淆,以允许引擎运行它。在大多数情况下,它是一个简单的字符替换(一种凯撒密码),并且eval()足以获得一些代码,然后由美化器或多或少地可读。
回答你的问题:你可以通过使用某种使用代码得到的密码的“加密”来使其变得更难(“更难”是指将其放入反混淆器中不再起作用)在第一轮反混淆后从服务器获取,并使用浏览器完成的相对路径而不是完整路径。这需要人工干预。以复杂且不明显的方式构建这条路径,对于普通的脚本小子来说具有威慑力。
一般来说:您需要一些不在脚本本身中的东西来对脚本进行反混淆。
但要注意:它只回答你的问题,也就是说,它使得不可能通过简单的 c&p 去混淆到这些公共去混淆器之一,而不是更多。有关更复杂的内容,请参阅 Ira 的答案。
请注意混淆代码的原因:
现在,如果人们看到你混淆的代码,他们会怎么想?你的投资者坚持要给你钱来写那个人人都喜欢的小浏览器游戏?
| 归档时间: |
|
| 查看次数: |
5951 次 |
| 最近记录: |