APK应用完整性概述
APK应用完整性即移动客户端程序安装后,在每次启动时都会对自身文件进行完整性进行校验。防止攻击者通过反编译的方法在客户端程序中植入自己的木马,客户端程序如果没有自校验机制的话,攻击者可能会通过篡改客户端程序窃取手机用户的隐私信息。
APK应用完整性检查
1、使用Apktools反编译APK文件

反编译后的结果

2、修改编译后的文件
这里可以选择修改smali文件或者修改图片内容,这里选择修改smail文件
修改的策略:
a、修改图片(可以替换图片、修改图片内容,但是要保持后缀名相同)
b、修改Smail文件(添加Smail代码,例如静态变量、函数等等,或者修改原有的smail代码,但是要注意修改的内容)

3、重新打包

注:如果此处打包不成功,说明存在完整性校验,如果打包完成则需要跟进一步的测试来确定是否真的存在完整性问题。
4、签名
本地密钥库的生成以及签名的具体命令可以参考:https://blog.youkuaiyun.com/Fly_hps/article/details/81366352
本地密钥库生成参考:https://blog.youkuaiyun.com/Fly_hps/article/details/83583323
APK签名完成:https://blog.youkuaiyun.com/Fly_hps/article/details/83583717

5、完整性验证
在Android模拟器或者测试机上面安装该APP,看是否可以成功安装,如果可以成功安装则说明存在“完整性校验问题”,如果不能安装成功,则说明不存在“完整性问题”。

至此,APP的完整性测试完成!

本文详细介绍了如何通过反编译、修改、重新打包、签名和完整性验证等步骤,检测APK应用是否存在完整性校验问题,以防止客户端程序被篡改,保护用户隐私。
3232

被折叠的 条评论
为什么被折叠?



