`
须等待
  • 浏览: 212852 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 对apk进行重新签名

阅读更多
由于某些限制,会有这样的需求:拿不到apk源码的情况下要对其中的一些资源进行修改,在Android签名的限制下,直接解压修改会导致签名不一致,这样的apk文件在手机上是无法被安装的,这样就只能对apk进行重新签名来生成新的apk包。从另外一个角度上来说,这也是从系统的级别来保证安全:一个被特定私钥签名的apk是无法被篡改且无法抵赖的。

要对apk进行重新签名,首先要生成自己的公私钥对,然后删除apk中原有的签名信息再对apk进行重新签名。通过解压可知,apk的签名信息全都存在于META-INF中,删除这个文件,原apk就变成了一个未签名的apk。

后面的做法摘自http://blog.csdn.net/zengyangtech/article/details/5801708,感谢原作者的探索。

C:/Program Files/Java/jdk1.6.0_10/bin>keytool -genkey -alias android123.keystore
-keyalg RSA -validity 20000 -keystore android123.keystore
输入keystore密码:[密码不回显]
再次输入新密码:[密码不回显]
您的名字与姓氏是什么?
  [Unknown]:  android123
您的组织单位名称是什么?
  [Unknown]:  www.android123.com.cn
您的组织名称是什么?
  [Unknown]:  www.android123.com.cn
您的组织名称是什么?
  [Unknown]:  www.android123.com.cn
您所在的城市或区域名称是什么?
  [Unknown]:  New York
您所在的州或省份名称是什么?
  [Unknown]:  New York
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=android123, OU=www.android123.com.cn, O=www.android123.com.cn, L=New York, ST
=New York, C=CN 正确吗?
  [否]:  Y

输入<android123.keystore>的主密码[img][/img]
        (如果和 keystore 密码相同,按回车):

通过以上步骤可以获得一个keystore,里面存储的是公私密钥信息。

接下来就可以签名了。

执行下面这句jarsigner -verbose -keystore test.keystore -signedjar test_signed.apk test.apk test.keystore 就可以生辰签名的apk文件,这里输入文件android123.apk,最终生成android123_signed.apk为Android签名后的APK执行文件。下面提示输入的密码和keytool输入的一样就行了
这里-keystore 里是刚才生成的密钥
-signedjar 第一个参数test_signed.apk是输出apk,test.apk是原apk,testkeystore是刚才生成的密钥对的别名
执行完毕之后就可以得到重新签名的apk了。

更加详细的参数解释可以在原作者博客里找到。

0
1
分享到:
评论

相关推荐

    android10 apk签名文件

    在Android系统中,APK签名是一个至关重要的过程,它确保了应用的完整性和开发者身份的验证。在Android 10中,这个过程没有本质的变化,但随着系统的更新,签名文件的作用和安全要求更加严格。本篇文章将深入探讨...

    微信签名工具Android 安装包(Gen-Signature-android.apk)

    这个工具可以帮助开发者对他们的APK进行签名,以确保其能够在用户的设备上正常安装和运行。由于微信官方的下载链接已经失效,这款工具可能成为一个备用资源。 首先,我们来了解一下Android应用签名的重要性。在...

    APK重新签名

    接下来,我们将深入探讨APK签名的概念、作用,以及如何进行重新签名。 首先,我们来了解**APK签名**的基本概念。在APK开发完成后,为了确保其来源可信和防止篡改,开发者会使用一个私钥对APK进行数字签名。这个签名...

    Windows版本 Android Apk签名工具

    Windows版本的Android Apk签名工具是Android SDK工具包的一部分,它允许开发者使用密钥对APK进行签名。这个工具通常包括`jarsigner`命令行工具和`zipalign`优化工具,它们对于发布高质量的Android应用至关重要。 三...

    android开发apk进行系统签名工具

    这通常涉及到对APK进行系统签名的过程。本教程将详细解释如何使用提供的"android开发apk进行系统签名工具"来为你的应用程序赋予这些权限。 首先,理解系统签名的概念至关重要。在Android系统中,签名是验证应用来源...

    Android系统签名APK

    APK签名的过程主要包括以下几个步骤: 1. **生成密钥对**:首先,开发者需要使用密钥生成工具(如Java的keytool)创建一个包含公钥和私钥的密钥对。私钥用于签名,而公钥则用于验证签名。 2. **构建APK**:开发...

    windows下android apk签名工具

    在Android应用开发中,APK签名是一个至关重要的步骤,它确保了应用的完整性和来源的可信性。在Windows环境下,开发者通常使用特定的工具来对APK进行签名,以使其能够在Android设备上顺利安装和运行。本文将详细介绍...

    Android_apk打包签名

    本文将详细讲解Android APK的打包和签名过程,以及如何使用Eclipse、IntelliJ IDEA等工具进行签名操作。 首先,理解签名的意义至关重要。Android应用的签名主要用于确认应用的来源和确保其完整性。每个开发者的签名...

    android APK 重新签名

    在Android开发过程中,有时需要对已有的APK文件进行重新签名。例如,在某些情况下,原始的签名密钥可能丢失或出于安全考虑需更换签名密钥;又或者是在进行二次打包时,需要确保应用的完整性和安全性。本文将详细介绍...

    android 对于apk签名汇总

    在Android系统中,APK签名是一项至关重要的过程,它确保了应用的安全性和完整性。APK是Android应用程序的打包格式,包含了所有的代码、资源文件以及元数据。本文将深入探讨APK签名的概念、目的、流程以及相关工具的...

    android Apk签名的3种方式

    在Android开发过程中,Apk签名是一项至关重要的步骤,它确保了应用的完整性和开发者身份的认证。Android系统使用SHA1-RSA算法进行签名,保证了应用程序的不可篡改性。本文将详细介绍三种Android Apk签名的方法。 1....

    android-APK系统签名文件.rar

    一、APK签名的重要性 1. **验证身份**:签名是证明应用来源合法性和开发者身份的方式,确保用户下载的是来自可信源的软件,而非恶意篡改的版本。 2. **权限控制**:只有经过签名的APK才能安装到Android设备上,并且...

    Android Apk命令行编译签名打包大全

    7. **APK签名** 使用JDK的jarsigner工具对未签名的APK进行签名: ``` jarsigner -keystore key.keystore -storepass keystore.password -signedjar signed.apk unsigned.apk keyalias ``` 参数说明: - `-...

    Android 签名APK获得系统权限

    首先,理解APK签名的重要性。Android系统要求所有安装的APK必须经过签名,签名的过程是对APK的内容使用私钥进行加密,验证应用的完整性和开发者身份。默认情况下,每个开发者都会有自己的签名,用于发布应用。然而,...

    Android Apk签名工具

    Android Apk签名工具是开发者用来对Apk进行签名的软件工具,它可以简化这一过程。这个工具通常包含以下功能: 1. 生成密钥:开发者可以使用工具创建一个密钥对,包括私钥和公钥。私钥由开发者保管,用于签名Apk;...

    Android Platform签名提取apk签名 用于Android studio,eclipse调试

    我们同样可以将Eclipse生成的apk按照场景一的方法进行重新签名,再安装到我们的设备上。但是,有时可能我们会经常修改apk源码进行调试验证,如果每次都把apk拿出来进行重新签名,再安装,这样确实麻烦了一些。...

    android apk签名工具

    这个过程涉及到了签名工具,正如标题所示,“Android APK签名工具”正是用于这个目的。当APK的数字签名过期或者在反编译修改了APK内部文件后,就需要用到这样的工具来重新签名。 签名的过程主要包括以下几个关键...

    Android apk 空包签名说明

    本文将详细介绍如何使用Java JDK自带的`jarsigner`工具对Android APK进行签名。 #### 二、签名工具介绍 **jarsigner** 是Java Development Kit (JDK) 自带的一个工具,主要用于数字签名JAR文件,包括Android APK...

    android开发 APK签名软件

    在Android应用开发中,APK签名是一个至关重要的步骤,它确保了应用的完整性和开发者身份。当遇到"android.keystore 拒绝访问"的问题时,通常是因为权限问题或者keystore文件损坏。针对这种情况,我们可以借助第三方...

Global site tag (gtag.js) - Google Analytics