【app逆向】某壳逆向的wll-kgsa参数,signature参数

对于某壳的数据的逆向,首先要做的事情就是抓取数据包,毕竟所有的爬虫逆向都是如此。

抓包

还好运气不错,只是包不是加密的,而是明文,直接对请求的数据解析即可。

请求头参数分析

然后可以对参数进行简单的分析,还好url请求还好,没有加密,只有城市id,页面页,页面显示信息条数。

不过这个数据,还好,可以简单的看出主要有三个参数很重要:

authorization
txt 复制代码
 "authorization": "MjAxODAxMTFfYW5kcm9pZDplMzRkODNmNjYyZGMxY2FjOGU2NTUzOWMyZGUxZDBkZjY1OTUwMjlh",

这个参数还好逆向,这个跟踪的话,会发现这个是对原始了一个sha1加密后加上特殊字符串,然后再进行base64加密即可。

而且这个也很简单,可以直接搜索20180111_android可以定位到。而且也很简单直接用frida hook这个方法即可得到参数的原来值。

(注:不过老版本可以hook,新版本需要hook 程序中带有检测frida的程序。)

device-id-s
txt 复制代码
 "device-id-s": "8cc587b67f55449e9e7b79f31eca18c7;DulLb7Xzc6z/OcrswojXub5LjNsyqKWVyRD7nz18Nhg2F3WjPUjW4or+SWSoBJrronKKfaNsC/IfKx45B5JmRtvQ;020102MLOHNznalun+09dbhmjDOK8/NURbRKYNAJabMgaIgjAgY59tS77ZFi8QjWTWMcde8POzj70JGdrjGnyuJ4IqkA=="

这个值相对来说,无需解密,因为这个是直接再app启动的瞬间在配置文件context.xml中生成的,简单的理解就是服务器返回的一个参数,用来标志某台手机的指纹。

不过修改后会影响数据的返回,那么可以简单的推出其在某个加密的请求头中有用。

事实证明的确是有用,其用在wll-kgsa参数中。

wll-kgsa

这个参数才是逆向的

txt 复制代码
  "wll-kgsa": "LJAPPVA accessKeyId=sjoe98HI099dhdD7; nonce=ImJ93DEcdtFeLQruMan2pOnAtrXwz0JY; timestamp=1753079227; signedHeaders=Device-id-s,AppInfo-s,User-Agent,Hardware-s,Channel-s,SystemInfo-s; signature=4zK7qLw2kLqdRSRnSqtZWHZmNFJf6DKqsE/VUxh4ENg=",

看似很多的参数,可以跟踪代码得知,只需要逆向wll-kgsa中的是signature即可。

  • 如sjoe98HI099dhdD7,这个程序自带,不用管。
  • nonce 这个的对uuid的一个md5加密,如图

signature

现在主要看signature,这个加密其实最后调用的so文件,所以需要对so文件进行逆向了,这个参数其实也可以通过搜索signature这个值进行搜索,运气不错,还好不多:

简单查看一下,就知道最想的是那个。如果不知道那个可以通过frida脚本进行hook,最后跟踪方法到

txt 复制代码
public String[] aA(String str, String str2, Long l)

这个方法可以看出其是在String\[\] strArrSign = SecManager.sign(str, str2, l.toString())这个返回值后进行了一次简单的算法,而这个算法很容易还原。

然后再看SecManager:

从这里可以看sign方法是一个native方法,也就是调用底层so文件的方法,然后根据名字找到so文件

这里可以看出so文件名字是:libkmsec.so

然后解压程序在lib目录下找就可以,然后用软件IDA Pro打开这个文件。

如果是静态的最好,可以直接搜sign,但是是否不好这个是动态的生成的,所以只能逆向libkmsec.so中动态方法了。

然后进行动态逆向就可以,然后就可以得到数据了。

结果


相关推荐
Patrick在香港7 分钟前
你写的「比较 token」函数,正在用 36 纳秒泄露密码:时序攻击实测
python·安全·标准库·时序攻击·常量时间
蜗牛互联网8 分钟前
Python Agent 工具调用:审批令牌、参数白名单和累计预算
java·开发语言·人工智能·windows·后端·python
维克兜率天36 分钟前
【维克】统计套利:寻找市场的“定价误差“
人工智能·python·算法
承渊政道40 分钟前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
郭庆汝1 小时前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python
Yolanda_20221 小时前
26.网络模型的保存与读取
人工智能·pytorch·python
weixin199701080161 小时前
《京东JOS API:落地方案、接口边界与业务踩坑 —— 联盟免费 vs 商家按量的双轨制》(附python源码)
java·网络·python
外收内放1 小时前
数据分析(数据查询与选择)
python·学习·数据分析
林澈在路上1 小时前
哪个写歌软件可以用自己声音?MELO音乐详解
人工智能·python·算法
外收内放1 小时前
数据分析(数据读取与写入)
python·学习·数据分析