0x01 昨天写了反编译,今天就写下签名的问题
0x02 apktool的重打包功能大家都知道,堪称神器,各类破解人事必备之良器,
用法不多说,只说签名容易遇到的问题
0x03 创建私钥仓库这个事情就不多说,方法很多,eclipse和keytool 都有类似功能
需要注意的是,这个私钥仓库一共有两个密码,一个是私钥仓库的密码(storepass),另一个则是仓库里面每一个私钥对应一个密码(keypass),都是需要记住的。一个私钥仓库可以有多个私钥。
换句话说每个私钥仓库创建的时候,这几个参数是要记录的
-storepass 123456789 私钥仓库的密码
-keypass 1987XXXX 私钥的密码
-keystore F:\\webattack\android\AndroidMasterKey_icefish.key 私钥仓库文件在哪
icefish 私钥的名称
0x04 下来就是签名的东西了,jarsigner
用法 jarsigner -help可以看到。
这里面比较关键的几个参数
-storepass -keypass -keystore 上面的都说了,
-verbose 输出详细信息
特别注意的是 -signedjar 这个参数,他一共有三个选项,第一个是签名后的apk文件名,第二个选项是需要签名的apk路径,第三个很关键,就是前面提到的私钥的名称了。
一个常见的如下所示
jarsigner -verbose -keystore F:\\webattack\android\AndroidMaster Key_icefish.key -storepass 123456789 -keypass 1987XXXX -signedjar Modify_signed. apk F:\\webattack\android\result\ModifyCompile\Modify.apk icefish
0x05 在实际使用中,我们成功打包,成功签名,然后Android机子上一装,报错:
10-14 07:06:50.223: W/PackageParser(61): java.lang.SecurityException: META-INF/ICEFISH_.SF has invalid digest for res/menu/main.xml in /data/app/vmdl-2089432299.tmp
甚至没有改动任何代码的直接签名都报这个错。
原因如下:
http://hardpass.iteye.com/blog/1534636
实质就是jdk7改变了jarsigner的默认选项,不再是SHA 128了,而是变成了SHA256,
这样Android 模拟器就验证不对了
解决办法就是再jarsigner的调用中在强制设置摘要算法
-digestalg SHA1 -sigalg MD5withRSA
这样就可以了。
相关推荐
在这些步骤完成后,你就得到了一个签名过的APK,可以安全地在Android设备上安装和运行。 总的来说,`Apktool`虽然不是专门的签名工具,但配合其他工具,可以方便地完成APK的签名流程。了解和掌握APK签名的原理和...
apktool签名工具,1.安装JAVA。 2.完成安装后在桌面我的电脑上点右键,按以下步骤点击:属性>高级>环境变量,在下面的“环境变量”点击新建,创建两个系统变量:[1.变量名:JAVA_HOME 变量值:C:\Program Files\Java...
4. **处理资源ID**:在反编译过程中,`apktool`会生成一个`res`目录,其中包含了每个资源的唯一ID。在重新打包时,它会确保这些ID与原始APK保持一致,避免因ID冲突导致的问题。 5. **依赖管理**:`apktool`可以处理...
apk包的反编译用Apktool工具,可以去https://bitbucket.org/iBotPeaches/apktool/downloads下载最新的apktool.jar包,Auto-sign是签名工具,只有签名后的apk才能使用
`Signapk.jar` 是一个用于给APK文件签名的小型工具,通常在APK经过修改后需要重新签名才能在设备上正常运行。签名验证是Android系统的一部分,确保应用的来源可信。 **Signapk.jar的使用:** 1. 准备两份文件:原始...
在Android应用开发中,Apktool是一个非常重要的工具,它允许开发者对APK文件进行反编译、修改和再编译。这个工具对于理解APK的工作原理、调试、本地化或者自定义应用程序的外观和功能等方面都大有裨益。在本文中,...
总结,Apktool是一个强大且不可或缺的工具,尤其对于Android开发者和逆向工程师,它提供了深入分析和修改APK的能力,促进了Android应用的二次开发和调试。不过,使用时需谨慎,遵循合法合规的原则。
这个"APKtool安卓反编译V1.2-新增签名.zip"文件很可能是该工具的一个更新版本,专注于新增的签名功能。以下是关于APKtool、安卓反编译以及新增签名相关的详细知识点: 1. APKtool介绍: APKtool是由IzzySoft开发的...
包括apktool1.5.2.tar、apktool-install-windows-r05-ibot.tar Auto-sign 三个压缩包和操作说明,网上的一些涉及到这些压缩包的教程都需要一个个下载,现整合到一起。网上有一些带图形界面的或者按照提示选择序号的...
总之,apktool是一个强大的工具,它提供了对APK文件的深入洞察,让开发者能够更灵活地控制和定制应用程序。然而,正确使用并理解其工作原理至关重要,这不仅涉及技术知识,也包括尊重知识产权和遵循最佳实践。
总结,apktool作为一款强大的图形化打包解包签名工具,不仅简化了Android开发者的日常工作,还提供了深入理解APK结构的机会。通过熟练掌握apktool的使用,开发者可以更高效地进行应用调试、优化和定制,从而提升开发...
4. **打包**:在修改完成后,APKtool可以将所有修改过的文件重新打包成一个新的APK文件,保留原有的签名或添加新的签名。 5. **签名**:根据Google Play的规定,发布到市场的APK必须经过签名。APKtool提供了一种...
主要原因是因为使用apktool编译回没有签名. 所以不能安装, 而ApkToolKitV3.0 编译回去是签名了的. 用apptool编译后, 再使用signapk.jar签名就可以了. java -jar signapk.jar testkey.x509.pem testkey.pk8 test.apk ...
10. **社区支持**:IzzySoft维护了一个活跃的社区,用户可以在论坛或GitHub上提问、分享经验或报告问题。此外,有很多教程和文章可以帮助初学者快速上手Apktool。 总的来说,Apktool 2.9.3是一个强大的Android应用...
在Android应用开发领域,Apktool是一个非常重要的工具,它主要用于安卓APK应用程序的反编译与再编译。标题中的"apktool、apktool.jar、apktool.bat"分别指的是Apktool工具本身、Apktool的Java可执行文件以及用于...
在Android开发领域,APKTool是一个非常重要的工具,它主要用于对APK文件进行解包和打包操作。APKTool允许开发者深入理解APK内部结构,包括反编译、修改和重新打包应用程序,这对于调试、逆向工程、本地化翻译以及...
Apktool 2.4.0是这个工具的一个版本,它提供了对Android资源的解析、反编译和打包功能,支持多种Android平台。 Apktool的工作原理主要包括以下几个步骤: 1. **解析APK**:Apktool首先读取APK文件,解析它的结构,...
3. **重新打包与签名**:在修改完成后,Apktool可以将这些修改后的资源重新打包成一个新的APK文件,并且可以使用--sign选项进行签名,使得修改后的APK能在设备上正常安装和运行。 4. **保持原始资源结构**:Apktool...