破解安装签名校验

案例App:书旗

一、未修改App正常运行

APP正常运行,无闪退

 

二、反编译后不做修改重新打包

开始反编译,打开命令行:

apktool d shuqi.apk

结果如图:

 

image.png

 

不做修改,直接打包:

apktool b shuqi

image.png

在  `shuqi\dist\` 目录下找到重新打包的apk,并生成签名

keytool -genkey -keystore my-release-key.keystore -alias my_alias -keyalg RSA -keysize 4096 -validity 10000

image.png

 

对App进行签名:

jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar shuqi.apk shuqi.apk my_alias

image.png

安装之后,运行app会闪退。

 

三、修改so文件破解验证

我们什么都没改,应该可以想到,这应该是做了签名验证,毕竟我们哪里都没改啊。那文件这么多,app 究竟是在哪里改的?

根据 App 启动流程:

App Click --> AMS --> AndroidManifest.xml --> application --> onCreate

如果 onCreate 加载,那么app就会进入生命周期,所以推断是在 application

查找 application

打开 jadx ,加载 shuqi.apk ,点击导航  搜索文本:application ,选择类名

image.png

这里出现了好几个 application ,一个一个仔细查看,其中 Atlas 是由阿里巴巴移动团队自研的手机淘宝安卓客户端容器化框架,肯定不是。ShuqiApplication这个类就很可疑,很大概率在这里面,点开看下:

怎么知道哪里是我们要的?

App是在运行的时候获取了签名,然后进行了比较,先粗略看下代码,比较的话就是if了,先看看onCreate方法

image.png

第一个if是在做初始化,第二个if我们可以看到checkSigAsync这个方法,checkSig都是很可疑的关键字,选择这个方法,右键点击跳到它的声明

image.png

看到它里面的if,获取该App的签名进行字符串比较,符合的话就会返回true,不符合的话就会执行下面的KillProcess对App进行退出。看到着应该就能推断出来了,只要我们令这个方法返回true或者不执行这个方法就可以。本来可以用frida进行hook返回true,但是frida需要App一直开启着,像这种一开就闪退的就不适合。那我们就只能令这个方法不执行了。

修改代码我们只能在smail文件进行修改,smail文件和java文件是一一对应的,可以在刚才编译出来的shuqi目录里看到smail这个文件,找到该类对应的smail文件,根据 com.shuqi.app.ShuqiApplication  这个名字路径,进行查找:

image.png

用文本工具打开这个文件,可以看到checkSigAsync这个方法是在138行,我们进行搜索138,

image.png

我们把这4行代码都给删掉,然后再次对这个App进行打包。

进行签名

jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar shuqi.apk shuqi.apk my_alias

签名之后,将上次的卸载,再次进行安装,可以使用adb安装:

adb uninstall com.shuqi.controller
adb install .\shuqi_sign.apk

安装之后,运行该App,发现不会闪退了,成功!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值