`
kakukemeit
  • 浏览: 32699 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

android apk的重新签名

 
阅读更多

android apk的重新签名 

http://zhengjunwei2007.blog.163.com/blog/static/35297942201222741713492/

 

用到的工具:

java -jar
signapk.jar
公钥私钥
adb.exe install

 

 

 

参考的文章:

 

 

 

 

 

 

 

SignApk.jar是一个已包含在Android平台源码包中的工具。如果要使用SignApk.jar,你需要创建一个带有对应证书/公钥的私钥。而你可以使用Openssl来创建私钥/公钥对。

 

 

 

签名:
java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有对应权限的APK

查看是否签名过:

 

jarsigner -verify xxx.apk

 


优化APK:
zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk

查循APK是否优化过:
zipalign -c -v 4 MyDemo.apk

 

 

 

一个需要重新签名的场景:

 

目的:
调用settings,并实现自己的动作。
技术难点:
自己的apk需要和settings为同一个签名才能调用。
实现思路:
卸载settings package, 删除settings中的签名,使用和自己apk同样的签名, 安装settingsapk,再安装自己的apk, 达到自己的apk调用settings的apk。
 
具体做法:
adb uninstall com.android.settings
用解压工具打开apk(不解压)
找到META-INF目录
删除CERT.RSA和CERT.SF
保存并退出压缩工具
 
重新签名
keytool -genkey -alias android123.keystore -keyalg RSA -validity 20000 -keystore android123.keystore
或者使用:
java -jar signapk.jar shared.x509.pem shared.pk8 phone.apk phone_sined.apk

 

 

 

什么是pre-installapk

就是Android系统预装的一些应用,例如Messaging、Contacts、Calendar等等。

pre-install apk的签名方式

给apk签名的一般方法有两种,一种是在Eclipse里使用“Android Tools -> Export SignedApplication Package…”这种方式签名;另一种是用命令行签名。这里就不详细描述了。

而pre-install apk的签名比较特殊,使用源码中的默认签名。可以查看Android的源代码得知。

$ signapkpublickey.x509[.pem] privatekey.pk8 input.jar output.jar

其中,*.x509.pem为x509格式公钥,pk8为私钥。

 

设计思路是这样的:首先apk其实就是一个压缩包,我们可以将其用rar解压出来,那么我们都数据怎样放入apk呢?其实只要把数据(电子书文件)放到安卓的assets目录即可,android端只要读取assets中的文件显示出来即可。但是如果只是修改assets,会发现当再次打包成apk时,程序不能运行。这是因为apk一旦修改就必须要更新数字签名才可以使用。可以到网上下载SignAPK.jar的jar包,实现了android的动态签名技术。

 

 

 

分享到:
评论

相关推荐

    android APK 重新签名

    ### Android APK 重新签名知识点详解 #### 一、概述 在Android开发过程中,有时需要对已有的APK文件进行重新签名。例如,在某些情况下,原始的签名密钥可能丢失或出于安全考虑需更换签名密钥;又或者是在进行二次...

    APK重新签名

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

    Windows版本 Android Apk签名工具

    本篇将详细讲解Windows版本的Android Apk签名工具及其相关知识。 一、Android应用签名的重要性 Android系统要求每个发布到市场的APK文件都必须有一个数字证书签名。这个签名用于验证应用程序的开发者身份,确保应用...

    windows下android apk签名工具

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

    android10 apk签名文件

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

    android Apk签名的3种方式

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

    android-APK系统签名文件.rar

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

    android apk签名工具

    本文将详细介绍Android APK签名工具及其使用方法。 Android Studio,作为官方推荐的集成开发环境,内置了签名工具,允许开发者轻松地为他们的应用签名。描述中提到的"android system signature tool"很可能是指`...

    Android_apk打包签名

    在Android开发过程中,APK打包签名是一个至关重要的环节,它涉及到应用的安全性和可分发性。本文将详细讲解Android APK的打包和签名过程,以及如何使用Eclipse、IntelliJ IDEA等工具进行签名操作。 首先,理解签名...

    Android Apk签名工具

    在Android开发过程中,Apk签名是一个至关重要的步骤,它确保了应用的安全性和完整性。本文将深入探讨Android Apk签名工具的使用,以及它在构建和发布Android应用过程中的作用。 首先,我们需要理解什么是Apk签名。...

    android apk重签名工具

    标题提到的“android apk重签名工具”是一种方便的工具,用于重新签署已签名的APK文件。在Android系统中,每个APK都必须经过数字签名,以便验证应用的来源和确保其完整性。这个过程涉及到使用私钥对APK进行签名,...

    Apk签名工具(三种工具)

    在Android应用开发中,APK签名是一个至关重要的步骤,它确保了应用的完整性和来源的可信性。在本文中,我们将深入探讨三种常用的APK签名工具:AndroidResEdit、360签名工具以及爱加密签名工具。这三种工具分别提供了...

    android apk 签名工具 通过该工具可替换系统APK

    在Android开发过程中,APK签名是一个至关重要的环节,它确保了应用的安全性和完整性。当我们谈论“android apk 签名工具”时,我们通常是指用于对Android应用程序进行签名的工具,以便它们可以在设备上安装和运行。...

    Android Apk去掉签名以及重新签名的方法

    Android Apk去掉签名以及重新签名的方法 Android开发中很重要的一部就是用自己的密钥给Apk文件签名,不经过签名的Apk文件一般是无法安装的,就算装了最后也是失败。 网上流传的“勾选允许安装未知来源的应用”其实跟...

    Android APK 系统签名工具(signapk.jar)

    Android APK 系统签名工具(signapk.jar)是Android应用开发过程中不可或缺的一部分,它主要用于对APK文件进行签名,这是Android系统安装应用的基本要求。在Android平台上,每个应用程序都需要一个数字签名来验证其...

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

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

    APK万能签名工具

    APK万能签名工具是一款专为Android应用开发者设计的实用工具,主要用于解决在对APK文件进行修改或更新后出现的签名错误问题。在Android系统中,每个APK文件都有一个数字签名,这个签名用于验证应用程序的来源和完整...

    Android apk 空包签名说明

    ### Android APK空包签名详解 #### 一、引言 在Android应用开发过程中,签名是发布应用程序的一个重要环节。正确地进行签名不仅能够确保应用程序的完整性和安全性,还能避免因签名问题导致的应用无法正常更新或...

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

    微信签名工具,即`Gen-Signature-android.apk`,是一个专为开发者设计的工具,用于生成和管理Android应用的签名文件。这个工具可以帮助开发者对他们的APK进行签名,以确保其能够在用户的设备上正常安装和运行。由于...

Global site tag (gtag.js) - Google Analytics