在线网站的加密混淆JS的分析技巧
混淆后的js
通常来说js加密后犹如天书,各种变量方法都变为了abc,在没有js map文件的情况下更是无法进行js代码调试与定位(或者不方便),本文为大家带来一种定位与调试技巧.
思路如下:
1.在源网站下载需要调试的js代码.
2.使用广告屏蔽插件将原有网站js进行规则屏蔽.
3.将下载回来的代码格式化.
4.通过chrome插件对js进行注入回原网站.
5.浏览器正常调试代码.
具体实现过程:
原因为浏览器对快手网站的一个ES6 语法支持不完整,导致js报错,且无法通过浏览器调试器正确定位错误代码.如下图
在没有map文件的情况下根本不知道错误代码的具体位置,错误有可能已经发生偏移.
实现:
①新建一个浏览器插件文件目录:
manifest.json 清单如下
重要部分已经圈出,主要意思为赋予权限,和js代码在遇到https://live.kuaishou.com/live-partner 这个网站的时候进行js代码注入,注入文件为"app.ffa19e930f69f2810445.js","vendor.a8adfbd416a4e5473b82.js"
②ADF浏览器广告屏蔽插件中将原js进行屏蔽
③载入js注入插件到浏览器
④开始你的全新调试吧! 此时代码已经为本地格式化后的代码了.(有的js代码中和网站有交互,这点需要注意)
查看代码调试窗口
完成本次调试, 找到原因 async 关键词不支持.
这种方法还可以解决一些其他问题 可以大胆尝试一下. 因为这个时候你可以大胆调试,大胆的改他的方法名了
最后附上
注入插件 https://download.****.net/download/wbkys/10800191