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)

相关推荐
叼烟扛炮8 分钟前
C++ 知识点17 友元
开发语言·c++·算法·友员
计算机安禾17 分钟前
【c++面向对象编程】第2篇:类与对象(一):定义第一个类——成员变量与成员函数
开发语言·c++
青山师17 分钟前
【AI热点资讯】5月10日AI热点:Cloudflare裁员1100人、Musk庭审第二周回顾、OpenAI发布Codex Chrome插件
前端·人工智能·chrome·ai·ai热点
Dxy123931021617 分钟前
Python Pillow库:`img.format`与`img.mode`的区别详解
开发语言·python·pillow
亿牛云爬虫专家20 分钟前
深度解析:数据采集场景下的 Java 代理技术实战
java·开发语言·数据采集·动态ip·动态代理·代理配置·连接池复用
小小仙。25 分钟前
IT自学第四十二天
java·开发语言
TA远方39 分钟前
【JavaScript】Promise对象使用方式研究和理解
javascript·编程·脚本·web·js·promise·委托
兩尛43 分钟前
c++知识点5
开发语言·c++
澈2071 小时前
C++内存管理:new/delete与内存泄漏实战
开发语言·c++·内存分区
其实防守也摸鱼1 小时前
VS code怎么使用 Conda 安装预编译包
开发语言·网络·c++·vscode·安全·web安全·conda