物语之心 发表于 2021-9-19 17:11

《摩尔庄园》手游登录协议分析

本帖最后由 物语之心 于 2021-9-19 23:36 编辑

## 0x00 前言

>最近学习安卓逆向,刚好发现有个小时候玩过的页游,现在最近一段时间出了手游,拿来练练手也挺好。写的不是很好,请各位看官看个热闹就好。

## 0x01 使用工具

> - Fiddler 任意版本 、jadx、IDA
>
> - 雷电模拟器
>
> - 代{过}{滤}理工具 Postern
>
> - 任意一款编程工具

## 0x02 教程内容

### 0x20 首先配置好 Fiddler 这里就不赘述了,论坛里有很多相关教程,模拟器里配置好


### 0x21 打开游戏,随便登录个账号密码抓个登录包。





> 可以发现返回内容是没经过加密,然后需要的参数 这里就列举几个比较重要的参数

| 表单名称 | 值| 说明|
|----| ----|---|
| channelNo | 110001|登录渠道,如IOS渠道为 210009|
| key | 1881c326106056afee3da488560d75b9 |经过 username与pwd计算得出的md5|
| username | 123123123 |游戏账号|
| userpwd | 13038c34b00c2645f1cf4e5f087c1681 |密码 DES_ECB|
| versionName | 0.13.21082101S |安装包的版本号|

> 返回关键信息

| 表单名称 | 值| 说明|
|----| ----|---|
| sid | eaps7chp                  | 游戏ID   |
| token | 5779c00f1e0a8cd6393b66f6f8930b0c | 登录令牌 |

> 登录成功后 二次令牌登录游戏


> 提交格式为 JSON 需要的关键数据为 sid 和 token

提交地址已匿。可以通过自行复现找到,接下来可以分析dex了。

### 0x22寻找加密过程

> 将APK丢入 Apktool Box 先查个壳


> 然后丢入 jadx 直接载入apk 这里采用最简单的方式,全局搜索提交地址的部分信息 < mobile!sdkLogin.action > 试着找出关键登录函数



>继续跟进搜索 **xxx_LOGIN** 被谁调用了





>可以看到有个调用函数getLoginUrl 提交的时候肯定也有地方引用了这个函数



> 可以看到 他有个 ``XXXSDKUser`` 直接在这里面找就大概率能找到登录封装过程了。



> 这里有SDK登录函数,然后我们仔细分析



> 搜索 encryptMsgMd5 找到对应加密函数 可读性还是挺高的



> 搜索 ```DesUtil.encrypt```



```java
public static String encrypt(String str) {
      try {
            return SocketHelper.m5514E(str);
      } catch (String str2) {
            str2.printStackTrace();
            return null;
      }
    }

```

> 继续跟进 SocketHelper.m5514E





> 发现新版的apk已经将加密函数放到另外加载SocketHelper库文件里 那我们在lib/armeabi-v7a里找到libSocketHelper.so 拖入 IDA里



> 这里说明了 Key 为 leiting 然后跟进去就会发现





> 以上的伪代码 还是比较好分析的,既然知道了加密方法 就可以写程序跑一下了。

## 0x03 封装程序

> 使用易语言 简单又方便









## 0x04 写在最后

本篇文章仅供学习交流,提供一个学习思路。致谢所有为逆向工作做出贡献的所有大佬。

转载请注明来处。

cjjv123 发表于 2021-9-20 22:34

大哥厉害   学到了 我准备 弄这个游戏谢谢 大哥祝大哥中秋节快乐

passcard 发表于 2021-9-19 23:30

大佬,我这里有个apk游戏程序包,现在出现了风险提示,一键登录问题,能帮我做个登录器吗,

zhen577 发表于 2021-9-20 10:02

学习学习,谢谢

edczsy 发表于 2021-9-20 10:57

感谢大佬分享

1042907384 发表于 2021-9-20 11:10

《摩尔庄园》手游登录协议分析

女王约我来巡山 发表于 2021-9-20 14:37

收藏学习

wangzhen666 发表于 2021-9-20 14:48

跟着学习学习 正好有相同类型的问题

兜兜风f 发表于 2021-9-20 15:33

{:1_921:}谢谢分享

MrYu 发表于 2021-9-20 15:59

谢谢分享,,,

我为祖国献红花 发表于 2021-9-20 16:19

最近迷上了这个手游,身边好多人玩呢
页: [1] 2 3 4 5
查看完整版本: 《摩尔庄园》手游登录协议分析