ApkSignatureKiller是一款用于绕过Android APK文件签名校验的一键式工具,基于Java签名源码开发,旨在帮助开发者便捷地测试和修改未授权的APK程序。但请注意,此工具仅限于合法的软件调试与研究目的使用,请勿将其应用于非法操作或侵犯版权的行为中。
Java签名源码
该工具基于现有的技术进行改进,并完全使用纯Java语言实现。
**原理**
通过在Application入口处插入代码,hook了程序中的PackageManager的getPackageInfo方法,从而改变了获取到的签名信息。
**处理步骤**
1. 读取原APK的签名信息。
2. 替换或添加AndroidManifest.xml中application的name属性。
3. 修改PmsHookApplication.smali文件,并替换其中的签名信息。如果原始APK自定义了Application类,还需要修改PmsHookApplication的父类。最后编译smali代码并将其加入到classes.dex文件中。
4. 对生成的新APK进行重新签名。
**使用方法**
1. 安装Java环境。
2. 修改config.txt中的配置信息,并将需要处理的apk放置在项目根目录下。
3. 运行工具,有三种方式:
- 使用IDEA打开项目并运行源码;
- 在Windows系统中直接执行run.bat文件;
- 对于Linux或MacOS用户,在终端里执行相应命令。