本博客地址:https://security.blog.csdn.net/article/details/82931038
一、破解NDK层的签名校验
NDK层签名校验破解的思路与Java层签名校验破解的思路相似:
1、通过输入“signature”关键字定位获取本Apk签名信息的函数(在下文中,我们用getApkSign来标记该函数);
2、找出调用的getApkSign函数的函数列表,然后在得到的函数列表中筛选出签名校验函数(在下文中,我们用verifyApkSign来标记该函数);
3、梳理verifyApkSign函数的流程,找到判断签名合法性的关键代码,然后修改关键代码以绕过签名校验。
二、破解步骤
1、抓包进行信息搜集,包括关键URL、关键字段等。
2、使用Apktool对相关APK进行解包。解包方法不再详述
3、Notepad++-->
搜索-->
在文件中查找。
地址:解压的smali文件夹下
搜索内容:Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature
注意:所出现的文件路径,如果是第三方文件路径则不是,如果未搜到则代表没有java层签名。
4、Notepad++搜索在文件中查找。
地址:解压的lib文件夹下