【安卓逆向】某瓜快数app之sign参数分析

趁着还有一些记忆,赶紧记录下。
今天我们要分析的app 是某瓜快数,版本号v1.0.8 ,小伙伴们可以去各大应用商定自行下载。
只做参数分析,用来学习,如有侵权,请联系博主,第一时间删除。

转载请注明出处:
https://blog.csdn.net/weixin_38819889/article/details/124979777

1.先来抓个包

第一步,先来抓个包,这里看到里面有一个sign参数,sign=“00FC1849F8585E92CCE6B6C8FB8DCC57”,看长度有32位,可以大胆的猜测下是MD5加密,接下来具体的验证下猜想。
在这里插入图片描述
对了,记得这个app被加固有壳,如果不把壳脱掉,是无法查看里面的代码。要是对脱壳不太清楚,移步看这篇文章: 使用 frida+dexdump对apk脱壳

2.jadx静态分析

理论上来说,我们应该直接搜索"sign"参数,但是搜索了一下,没有看到符合预期加密的地方,所以换一个参数"SessionId"搜索

在这里插入图片描述

在这里,看到比较可疑地方hashMap.put("SessionId", str);,来我们先点进去看看到底是个啥,看函数名叫setMd5Sign,然后再看可疑的参数名称 md5md5_body,大胆的猜测下 这里可能就是处理加密逻辑的地方。

在这里插入图片描述

是的没错,这里就是计算加密的地方。简单的逻辑下代码逻辑,首先定义了一个字符串stringBuffer,然后用时间戳和随机数字定义一个currentTimeMillis,之后向stringBuffer拼接几个固定参数,包括固定盐值,SessionId,Platform, _rnd(时间戳),再之后把参数都塞到一个数组中,再对数组排个序,拼接成个字符串,最后做了一个MD5的加密操作。

也就是下面的代码

String md5 = C7495MD5Util.md5(stringBuffer.toString());
C7499SharedPreferencesUtil.getInstance().put("md5_body", md5);

3. frida动态调试

打开frida服务,运行命令: frida -U com.feigua.androidks -l ks_sign.js

hook代码如下:

Java.perform(function(){

    var arrays = Java.use('java.util.Arrays');
    var HttpApiService = Java.use('com.feigua.androidks.api.HttpApiService');

    HttpApiService.setMd5Sign.implementation = function(parm1){
        console.log("↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓");
        console.log("参数1值:",parm1);
        var result = HttpApiService.setMd5Sign(parm1);
        console.log("加密返回值:", result);
        console.log("返回值类型:", result.$className);
        console.log('返回值打印:',arrays.toString(result.toArray()));
        console.log("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑");
        return result

      };
});

在这里插入图片描述

可以看到setMd5Sign方法输入的参数是一个HashMap字典,输出结果是一个数组,第一个值是时间戳,第二个值就是加密的md5结果。

4.python还原

处理的逻辑并不是很复杂,接下来python还原一下,响应数据也拿到手了。
在这里插入图片描述
完事,手工,下一个。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
某flutter-app逆向分析是指对于一个使用flutter框架开发的应用进行逆向工程分析。逆向工程是通过分析应用的代码、二进制文件等来了解其内部实现细节。 首先,我们需要获取该应用的安装包文件(APK或IPA文件),然后进行解包操作,将其转换为可读取的文件目录结构。 接下来,我们可以使用一些工具来提取应用的资源文件、代码文件等。对于flutter-app来说,可以提取出dart文件,这是flutter的主要代码文件,其中包含了应用的逻辑实现。 通过阅读dart文件,我们可以了解应用的代码结构、数据模型、界面设计等。可以分析应用的逻辑实现方法,包括各种函数、类、方法的调用关系。 同时,还可以通过分析相关配置文件、资源文件等来了解应用的各种设置、资源加载方式等。 在逆向过程中,还可以使用一些调试工具来进一步了解应用的运行机制。例如,hook工具可以拦截应用的函数调用,并捕获输入输出数据,用于进一步分析。 逆向分析的目的可以有很多,比如了解应用的工作原理、发现潜在的漏洞或安全问题、提供参考用于自己的开发等。 需要注意的是,逆向分析需要遵守法律规定。未经授权的逆向分析可能侵犯他人的知识产权,涉及到隐私等方面的问题。因此,在进行逆向分析之前,应该了解并遵守当地相关法律法规,避免产生法律纠纷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值