利用XServer解密APP

第一步配置XServer

在已经ROOT的安卓手机安卓Xposed和XServer(https://github.com/monkeylord/XServer)

然后监听应用SELECT APP–>APPLY

这里有个坑:第一步从Xposed模块打开XServer后需要这时候打开那个监听的APP然后XServer才工作(提供WEB界面)


第二步端口转发到电脑:

adb forward tcp:8000 tcp:8000


第三步在电脑8000端口转接到手机8000端口能看到如下服务:

1594867343229

并在该服务工作。


第四步搜寻加解密函数:

可疑的尝试:aes 、 rsa 、 decode 、encode 、 crypt 、 des 等。

依次搜寻–>Hook–>产生数据–>查看数据–>直到抓到明文数据:

1594867629518

抓包阶段完成


拿到关键hook函数

过滤参数修改为:tongcheng.lib.core.encode.b.a

Request–> [5400] Lcom.tongcheng.lib.core.encode.json.b;->a(Ljava.lang.Object;)Ljava.lang.String;

Response–>[5400] Lcom.tongcheng.lib.core.encode.json.b;->a(Ljava.lang.String;Ljava.lang.reflect.Type;)Ljava.lang.Object;

这里这个包比较复杂,还涉及包的签名

1594868786124

我们不知道签名函数传入形式,因此二次Hook签名函数

1594868936464

跟进 Lcom.tongcheng.netframe.wrapper.gateway.entity.RequestJson;#com.tongcheng.netframe.wrapper.gateway.entity.RequestJson@fe64332

因此这个参数传入到 Lcom.tongcheng.lib.core.encode.json.b;->a(Ljava.lang.Object;)Ljava.lang.String; 然后就生成了sigin.因此我们需要利用两个函数来生成修改的Sign

通过参数两次加密传递即可做到修改包。

这里建议右键新建便签页,因为invoke时还需要用到tracer

本文标题:利用XServer解密APP

文章作者:

发布时间:2020年07月16日 - 10:38:21

最后更新:2020年07月16日 - 11:29:48

原始链接:http://laker.xyz/2020/07/16/%E5%88%A9%E7%94%A8XServer%E8%A7%A3%E5%AF%86APP/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。