android资apk资源加密,4399游戏盒 安卓APK sign 加密分析 之 so文件分析

编程知识 更新时间:2023-05-01 22:51:35

4399游戏盒 安卓APK加密分析 + so文件分析

4399 游戏盒都知道吧 今天玩他的加密 不过他的加密在so里面 是个md5  java层首先拼接的一段明文  传入到so里面在so里面有一个秘钥  加上它 进行的MD5 也很简单

直接上数据

http://m.api.4399/user/box/android/v1.0/log-in.html

dateline=1504335770&deviceIdentifier=867947773617331&info=1&model=vivo+X9Plus&password=FfQn1pwmgRY%3D&sign=a51c1c806a43936ad1108b966813ffed&username=15845454545

{"code":"321","result":{},"message":"密码错误"}复制代码dateline=1504335770&deviceIdentifier=867947773617331&info=1&model=vivo+X9Plus&password=FfQn1pwmgRY%3D&sign=a51c1c806a43936ad1108b966813ffed&username=15845454545

dateline=1504335770 时间戳

deviceIdentifier=867947773617331 设备号

info=1  固定  不知道干嘛的

model=vivo+X9Plus  手机型号

password=FfQn1pwmgRY%3D  密码 加密后的

sign=a51c1c806a43936ad1108b966813ffed   签名校验   搞的就是他

username=15845454545 账号

知道加密参数 反编译APK 进行分析

搜索sign  最终定位到

1.png (31.54 KB, 下载次数: 0)

2017-9-2 15:10 上传

protected void buildRequestParams(String arg8, ArrayMap arg9) {

ArrayMap v3 = new ArrayMap();

this.buildSignRequestParams(arg8, v3);

ArrayList v4 = new ArrayList(v3.keySet());

Collections.sort(((List)v4));

StringBuilder v5 = new StringBuilder();

int v2;

for(v2 = 0; v2 < ((List)v4).size(); ++v2) {

Object v0 = ((List)v4).get(v2);

Object v1 = v3.get(v0);

if(!TextUtils.isEmpty(((CharSequence)v1))) {

arg9.put(v0, v1);

v5.append(((String)v1));

}

}

arg9.put("sign", this.buildSignValue(v5.toString()));

}

protected abstract void buildSignRequestParams(String arg1, ArrayMap arg2);

protected String buildSignValue(String arg2) {

return AppNativeHelper.getServerApi(arg2);

}

}复制代码前面的不用管 都是一些参数的获取与拼接 重点为

arg9.put("sign", this.buildSignValue(v5.toString()));

put 了一段数据  参数名是sign   执行buildSignValue 方法 并传递了一个 v5 的文本参数  返回了一段数据

点击buildSignValue 方法跳转到

2.png (13.64 KB, 下载次数: 0)

2017-9-2 15:13 上传

protected String buildSignValue(String arg2) {

return AppNativeHelper.getServerApi(arg2);

}复制代码在这里 下个断点  动态调试下

成功段在这里

3.png (91.47 KB, 下载次数: 0)

2017-9-2 15:16 上传

出现了明文 15043364968679477736173311FfQn1pwmgRY=15845454545

先来理解下这段明文 分割开来查看  1504336496  867947773617331  1  FfQn1pwmgRY=  15845454545

1504336496  时间戳

867947773617331 设备号

1   info

FfQn1pwmgRY=  加密后的密码

15845454545  账号

继续运行  出现密文

4.png (41.65 KB, 下载次数: 0)

2017-9-2 15:22 上传

明文  15043368848679477736173311FfQn1pwmgRY=15845454545

密文  09ce7b25a9f0792c08573f7bae716980

既然出现了明文 跟密文  那么我们是不是可以来测试一下的至于算法是md5 就不用多说了

5.png (84.11 KB, 下载次数: 0)

2017-9-2 15:31 上传

发现加密结果并不一样  那么应该还有其他参数 继续分析

双击 getServerApi  函数

6.png (19.14 KB, 下载次数: 0)

2017-9-2 15:33 上传

发现来到了这里  注意了 这里头部是加载so文件的代码

System.loadLibrary("m4399");   字符窜 m4399  那么他调用的so文件就是 libm4399.so 查看下 lib文件夹有没有这个文件

7.png (12.43 KB, 下载次数: 0)

2017-9-2 15:37 上传

有这个文件 那么 此时我们就需要另一款工具了 IDA  软件百度有 可自行下载

拖入到ID 分析

8.png (61.33 KB, 下载次数: 0)

2017-9-2 15:39 上传

这里是 so文件公开的一些方法 以便外部调用  查找  getServerApi

9.png (25.88 KB, 下载次数: 0)

2017-9-2 15:41 上传

定位到这里  代码看着懵逼 看不懂是吧  那就对了我也看不懂 哈哈  都是一些汇编代码

没关系  你可以动态调试 so  一步一步的跟 他会出现明文的 包括java层 的明文

我就不动态调试了 因为这个so太简单  我们看到 下面有个call   call什么意思?玩破J的 都知道吧 他是调用函数入口

双击它 进入

10.png (12.95 KB, 下载次数: 0)

2017-9-2 15:45 上传

在这里 我们看到一个 MD5_SERVER_KEY

鼠标移动放过去发现

11.png (15.36 KB, 下载次数: 0)

2017-9-2 15:46 上传

有个字符串是吧 那么在双击它 进入

12.png (23.38 KB, 下载次数: 0)

2017-9-2 15:46 上传

我们来到了这里 发现很多字符串 注意 MD5_SERVER_KEY   MD5  KEY  他是不是一个秘钥呢?

其实 不管PC 逆向 还是安卓 有的人应该知道  有时候就是靠蒙   蒙的心理还是要有的 玩意蒙对了呢?是不

ef2vx#sf*^FlklSD*9sdf(m$&qw%d7po   用这个 加上明文  之前我说了 他的加密就是 java层获取了一段明文 传入到so文件 再加上一个秘钥的  那么我们就用明文加上他

13.png (114.11 KB, 下载次数: 0)

2017-9-2 15:51 上传

看吧 怎么样  蒙对了吧 哈哈 那么就是他了  没错

最后我要重复一句话

不管PC 逆向 还是安卓 有的人应该知道  有时候就是靠蒙   蒙的心理还是要有的 玩意蒙对了呢?是不

不管PC 逆向 还是安卓 有的人应该知道  有时候就是靠蒙   蒙的心理还是要有的 玩意蒙对了呢?是不

不管PC 逆向 还是安卓 有的人应该知道  有时候就是靠蒙   蒙的心理还是要有的 玩意蒙对了呢?是不

下面插播一条广告~~~  QQ交流群:468241990  欢迎各路大神进入交流  共同学习

更多推荐

android资apk资源加密,4399游戏盒 安卓APK sign 加密分析 之 so文件分析

本文发布于:2023-04-24 09:14:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/ecf29d7bf4f78e4a29871e83161741bf.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   资源   游戏   apk   android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 100156文章数
  • 26016阅读数
  • 0评论数