js逆向05_ob混淆花指令,平坦流,某麦网(突破ob混淆寻找拦截器)

鼠标选中这行的话,会自动运行,并直接解密,所以这里说的就是尽量不要一下子选中!

解释什么叫花指令:

\]中括号大部分都是字符串 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/eba7eb170fd54a16a0a7f88c5fc6cc0f.png) 就是通过传值调用函数,但是函数中却有这种对变量混淆的代码,就叫花指令 如下演变而来! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/39bd61e53c774ade9c9843054b537cf4.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/cfb416eba12e476f9670255194367ab4.png) 这两个步骤就混淆了阅读,让其阅读没那么明确! 就是正常逻辑是蓝色框,但是普通逻辑却是红色框 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2ebcba167ca74e2e93a138e605cee055.png) ### 平坦流 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3655020837ab40fe9864ac995e2d96f7.png) var arr = '7\|1\|8\|9...'这里的数字就,通过比如第一次arr\[0\]代表执行如下的case7 、第二次arr\[1\]case1、第三次arr\[2\]case8、第四次arr\[3\]case9这些个步骤! 执行顺序混淆! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7d5f9221471640c58e4f4a299a5c86e9.png) 就是将字符串\['stringify'\],替代这个点。然后放到数组里面,然后这个字符串还可以进行base64加密,图中的push新增和shift删除就是调整数组的顺序! 请求和响应拦截器,到时候怎么辨别出来,记住undefined。这个then是异步的!!找到请求拦截器后就可以将其断点去掉了! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2f0f9433c27d40edae464760569da575.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b51ab6c36ac14052a5d65b5bbc5e55cc.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b9539ed775c743a4a5800758bb31713a.png) ### qi麦网 目标:解密这个包的analysis! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0f7b16a22e7e4facbb50bc63bfc5ae92.png) 我们知道这个initialtor是有promise.then(),是经过过滤器的但是实际上我们在search里面找不到这个interceptor.request.use(),所以证明这个拦截器是被ob混淆过的! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2b9a7c3b30384341bccabeb2c6dcaad2.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e453a3a806a34a79bf5e1d0b5fa5ff3e.png) use的话可以滑下去看源码,unshift就是在数组前面新增! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/adfb56c9d8094b8ab2d29799e46451e4.png) t很重要,等会儿说! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/92c5afc08a58444289615f0061640f1a.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7deb3a0d95684876a5b7397d4325c5f0.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ea1a88e904d3432187822d90d1560432.png) o就是正式发请求了,n是什么如下图: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/da6b62dbb41b4424abe8dd385d785355.png) 有行代码,就是n = Promise.resolve(),resolve就是说这个事情ok了,然后回到n要干什么 n.then ,n然后要干什么,shift就是要从前面删除,t.shift就是从t前面一点点删除。成功跑fulfilled,失败跑rejected!整个流程就是发请求拦截器,请求,响应拦截器 所以我们就知道t就是记录整个响应流程!我们打断点在这里。。。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/24b1f0cd4e7d4067b126ecb3e81f3eec.png) 所以我们就可以定位这个拦截器!!! 【注意】实际操定位有点烦琐,这里这样点,在sources下断点! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/694abebdb7714fa0870f521ee87ab54f.png) 然后我们就找到t了!!! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/50352c464231426ca063b0c0b8c4933e.png) 【注意】定位!!! 3是undefined这个是很有用做定位用的!我们直接定位第0个,进去 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bff0ff3c6c1045859f640ac37f958413.png) 当我们找到拦截器后,前面.then()就可以放掉了! 剩下就是ob混淆的事情了。。。。。。。。。。。 然后我们根据url在拦截器下断点! ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/81e93ef3a088432cbc07d0fe224b20c7.png)

相关推荐
咸鱼2.02 小时前
【java入门到放弃】杂记
java·开发语言
ZengLiangYi2 小时前
从文章到脚本:把 Git Tag + Semver + CI/CD 收敛成一个 `release.mjs`
前端·github
im_AMBER2 小时前
Lexical依赖版本冲突与标题渲染
前端·react.js·前端框架
起风了___2 小时前
解决大数据渲染卡顿:Vue3 虚拟列表组件的完整实现方案
前端·程序员
前端fun2 小时前
React如何远程加载组件
前端·react.js
淑子啦2 小时前
React录制视频和人脸识别
javascript·react.js·音视频
代码煮茶2 小时前
Vue3 路由实战 | Vue Router 从 0 到 1 搭建权限管理系统
前端·javascript·vue.js
golang学习记2 小时前
Go 实时批处理:让数据库少挨点打 [特殊字符]
开发语言·数据库·golang
Zacks_xdc2 小时前
【全栈】云服务器安装 MySQL + Next.js 连接完整 Demo
服务器·javascript·mysql·阿里云·nextjs·云服务器