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)

相关推荐
添砖java。。。4 分钟前
java实现mqtt链接并控制门锁设备
java·开发语言
M ? A11 分钟前
你的 Vue 3 响应式状态,VuReact 如何生成 React Hooks 依赖数组?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
codeejun13 分钟前
每日一Go-53、Go微服务--限流与降级
开发语言·微服务·golang
阿里嘎多学长15 分钟前
2026-04-17 GitHub 热点项目精选
开发语言·程序员·github·代码托管
FlyWIHTSKY15 分钟前
HTML 中 `<span>` 和 `<div>` 详细对比
前端·html
Wadli17 分钟前
集群C++聊天服务器
服务器·开发语言·c++
凭君语未可19 分钟前
为什么需要代理?从一个基础问题理解 JDK 静态代理
java·开发语言
luoqice21 分钟前
利用flv库读取flv文件时长c程序
c语言·开发语言
NotFound48623 分钟前
Go语言中的图形界面开发实战解析:从GUI到WebAssembly
开发语言·golang·wasm
competes25 分钟前
React.js JavaScript前端技术脚本运行框架。程序员进行研发组项目现场工作落地的一瞬之间适应性恒强说明可塑性强度达到应用架构师的考核标准
前端·javascript·人工智能·react.js·java-ee·ecmascript