本教程仅限于学术探讨,也没有专门针对某个网站而编写,禁止用于非法用途、商业活动等,否则后果自负。如有侵权,请告知删除,谢谢!
目录
一、攻克难点
二、分析接口
三、结束
一、攻克难点
本期app难点:360加固、防抓包
1.关于脱壳请看这篇文章
360(drizzleDumper)脱壳教程“某药数据”_360脱壳_`Jay的博客-CSDN博客360(drizzleDumper)脱壳教程“某药数据”https://blog.csdn.net/weixin_47115747/article/details/128812688
2.关于抓包请看这篇文章,这里的VPN配合Charles的工具不适合较高本版的安卓系统,推荐使用SocksDroid.apk配合Charles使用
Android9.0 Charles 模拟器抓包_`Jay的博客-CSDN博客Charles抓包https://blog.csdn.net/weixin_47115747/article/details/130604712
二、分析接口
1.分析接口可得:auth_key、响应data为关键加密,sign等未知加密参数可有可无
2.先看下auth_key的加密流程,加密入口有url路由跟一个固定的字符串
3.进入加密函数看下,基本没什么好看的,路由、时间戳、固定的字符串拼接md5完事
4.至于响应的data就不附图了,直接上代码, decompress就是对数据解压缩操作,传入响应data与code即刻解压数据
import zlib
import base64
from json import loads
def root(t, e):
return ''.join(chr((ord(n) - 65 - e) % 26 + 65) if 65 <= ord(n) <= 90 else
chr((ord(n) - 97 - e) % 26 + 97) if 97 <= ord(n) <= 122 else n for n in t)
def decompress(cipher_text, code=106):
code = code - 100 if 99 < code < 127 else code
return loads(zlib.decompress(base64.b64decode(root(cipher_text, code)), 31).decode())
5.看下请求结果咯,莫得问题
三、结束
水水水文章也是一种技术活水水水
水水水水水水水水水水水水水
水水水水水水水水水水水
水水水水水水水水水
水水水水水水水
水水水水水
水水水
水水
水