首页
社区
课程
招聘
[原创]某刷步软件接口分析
发表于: 2020-3-22 10:37 7260

[原创]某刷步软件接口分析

2020-3-22 10:37
7260
首先和大家道歉先,由于Mac不会装jadx-gui,分析的时候显示效果有点差,请大家见谅一下。
小白第一次发帖,大佬请勿喷!
挺强哈,那我就抓包看看。发现抓包失败了。

那么软件肯定 禁止抓包了,所以我们另谋出路吧。
先看看软件。发现软件被加固了,需要脱壳下,这里就不演示脱壳过程了。
(论坛上有大佬分享的脱壳机,大家可以去尝试下 如fdex2 反射大师)

脱壳完,通过分析com包下的e4aruntime 发现这是一款E4A编写的安卓软件。

原谅我Mac不会装jadx-gui,暂时用mt看下代码吧。
通过清单文件,我们发现在代码存储在jshare.steps下
所以我们看下主窗口的源代码





通过代码分析,我们可以很清晰的知道,确实调用了方法,禁止了抓包。
而且还有sign值,且通过Apputils下的encode方法进行加密sign值后提交到服务器。
而sign值 是通过 apputils类下的decode方法加密的 传入的值 为 jin.encode() + 账号 + 密码 + 步数 +  jin.encode()
加密的代码在so层。我也不会看so层呀  (继续看后面的操作)
因为java层 有传输 encode() 我们可以知道这个值。
而请求地址也是加密的。而且调用了其他类进行解密。我们单单分析源代码页可以解密出来。

但是,今天我讲一个另类的解密
我们可以这样。因为E4A是一个封装化的软件。所有代码都是封装在e4aruntime中。
所以我们只需要通过Xposed Hook 神器 对这些命令进行hook,就可以知道参数和返回值啦。
但是还有一个点,软件加固了,是腾讯的加固。我们需要hook到这个类加载器才可以hook这些方法成功。
这里告诉大家一个技巧 如何快速找类加载器的方法,通常类加载器的方法下有system.loadlibrary命令,因为加固后都是调用so文件的。
现在最新的 腾讯加固类加载器在  com.stub.StubApp下的attachBaseContext方法
我们通过上图,可以得知这些命令分别是 开始取网页源码,开始发送网络数据4  Authcode加密 我们找下方法。



那么我们hook这个 com.e4a.runtime.加密操作  和 apputils 的加解密方法
代码给大家贴一下

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-3-26 14:19 被pianpu编辑 ,原因: 贴错代码
收藏
免费 3
支持
分享
最新回复 (3)
雪    币: 399
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请问你用的什么模拟器?
2020-3-26 08:56
0
雪    币: 423
活跃值: (413)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
我这是mac版本的网易模拟器。兼容性比较好。
2020-3-26 09:55
0
雪    币: 6
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能提供下app嘛?
2020-5-8 10:45
0
游客
登录 | 注册 方可回帖
返回
//