龙空技术网

混淆JS代码WEB逆向学习

爬扒提吧 869

前言:

当前我们对“js代码混淆”大体比较关怀,你们都需要剖析一些“js代码混淆”的相关内容。那么小编同时在网上搜集了一些关于“js代码混淆””的相关资讯,希望看官们能喜欢,兄弟们快快来了解一下吧!

前言初识

混淆的JS代码常见的就是变量替换,增加了可阅读的难度,通常还会加入大量的无用的代码,增加代码的体积,但是不会影响运算速度。极简壁纸的JS混淆就是如此。

逆向目标无限debugger的解决接口返回值加密解密混淆代码的逆向无限debugger

打开极简站点后,打开开发者工具,立即就进入了debugger的界面

通常我们用一律不在此处暂停就能停止进入断点,然后进行我们的本地调试。

但是极简壁纸暂停后,浏览器瞬间卡死,除了这个,它还向我们的浏览器的内存中写入了无限的代码。

这里我们用hook的方式,重置一下debugger方法。这段代码,在网上到处都是。

查找接口

点击分页,获得数据,找到xhr接口,点击预览,发现返回的数据是加密的。

全局搜索decript关键字,无法搜索到任何内容

点击启动器,查看到有类似混淆的代码。

点击最后一个混淆代码,进入源码。打上断点,再次点击分页数据,进入断点后,查找核心解密方法。

鼠标悬浮到解密方法开始的地方,点击进入方法的定义的地方。

接着,我们就把这点js复制下来,放到我们本地的开发IDE中。

运行一下,发现window和window.atob未定义,我们来补环境。

补充完环境后,再次运行,发现还有一些报错,仔细观察出错的位置,在浏览器的控制台中输出并替换,直到所有的错误都消失,并得到解密后的数据

到此,逆向结束。

总结

混淆代码难读懂,逆向的时候,也完全没必要去每行读懂,复制核心代码下来,逐步运行补充环境,逐步调试,逐步拿到结果。

仅供学习参考

标签: #js代码混淆 #逆向js 反爬 #php混淆js #混淆js调试