返回列表 发新帖

【逆向小记】记一次手撕签名与过开屏广告

  [复制链接]

36

主题

1477

回帖

6691

积分

硕士生

博士生

Rank: 6Rank: 6

金币
593
好评
44
信誉
145

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

QQ
发表于 2024-11-21 21:30:03 | 显示全部楼层 | 阅读模式  来自 四川
免责声明:本文章仅供学习和研究用途,旨在学习安卓逆向工程的基本技术和操作流程,以提升个人技术能力。文章中的案例仅作为技术演示,所使用的任何具体应用软件均未透露关键信息,仅为学习目的选取。如有侵权,请联系本人或管理员处理


请回复查看,pdf文档免费送
pdf文档:https://sb-baidu-sb.lanzout.com/iM1bv2fs12ba

记录正文
直接签名后进入软件,跳出提示


dex直接搜字符串进行定位。Java代码如下
  1. private boolean nc() {
  2.         ConfirmDialog confirmDialog;
  3.         m mVar = new m(this, "SHA1");
  4.         if (!mVar.b() && ((confirmDialog = this.j1) == null || !confirmDialog.Fb())) {
  5.             ConfirmDialog c = e.c(this, "温馨提示", "您当前的安装包异常\n请重新下载官方版本", "我知道了", new d(this));
  6.             this.j1 = c;
  7.             if (c != null) {
  8.                 c.Ob(false, false).Sb(17, 17).Yb(Float.valueOf(18.0f), Float.valueOf(16.0f), Float.valueOf(17.0f), Float.valueOf(17.0f)).Ub((Float) null, Float.valueOf(8.0f));
  9.             }
  10.         }
  11.         return mVar.b();
  12.     }
复制代码
关键在b方法
  1. public final boolean b() {
  2.         this.c = c();
  3.         if (!TextUtils.equals(this.b, "SHA1") || !l0.g(this.c, this.d)) {
  4.             if ((TextUtils.equals(this.b, "MD5") && l0.g(this.c, this.e)) || TextUtils.isEmpty(this.c)) {
  5.                 return true;
  6.             }
  7.             return false;
  8.         }
  9.         return true;
  10. }
复制代码

结合m类初始化的代码可以简单分析得出b字段用于存储签名对比的算法类型(MD5或SHA1),g方法是直接比较两个字符串是否相等。因此这里直接对b方法返回true
保存,安装测试
软件崩溃,logcat抓日志抓到信息如下


明显在lib...-security.so里面有签名验证,此外在java层被调用了getMD5Sign的native方法
一开始我直接在java层给调用getMD5Sign方法的地方直接传入MD5签名的字符串,结果还是崩溃,显示一个native方法出问题了,应该是so层有校验没通过


那就在so层看一下getMD5Sign方法
把lib...-security.so方法拖到ida里
搜字符串"getMD5Sign"看到了结果



两次交叉引用(ctrl+x)



进来后转伪c(F5)


关键在于v7,用来比较当前签名和存储的签名是否一致。当两个相同时,strcmp函数返回0,即v7为0。!v7就为1,就执行if里的代码,返回的就是v3而不是-1


因此此处直接force jump(强制跳转,等价于判断结果恒为真)到loc_4333c


hex变成了13 00 00 14,地址是432F0


打开MT进行16进制修改


保存,安装测试可以正常运行,不再崩溃

但有开屏广告



打开activity记录,发现先进入的splashactivity再进的mainactivity,我这里使用修改dex方式跳过splashactivity



因为先进入splashactivity,所以试着在com.Kingdee.Express.module.splash.SplashActivity搜代码mainactivity,发现没有结果
于是再退到com.Kingdee.Express.module.splash下搜,发现两个结果


进第一个

直接查找e字段的get调用,把全部改为true

进第二个


直接查找b字段的get调用,把全部改为false
d字段先不管,如果不可用的话再修改

保存,安装测试。发现进入主页面神速,直接跳过广告


本帖子中包含更多资源

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

x
已有6人评分好评 金币 理由
忆梦玖安 + 1
龙一 + 1 + 1 赞一个!
你好我不在 + 1 + 1 很给力!
hixanny-MT + 1 + 1 看不懂硬看,收藏。
zhao3261 + 1 + 1 很给力!
零星0523 + 1 + 1 嘻嘻,还给你

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

回复

使用道具 举报

3

主题

1159

回帖

3030

积分

大学生

Rank: 5Rank: 5

金币
3303
好评
0
信誉
100
发表于 2024-11-21 21:30:49 来自手机  | 显示全部楼层  来自 云南
楼主分享的东西很好,必须支持下,希望楼主再接再厉,多发精品贴。
回复

使用道具 举报

16

主题

1778

回帖

1万

积分

博士生

阿巴阿巴

Rank: 7Rank: 7Rank: 7

金币
2219
好评
244
信誉
190
发表于 2024-11-21 21:32:41 来自手机  | 显示全部楼层  来自 贵州
路过看看
回复

使用道具 举报

16

主题

1778

回帖

1万

积分

博士生

阿巴阿巴

Rank: 7Rank: 7Rank: 7

金币
2219
好评
244
信誉
190
发表于 2024-11-21 21:34:21 来自手机  | 显示全部楼层  来自 贵州
进步真快
回复

使用道具 举报

5

主题

3553

回帖

6283

积分

硕士生

Rank: 6Rank: 6

金币
802
好评
0
信誉
107
发表于 2024-11-21 21:35:02 来自手机  | 显示全部楼层  来自 山东
看看隐藏并感谢分享
回复

使用道具 举报

3

主题

2970

回帖

9184

积分

硕士生

Rank: 6Rank: 6

金币
6265
好评
0
信誉
100

MT论坛最佳新人

发表于 2024-11-21 21:35:06 来自手机  | 显示全部楼层  来自 广东
学习学习
回复

使用道具 举报

5

主题

2151

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2475
好评
5
信誉
100

MT论坛帅哥

发表于 2024-11-21 21:35:16 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

17

主题

6296

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
2850
好评
6
信誉
100

考神

发表于 2024-11-21 21:35:45 来自手机  | 显示全部楼层  来自 山东
看看隐藏
回复

使用道具 举报

13

主题

3126

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
5042
好评
1
信誉
100
发表于 2024-11-21 21:36:01 来自手机  | 显示全部楼层  来自 山西
谢分享辛苦了
回复

使用道具 举报

20

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
2644
好评
9
信誉
96

考神

发表于 2024-11-21 21:36:15 来自手机  | 显示全部楼层  来自 河北
回复看看
回复

使用道具 举报

29

主题

1327

回帖

3841

积分

大学生

Rank: 5Rank: 5

金币
2507
好评
1
信誉
98

考神

发表于 2024-11-21 21:36:41 来自手机  | 显示全部楼层  来自 四川
看一看
回复

使用道具 举报

134

主题

3460

回帖

1万

积分

博士生

无敌最俊朗

Rank: 7Rank: 7Rank: 7

金币
3010
好评
49
信誉
105
发表于 2024-11-21 21:38:01 来自手机  | 显示全部楼层  来自 四川
手撕学习
回复

使用道具 举报

6

主题

1191

回帖

4329

积分

大学生

Rank: 5Rank: 5

金币
1098
好评
1
信誉
100

MT论坛帅哥考神

发表于 2024-11-21 21:40:51 来自手机  | 显示全部楼层  来自 江苏
感谢生活
回复

使用道具 举报

18

主题

1877

回帖

6602

积分

硕士生

大学牲

Rank: 6Rank: 6

金币
3967
好评
3
信誉
100
发表于 2024-11-21 21:43:35 来自手机  | 显示全部楼层  来自 四川
看看隐藏
回复

使用道具 举报

8

主题

621

回帖

2392

积分

大学生

Rank: 5Rank: 5

金币
1932
好评
0
信誉
100

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

发表于 2024-11-21 21:43:40 来自手机  | 显示全部楼层  来自 上海
学习
回复

使用道具 举报

发表回复

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

本版积分规则

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