吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 8757|回复: 88

[原创逆向图文] app反编译后出现闪退?一个案例教会你(签名验证)

  [复制链接]
1122cf 发表于 2020-10-17 17:07 | 显示全部楼层 |阅读模式

当app进行反编译后修改,再回编译,若出现闪退的情况时,则有可能是由于程序本身已存在签名验证,才会出现闪退,本节课我们学习如何解决因签名验证而出现的闪退现象。

一:阅读签名验证源码

1.打开文件,如下图所示。

图片23.png

2.分析Java层,在调用init这个方法里面,是进行按钮以及其他控件的初始化,如下图所示。

图片24.png

3.接下来是一个注册函数,判断用户名和密码是否相等,从而弹出不同的提示,如下图所示。

图片25.png

4.LoginActivity类继承了BaseActivity,先分析BaseActivity这个类,如下图所示。

图片26.png

5.分析onCreate方法里面的getSignature方法,该方法需要传入参数包名,根据包名获取签名信息,做出判断,如下图所示。

图片27.png

6.完成上述操作后,开始获取签名信息,如下图所示。

图片28.png

7.接着分析getSignature方法,首先,获取一个包管理,如下图所示。

图片29.png

8.获取包管理后,将包名以及其他两个参数传进来,如下图所示。

图片30.png

9.接下来,获取当前签名信息的途径,就是获取包管理等的操作,如下图所示。

图片31.png

10.通过字符串定位,移动到这个类,如下图所示。

图片32.png

11.找到类后,开始获取签名,如下图所示。

图片33.png

12.获取签名时,会发现下面还有一个isOwnapp方法,进行一个是否相等的判断,如下图所示。

图片34.png

13.判断过后,来到这个类,如下图所示。

图片35.png

14.调用isOwnApp方法,对返回值进行判断,条件满足就killProcess,杀死进程,如下图所示。

图片36.png

二:实战分析及过掉签名校验

以霸哥磁力为例。

1.安装程序霸哥磁力,直接拖进雷电模拟器,打开程序,如下图所示。

图片37.png

2.打开androidkiller,对程序进行重新签名,工具位置如下图所示。

图片38.png

3.重新签名过后,再次拖入,点击执行,如下图所示。

图片39.png

4.将原有程序卸载,安装签名后的程序,如下图所示。

图片40.png

5.安装完成,运行程序,提示:很抱歉,“霸哥磁力搜索”已停止运行,如下图所示。

图片41.png

探究:正常apk修改后,还会出现上面情况,是修改出错,还是签名校验出现问题?

6.这里继续分析,首先将原版程序拖到androidkiller中进行反编译,如下图所示。

图片42.png

7.反编译完成后,判断程序崩溃在打开程序时,说明检测签名校验的逻辑会在这种执行时间比较早的地方,先从启动界面开始查看,如下图所示。

图片43.png

8.找到Oncreate方法,直接从Oncreate方法开始分析,然后点击咖啡图标,查看Java代码,如下图所示。

图片44.png

9.找到Oncreate方法和onclick方法,如下图所示。

图片45.png

10.一开始调用了函数:qian,如下图所示。

图片46.png

11.点击该函数,获取包名管理,再进行签名,然后hash,如下图所示。

图片47.png

12.如果这里不等于,会出现一个弹窗。继续分析,发现这里只是进行简单的判断就返回了,所以并不会杀死程序,如下图所示。

图片48.png

13.继续查看onclick函数,发现在它下面还存在一个方法,是将bug函数返回值给eee,判断是否相等,然后弹窗,如下图所示。

图片49.png

14.分析这个bug,在oncCreate里面,只有一个qian方法,然后是点击该方法,最后是bug,继续点击进来,发现是native,上面是so库的加载,如下图所示。

图片50.png

15.解压文件,将so文件拖入IDA,发现没有JNI_onload,只有以Java_开头的一个文件,如下图所示。

图片51.png

16.双击进入,简单分析。先压栈,然后move传参,然后调用getSignHashCode,如下图所示。

图片52.png

17.点击进入,发现签名三兄弟,如下图所示。

图片53.png

18.继续往下分析sinatureHashcode,从字符串中可以看出来,这些一块一块函数的调用,按快捷键F5,查看伪代码,查看具体参数,如下图所示。

图片54.png

19.回到上一层,只传了一个R0,那么这里就是env,如下图所示。

图片55.png

20.第二个参数没有被static修饰,那就是obj,如下图所示。

图片56.png

21.将参数类型分别修改为JNIEnv *a1,jobject a2,如下图所示。

图片57.png

22.隐藏类型,效果如下图所示。

图片58.png

23.调用各种方法,若返回值与下图不相符,则直接exit退出,如下图所示。

图片59.png

小结
今天通过一个案例教大家从java到so层,先分析动态注册和静态分册,再找到逻辑代码,找有签名三兄弟的函数,找到后分析这个函数的引用,进而可以采取手段过掉签名验证。

评分

参与人数 22威望 +1 HB +65 THX +13 收起 理由
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
attackmyth + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
极速菜 + 1
459121520 + 1
消逝的过去 + 1
冷亦飞 + 1
三月十六 + 1
liugu0hai + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
瀧tz + 1
ldljlzw + 1
zwj00544 + 1 + 1
梦飞吖 + 1
上帝的恩赐 + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
playboy + 1
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
雪花公子 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
fcguo800 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
Shark恒 + 1 + 50 + 1 [快捷评语]--你将受到所有人的崇拜!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fcguo800 发表于 2020-11-10 09:39 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ff666 发表于 2020-12-18 22:14 | 显示全部楼层

虽然看不太懂,但是非常感谢大神的教程
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
雪花公子 发表于 2021-2-27 18:59 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2021-5-11 19:09 | 显示全部楼层

为什么找不到这款APK
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-1-30 11:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
XeTI3 发表于 2022-2-22 13:36 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
BurnlOvKFAPD 发表于 2022-3-1 08:09 | 显示全部楼层

Thanks~ 向楼主致敬!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2022-3-1 08:09 | 显示全部楼层


[快捷回复]-软件反汇编逆向分析,软件安全必不可少!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YKkUuXp10 发表于 2022-3-1 08:09 | 显示全部楼层

必火 正好需要  谢谢分享啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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