如何读懂一个混淆过的 js 文件(变量全是 ABCDEFG)

2019-07-04 12:35:30 +08:00
 909076350

rt 求助~

5911 次点击
所在节点    JavaScript
22 条回复
wszgrcy
2019-07-04 12:40:43 +08:00
努力看。。。。然后你就发现看不懂放弃了。。。现在的 js 有两次处理,一种是压缩,就是把变量和空格减少长度,还有就是混淆,混淆过的代码,能逆向出传参能调用就算 nb 了,想读懂,估计要罢人脑升级为量子的吧
cydysm
2019-07-04 12:46:03 +08:00
devtools 里 overide 打断点,写 console 调试
Jirajine
2019-07-04 12:46:22 +08:00
混淆而已,比编译过的 smali 都好太多了,更不用说汇编。
起码处理一下,把格式展开,变量函数改成 var_1,func_1 这样的还好一些。
909076350
2019-07-04 12:50:14 +08:00
@wszgrcy 哭了 是一个很简单的 js (淘宝下载页的逻辑)
q8164305
2019-07-04 12:54:52 +08:00
打断点慢慢看
909076350
2019-07-04 12:56:07 +08:00
@q8164305 感谢

@cydysm overide 好用
murmur
2019-07-04 12:58:12 +08:00
淘宝啊,淘宝的就更恶心了,字符串拆分重组是家常便饭,你能轻松读懂对得起淘宝的工程师么
murmur
2019-07-04 12:59:50 +08:00
举个简单的例子 比如 addEventListener,在淘宝里首先要拆成 add,Event,Listener,然后每一个反序为 dda,tnevE,renetsiL,这个我是真见过这么玩的,淘宝的混淆绝对不是简单的变量函数名替换,花样超出你想象
Vegetable
2019-07-04 13:03:57 +08:00
不要想着全部读懂,只去找自己关心的部分.从一小部分开始.代码拉出来格式化,尝试将混淆过的变量名改名.理清各个作用域.
这玩意没什么套路,就是细致的一点一点看.
你只要相信浏览器能看懂,你也能看懂,很累就是了
lc1450
2019-07-04 13:04:25 +08:00
不一定要看懂, 找关键函数被调用的地方,打断点看参数, 然后直接调用被混淆的代码
909076350
2019-07-04 13:06:16 +08:00
@murmur 哈哈哈我目前看的下载页的混淆还好 就是 abcde addeventlistener 还是在的
909076350
2019-07-04 13:07:03 +08:00
@lc1450 想找到自己想哟的那块关键代码 死活找不到 真是哭了

@Vegetable 是的 但是找不到 自己要的那块代码疯狂打断点了现在
AurevoirXavier
2019-07-04 14:52:00 +08:00
no1xsyzy
2019-07-04 15:05:02 +08:00
先过个 JSNice 再看
quadrapop
2019-07-04 15:29:45 +08:00
只能一点点看,打断点
599316527
2019-07-04 15:34:30 +08:00
一般看混淆后代码总归有特定的目的。
先 beautify 一下,打断点,定位到要找的目标代码大概位置,然后慢慢看。
可以用代理工具替换下,边改边看,一些局部变量,压缩后变成三元运算符,多个逗号分隔的表达式可以改写成看起来方便的代码。
PressOne
2019-07-04 16:07:09 +08:00
你预估用别人写代码的十分之一时间去读,应该可以的。打乱的代码只是读起来费时间。
murmur
2019-07-04 16:09:00 +08:00
@599316527 阿里有个代码 chrome 直接 pretty 不行,看前面写了类似((((((((((((((((((((((((((((((())))))))))))))))))))))))))这样大量无用的标签闭合,是想让 chrome 直接报错放弃美化么?
abccccabc
2019-07-04 17:56:31 +08:00
想办法格式化
Hilong
2019-07-04 17:56:34 +08:00
在 dom 上打断点试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/579948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX