谢谢你帮我解决那个问题!还有个问题

2025-03-12 22:45:25
推荐回答(1个)
回答1:

首先你要有一个观念

JS, 除非作者自己搞了一个类似於解释器的东西, 否则所有的加密的最後一步都是eval


所以对於没有把eval转义的加密来讲

比如你给出的那个, 直接蒐索eval然後把它删去再复制到你的console直接执行就能还原


然而如果你并不清楚你所操作的代码的加密方式

或者eval也被转义了

那麽就需要借助工具来明确结构了

这里我使用的是Uglify, 他会把所有变量名压缩, 把类似'\xff￿'等的转义还原, 生成等价代码


首先是压缩

压缩的结果

然後格式化


如果你对JSPacker比较熟悉

那麽看到eval(function(a, b, c, d, e, f)基本就知道它怎麽来的了

当然对於不同的加密方式还得具体分析, 但你只要见得多了基本都能解密


Uglify, JSPacker, 格式化等工具都是要麽开源要麽你可以自行部署的

当然如果你只是有一两个文件要解码你也可以使用在线工具

这类工具非常多, 我使用的是tool.css-js.com