返回列表 发新帖

【详细分析】姨妈来咯签名校验再次分析

  [复制链接]

36

主题

3633

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2137
好评
101
信誉
192

MT论坛最佳新人考神MT论坛帅哥MT论坛新人MT论坛活跃会员MT论坛侠客

发表于 2022-5-7 22:17:01 | 显示全部楼层 | 阅读模式  来自 湖北武汉
本帖最后由 怜渠客 于 2022-5-30 21:25 编辑

这个软件的签名校验我在一年前就发过帖子,手撕“姨妈来咯”签名校验。当时对逆向的理解还不深,现在重新分析一下。


一年前我的贴子:https://bbs.binmt.cc/thread-68293-1-2.html
芽衣大佬的分析帖子https://www.52pojie.cn/thread-1511100-1-1.html

我认为此软件的最简单的过签方式就是改掉Java层判断,只改一处即可过签,可见我一年前的贴子)


今天写的方式反而麻烦一些。

一、目录:

此次要处理的校验:

1.native层的获取签名
2.软件入口校验
3.PMS代理校验

二 、详细:


1.native获取签名



IDA打开 libnative-interface.so;



找到java方法getSHA1Signature的native实现
F5转C代码


可以看到有两处获取了签名值。

第一处 signatures是最常用的,也是pms代理就能过掉的。
第二处是getApkContentsSigners,是API 28以上新增的方法,PMS过不掉。


至于用哪个获取签名,则有一处判断。
“v11<28“
此处是判断API是否大于28,也就是能否用新方法获取签名


鉴于大规模改so我没那个能力,此时的想法是,把判断改成无条件,一律用signatus来获取签名,再配合pms代理,不就行了?


把这个改成”B“跳转,直接运行signatures即可

改完之后转C看看,果然只有这一种方式获取签名值了。



打包放回去,替换原来的libnative-interface.so即可。


2.入口校验

用mt的过签普通版,再替换修改好的so文件,本以为可以了,打开之后,直接闪退。
抓一下闪退日志。



问题发生在这个类的这个方法。进去看看。
转成Java后,一看就明白了。



这不是入口类校验吗?
入口字符串MD5加密后,和一个字符串进行对比。字符串应该是正确的类名的MD5加密。

此处把对比的结果改成1,即可绕过入口校验。


全局搜索一下,看看是否只有一处入口校验?
搜索那个特定的字符串即可,进去看看。
”a6ea472b4530e56b0f089fe0a887677a“




有三处入口检验,每个都进去,修改对比的结果为1.



此时,入口校验已经绕过。


3.PMS代理校验






再次打开,主页进去了,点击设置闪退。
查看日志。





进入发生闪退的类看看,转Java



研究过PMS代理的,一眼就能看出,这是校验自身是否被代理。

修改方式和入口校验类似。


让它和正确值的对比结果一样即可。


再全局搜索一下,有没有其他代理检测的地方。




有四个,每个都进去,和上面修改方式一样。




此时,pms代理校验已经绕过。

打开:


一切正常。


三、总结:


1.getApkContentsSigners,pms代理过不掉,通过修改,使其用能被pms代理的来获取签名。
2.入口校验
3.pms代理校验。


ps:确实很麻烦,不如之前的方式简单,但是分析一次还是很有趣的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已有8人评分好评 金币 理由
耗子爱吃草 + 1
弥天 + 1 + 1 分享下看日志的软件呗
会飞的鱼t5a + 1 + 1
送你一朵小红花 + 1 神马都是浮云
清隍 + 1 + 1
偶尔.c + 1 + 1
无法显示 + 1 + 1
遇见便是上上签 + 1 + 1

查看全部评分 总评分:好评 +7  金币 +7 

雾失楼台,月迷津渡
回复

使用道具 举报

73

主题

1100

帖子

4073

积分

禁止发言

金币
642
好评
22
信誉
83
QQ
发表于 2022-5-7 22:20:24 来自手机  | 显示全部楼层  来自 浙江温州
谢谢分享楼梯
回复

使用道具 举报

58

主题

1986

帖子

7162

积分

硕士生

Rank: 6Rank: 6

金币
1202
好评
18
信誉
100

考神MT论坛帅哥MT论坛新人

发表于 2022-5-7 22:20:46 来自手机  | 显示全部楼层  来自 天津
看看大佬
回复

使用道具 举报

55

主题

1090

帖子

2901

积分

大学生

Rank: 5Rank: 5

金币
741
好评
7
信誉
100
QQ
发表于 2022-5-7 22:21:16 来自手机  | 显示全部楼层  来自 河南郑州
教程很详细,学到了
回复

使用道具 举报

26

主题

2968

帖子

7993

积分

硕士生

Rank: 6Rank: 6

金币
360
好评
19
信誉
100

考神MT论坛最佳新人MT论坛帅哥MT论坛活跃会员

发表于 2022-5-7 22:21:20 来自手机  | 显示全部楼层  来自 广东深圳
圣诞节基督教
回复

使用道具 举报

31

主题

1708

帖子

5471

积分

硕士生

Rank: 6Rank: 6

金币
573
好评
0
信誉
100

MT论坛帅哥考神MT论坛新人

发表于 2022-5-7 22:21:55 来自手机  | 显示全部楼层  来自 广东茂名
感谢分享
回复

使用道具 举报

15

主题

986

帖子

3349

积分

大学生

student

Rank: 5Rank: 5

金币
1975
好评
24
信誉
130

MT论坛帅哥考神MT论坛新人MT论坛最佳新人

QQ
发表于 2022-5-7 22:23:19 来自手机  | 显示全部楼层  来自 吉林
牛逼大佬
回复

使用道具 举报

2

主题

102

帖子

527

积分

初中生

Rank: 3Rank: 3

金币
277
好评
11
信誉
100
发表于 2022-5-7 22:25:33 来自手机  | 显示全部楼层  来自 福建
来咯来咯来咯
回复

使用道具 举报

69

主题

5332

帖子

1万

积分

博士生

滑稽

Rank: 7Rank: 7Rank: 7

金币
1541
好评
62
信誉
101

MT论坛新人MT论坛最佳新人MT论坛活跃会员考神

QQ
发表于 2022-5-7 22:25:46 来自手机  | 显示全部楼层  来自 广东
看看     
回复

使用道具 举报

5

主题

490

帖子

1811

积分

高中生

Rank: 4

金币
934
好评
0
信誉
100

MT论坛帅哥MT论坛新人

发表于 2022-5-7 22:25:55 来自手机  | 显示全部楼层  来自 浙江杭州
大佬
回复

使用道具 举报

39

主题

1331

帖子

5926

积分

硕士生

Rank: 6Rank: 6

金币
1331
好评
4
信誉
100
发表于 2022-5-7 22:26:28 来自手机  | 显示全部楼层  来自 四川
小白看的似懂非懂 不过感谢大佬的详细介绍
回复

使用道具 举报

0

主题

1433

帖子

3976

积分

大学生

Rank: 5Rank: 5

金币
2869
好评
0
信誉
100
发表于 2022-5-7 22:26:38 | 显示全部楼层  来自 湖北武汉
教程很详细,学到了
回复

使用道具 举报

3

主题

591

帖子

2649

积分

大学生

Rank: 5Rank: 5

金币
1044
好评
8
信誉
100

MT论坛新人

QQ
发表于 2022-5-7 22:27:51 来自手机  | 显示全部楼层  来自 北京
看看大佬操作
默默无闻
回复

使用道具 举报

39

主题

1134

帖子

5582

积分

硕士生

Rank: 6Rank: 6

金币
1511
好评
198
信誉
115

MT论坛新人MT论坛最佳新人MT论坛活跃会员

发表于 2022-5-7 22:28:19 来自手机  | 显示全部楼层  来自 马来西亚
其实getApkContentsSigners上面会有sdk判断 你可以强制让她走旧的签名代码即可
回复

使用道具 举报

39

主题

1134

帖子

5582

积分

硕士生

Rank: 6Rank: 6

金币
1511
好评
198
信誉
115

MT论坛新人MT论坛最佳新人MT论坛活跃会员

发表于 2022-5-7 22:30:08 来自手机  | 显示全部楼层  来自 马来西亚
哈。。。原来我有预知
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表