注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除。
学者应洁身自好,切勿做出违法的事情,旨在提供逆向思路。
➣➣欢迎关注本人微信公众号:Anonymous NoteBook➣➣
分享好玩有趣的网络资源&软件工具~
分享各种技术性PDF资源/付费查询PDF资源~
分享各种编程语言、开发技术、分布式事务、大数据与云计算技术~
分享有关网络爬虫(Web爬虫逆向 | 安卓逆向)案例、数据挖掘、技术心得等~
aHR0cHM6Ly93d3cuenExMjM2OS5jb20vZW52aXJvbm1lbnQucGhwP29yZGVyPWRlc2MmdGFiPXJhbms=
问题分析:
请求url,打开调试工具查看请求接口,发现post参数以及返回数据都是加密后的数据:
其实没什么难的,直接搜、调、抠就行。
逆向分析:
全局搜索”param“ 关键字,有一条很可疑:
点进去看下:
很明显,这里就是参数加密以及response数据解密的地方,根据代码中的逻辑就可以看出来,线分析param:
param 是从getParam函数的结果中得来,传进去两个参数 method、obj, 这两个参数都是固定的,调试下就知道:
跟进去getParam函数内看下:
返回AES加密数据,这一步很简单,继续跟下去AES.encrypt函数:
妥妥的AES加密流程,在调试过程中,把固定的值复制一下,在本地js文件中声明下就可以了,不做过多讲解,到这里param加密参数完成。
开始分析页面结果结果函数:
先使用解密函数对数据进行解密,然后使用base64的decode方法继续反解,最后使用eval函数,先看下decryptData函数:
这里使用的DES,往上翻可以找到DES相关函数:
这一步完成,得到的结果使用base64反解:
跟进匿名函数看下:
进入了Base64函数体内,整个文件100多行:
直接拷贝所有 到本地,完成。
最后的eval函数,是js的自执行函数,可以用也可以不用,对结果没影响。
最后,我们把分析过程中所需要的相关函数以及变量,都复制到本地中,开始调试:
运行 正常。
同时,我们把页面返回的加密数据,复制一下粘贴到本地,进行解密尝试:
同样正常。
至此,逆向分析完毕。