事先声明
本文章仅为我个人记录学习进度,文章内容严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
目标
- 目标:获取网站传输过来的票房数据
- 地址:www.endata.com.cn/BoxOffice/BO/Year/index.html
过程分析
一:寻找解密代码
首先F12打开浏览器工具进行抓包,找到链接之后我们看到链接里面的数据是加密的
点击启动器,前面两个是发送数据的,不需要看,我们从第三个开始
进去之后就看到ajax,这个很明显就找到地方了,我们下个段点看看
很明显 e 就是加密数据,然后 webInstace.shell(e) 很可疑,我们控制台输出一下,解密的,那这个就是解密的函数了
控制台输入 webInstace.shell ,然后点击输出的内容跳进去看看
可以看到数据全部混淆掉了,这种就是OB混淆了
二:分析OB加密
ob混淆的特点
-
一般由一个大数组或者含有大数组的函数、一个自执行函数、解密函数和加密后的函数四部分组成;
-
函数名和变量名通常以
_0x
或者0x
开头,后接 1~6 位数字或字母组合; -
自执行函数,进行移位操作,有明显的 push、shift 关键字;
具体详细的介绍可以看这篇帖子:http://t.csdnimg.cn/USOEi
我们继续分析,先下一个断点看看,数据是否在这里
下段之后确定数据是在这,那我们将从 this 开始的函数复制下来尝试分析
复制出来之后我们观察复制下来的代码,可以发现一个关键的函数 _0x2246(这个函数可以往上翻介绍OB的特点下面的那张图片里面出现过),这个函数是解密字符串的,可以将混淆之后的字符串还原回去
然后再将还原回去的字符串依次替换掉,这样的代码就清晰很多了
清晰之后就可以开始分析代码了,剩下的就交给你们了(主要是耗费时间有点长,懒得写了,展示一下最终结果吧)