安卓逆向之 新湖南

声明

本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。

本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。

如有侵权,请联系我进行删除

前言

今天这个app是一个入门级别的app,有刚学安卓逆向的小伙伴可以用来练练手

环境

frida 16

手机:idea自带模拟器 api:31

java: openjdk 11

工具包: hutool 

反编译: jadx最新版

app:  2025新湖南v11.1.0老旧历史版本安装包官方免费下载_豌豆荚

反编译

用jadx-gui把apk拖进去就行,最近在反编译app时发现一些app用jadx反编译出来会缺少很多代码,关闭jadx-gui下面选项即可

抓包分析

本次逆向的是 头条的feed流接口,抓包看一下加密参数

经过分析,加密参数是头部的 rmt-device-id,rmt-hash,rmt-request-time三个参数

逆向分析

我自己习惯吧jadx-gui反编译的代码导出到idea中查看,导出后直接搜索关键字 rmt-hash 搜索,定位如下

这段代码下面还有一些其他的加密参数,当前接口没有看到,应该是其他接口需要的,我们就不分析了。

首先 rmt-device-id ,见名知意估计是设备id,可以先写死,其次rmt-request-time,当前时间戳,最后分析rmt-hash ,通过上述代码可以看出他是 常量 + list.get(0) + 常量 + 设备号 + 时间戳 做了一个md5, list.get(0)这个值可以直接用frida hook出入参数,或者直接hook下面的MD5Tools.b的入参

这边可以看到,他的值是个固定值 v5,那么大概代码可以如下(java + hutool + fastjson)

String deviceId = "F0556FBDFB0C46958DF722F29214F664C773A2C1";
        String time = System.currentTimeMillis() + "";
        String hash = MD5.create().digestHex("C50GIK6GDhQNjtMRVRoQbwxVovXCX8DU" + "v5" + "android" + deviceId + time);


        @Cleanup
        HttpResponse execute = HttpUtil.createGet("https://xhnapi2.voc.com.cn/v5/xhn/geth5data?page_id=22_toutiao&appid=9&page=1&is_h5=0&adviceid=430105&list_version=" + time + "&pagesize=60")
                .header("Host", "xhnapi2.voc.com.cn")
                .header("os", "android")
                .header("user-agent", "xhn/11.1.0 (google/sdk_gphone64_arm64; android/31; okhttp/4.12.0)")
                .header("appversion", "11.1.0")
                .header("rmt-device-id", deviceId)
                .header("rmt-hash", hash)
                .header("rmt-request-time", time)
                .header("rmt-device-type", "android")
                .header("rmt-build", "1101019")
                .header("rmt-app-version", "11.1.0")
                .header("rmt-app-id", "9")
                .execute();
        System.out.println(JSONObject.parseObject(execute.body()).toString(SerializerFeature.PrettyFormat));

执行结果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ifccod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值