apk文件的重新签名

原创 2015年07月07日 11:03:57

1.   首先我们需要有自己的签名证书


                         打开dos窗口,进入jdk的bin目录

                         执行下面的命令            keytool -genkey -alias luochen.keystore -keyalg RSA -validity 20000 -keystore luochen.keystore


这里我们对几个参数进行一下说明

          

      keytoolJava JDK自带的证书工具

-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)

-alias参数表示:证书有别名,-alias luochen.keystore表示证书别名为:luochen

-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取

-validity 20000表示有效时间20000( K3

-keystore luochen.keystore表示要生成的证书名称为luochen


如上所述,会让你填入一些签名必须的信息,在你操作无误以后,会在bin目录下面生成一个luochen.keystore文件


这个就是我们需要的签名证书

2.   我们在重新签名之前,需要删除apk文件中原有的签名文件,那么就需要对apk文件进行解压

            同样的,我们进入dos窗口,请确保已经准备好apktool 

            工作准备完毕,我们执行下面的命令   apktool   d    F:\software\Auto-sign\Xiezi.apk        F:\software\Auto-sign\Xiezi 


参数说明

     apktool(一种专门用来操作apk文件的工具)

     d     在apktool里面表示  解压

     F:\software\Auto-sign\Xiezi.apk     要解压对apk文件所在的目录 

     F:\software\Auto-sign\Xiezi      apk文件解压后保存的目录


如上图所示,表示解压已经成功,我们去相应的目录去查看


可以看到,跟我们想要的是一样的,我们查看一下解压目录里面的文件


       

目录主要内容解析:

            (1)      resources.arsc所有文本资源的编译产物,里面包含了各Location对应的字符串资源

            (2)     classes.dex编译后Classdx程序转换成Dalvik虚拟机的可执行字节码文件

            (3)     AndroidManifest.xml编码后的Android项目描述文件,包括了Android项目的名称、版本、权限、程序组件描述等等

            (4)     res目录:存放各种Android原始资源,包括:动画anim、图片drawable、布局layoutmenu菜单、xml等等q

            (5)     META-INF目录:存放签名后的CERTMANIFEST文件,用于识别软件的签名及版权



然后我们将META_INF这个目录删除,并将这个文件夹中的所有内容重新打包,我们命名为xz.apk



3.  重新签名

      我们将证书复制到与需要重新签名的apk文件相同的目录下,如下所示



我们再次进入dos窗口   执行下面的命令 jarsigner –verbose –keystore luochen.keystore –signedjar xz_signed.apk  xz.apk luochen.keystore


参数说明   

   hjarsignerJava的签名工具 Y. @6 P

-verbose参数表示:显示出签名详细信息

-keystore表示使用当前目录中的luochen.keystore签名证书文件。

-signedjar   xz_signed.apk表示签名后生成的APK名称,

xz.apk表示未签名的APK Android软件, luochen.keystore表示别名







参数说明





Android为apk重新签名

前言重新签名,在一些地方有一些用途。
  • dabaoonline
  • dabaoonline
  • 2016年09月09日 15:48
  • 1524

利用脚本快速更换apk中的资源并且完成重签名

本人就职于游戏公司SDK研发部门,但是经常出现修改几行java层的SDK代码就要重新打游戏包的痛苦。因为手游动辄上百M,如果只更新这几行java层代码或者更换了里面一个图片资源,再重新上打包机部署打包...
  • StrangeNightmare
  • StrangeNightmare
  • 2016年09月08日 15:18
  • 2642

Android 如何对apk文件进行反编译以及重新打包签名

最近在看视频的时候看到有关apk文件如何反编译的,顿时提起了自己的兴趣,记得在刚刚学习Android的时候就对这份面有兴趣,只是当时自己的技术…咳…现在自己…咳咳..咳…注:以下的前提是Java相关环...
  • w18756901575
  • w18756901575
  • 2016年05月10日 16:00
  • 6428

替换APK文件内容后重新打包签名脚本

由于业务需求,需要替换APK文件内容后重新打包签名,调研后发现使用JDK里提供的命令可以很方便地实现。关键命令如下: jar -uf:替换apk文件内的某个文件或文件夹。 jarsigner:为ap...
  • viviwen123
  • viviwen123
  • 2015年02月03日 15:16
  • 3282

安卓apk反编译、修改、重新打包、签名全过程

首先明确,反编译别人apk是一件不厚道的事情。代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的。这也说明,代码混淆是非常重要的。本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么...
  • dreamer2020
  • dreamer2020
  • 2016年10月16日 01:52
  • 10158

反编译后的APK重新签名

反编译后的APK重新签名
  • ybdesire
  • ybdesire
  • 2016年09月11日 19:27
  • 2350

如何给apk手动重新打上签名

[QUESTION] 如何给apk手动重新打上签名 [ANSWER] 有时,为了验证特定功能,获取必要权限,需要手动给apk打上需要的签名,步骤如下: 1.首先需要有java环境 2...
  • wangjicong_215
  • wangjicong_215
  • 2017年05月31日 17:09
  • 402

Mac下反编译和重新编译打包APK

反编译APK需要的工具如下: - dex2jar 这个工具用于将dex文件转换成jar文件 下载地址:http://sourceforge.net/projects/dex2jar/files/...
  • ada_dengpan
  • ada_dengpan
  • 2016年04月03日 22:59
  • 2851

APK文件使用ApkTool解包反编译和重新打包及签名

原文:APK文件使用ApkTool解包反编译和重新打包及签名 地址:http://429006.com/article/technology/3420.htm 1. 准备工作: 配置JAVA环境,...
  • zhanghuan1713
  • zhanghuan1713
  • 2015年03月10日 16:49
  • 1572

Android版本加固后签名

Android版本加固后签名 在上传应用的时候,应用加固之后会破坏原有的签名,需要重新签名才能发布到应用市场中,如下图: 加固后的签名步骤如下: 1:签名之前需要Java的JDK环境以及被破坏签...
  • untilyou7445
  • untilyou7445
  • 2016年09月22日 12:44
  • 2018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:apk文件的重新签名
举报原因:
原因补充:

(最多只允许输入30个字)