()Android apk应用加固、字节对齐、二次签名全流程

这篇具有很好参考价值的文章主要介绍了()Android apk应用加固、字节对齐、二次签名全流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇博客主要是讲如何对apk应用进行加固、对齐和签名的,会有详细的步骤逐一介绍

前言

随着各大加固工具都开始逐一收费后,个人开发中或者中小型企业如何对应用进行加固就成了一个问题。以前我常用的是360加固助手,虽然每天限制一定的免费次数,但起码能用。
可是最近它也提示我要强制更新,更新后,我要去设置签名,就变成了这样子:
android apk加固,Android开发,android,apk签名,apk加固
结果我的测试,360加固工具现在虽然还能免费给你加固,但是加固后,你原来apk的签名就会丢失,也就是你要重新签名了。下面就来看下如何解决这个问题

加固

加固不用说,我这边用的还是360加固助手,
360加固官网
主界面如下:
android apk加固,Android开发,android,apk签名,apk加固
点击“添加应用”把你的apk加入进来,或者直接拖进来,就可以进行加固操作,完成后我们就得到了一个被剥夺了签名但是已经加固了的apk

字节对齐

字节对齐的好处是帮助操作系统更高效率的根据请求索引资源,降低内存消耗。
Android SDK自带字节对齐工具zipalign,二次签名前,最好先进行字节对齐操作(一般为4字节对齐)。虽然Android Studio打包的apk是默认经过字节对齐的,但是由于经历过应用加固步骤,不能保证该应用中的数据还处于对齐状态,以防万一,再进行一次字节对齐操作。

第一步

要进行字节对齐,首先修改刚刚加固了的apk文件,把它的的后缀名为 .zip(其它压缩格式也可以,主要是为了用压缩软件打开该文件),修改完成后打开该文件,删除下图中红框选中的“META-INF”文件夹(该文件夹经过应用加固后,签名信息已经被删了,多了一些杂七杂八的文件,没什么用。如果不删除该文件夹,后续二次签名就无法成功);
android apk加固,Android开发,android,apk签名,apk加固
删除成功后,将该文件的后缀名重新改为 .apk;

第二步

将该apk文件复制到zipalign工具所在目录
该工具位于sdk\build-tools\build版本目录下
一般选择你项目中使用到的版本的目录即可
我这边用的是30.0.3
android apk加固,Android开发,android,apk签名,apk加固
上图所示,红框中的zipalign.exe即为字节对齐工具,ziptest.apk就是需要对齐的apk文件

第三步

在当前目录的地址栏中输入cmd,回车
进入到命令提示窗口
输入zipalign.exe -v -p 4 input.apk output.apk
(命令中的input.apk为需要对齐的apk文件名,output.apk为对齐完成后输出的apk文件名)
android apk加固,Android开发,android,apk签名,apk加固

中间省略一大段运行中输出的代码…
android apk加固,Android开发,android,apk签名,apk加固

如上图所示,运行结束,出现红框中的代码,表示字节对齐成功,同时可以在目录中看到多了个字节对齐成功后的apk文件,如下图所示:
android apk加固,Android开发,android,apk签名,apk加固
这样,对齐就完成了
我们也可以通过命令验证下apk是否对齐
还是把要验证是否对齐的apk放到这个目录下,执行命令:

zipalign -c -v 4 apk名字

比如验证刚刚没有对齐的ziptest.apk

zipalign -c -v 4 ziptest.apk

输出结果为succesful就是代表对齐
FAILED就代表没有对齐
得到结果如下:
android apk加固,Android开发,android,apk签名,apk加固

二次签名

完成了字节对齐,就要对apk重新进行签名了
签名工具SDK也是自带的,apksigner。该工具位于字节对齐工具同级目录lib的下一级,
如下图所示:
android apk加固,Android开发,android,apk签名,apk加固
接下来要做的就是把我们对齐的apk和签名文件jks放入目录下
接着,在该路径下打开cmd窗口,输入命令:

java -jar apksigner.jar sign --ks key.jks --ks-key-alias releasekey output.apk

key.jks为签名文件,releasekey为签名文件的别名,output.apk为上图红框2所示的apk文件。
例如下图所示:
android apk加固,Android开发,android,apk签名,apk加固
命令中的签名文件别名由于隐私原因,就隐藏了,大家替换成自己签名文件的别名即可。
如果命令行输入没有任何问题,会在下方显示输入Keystore密码的指令,如上图最后一行所示Keystore password for signer #1: (这里需要注意:输入密码的时候命令提示窗口是不会有任何字符显示的,估计是为了隐私安全,输入完成后直接Enter就行了)。
签名成功,在命令提示窗口不会有任何提示;反之则有错误提示。只需查看目录中的apk文件修改日期是否改变,例如下图所示:
android apk加固,Android开发,android,apk签名,apk加固
时间较之前最初的,变成签名命令执行成功后的时间。想要确保签名成功,也可输入下述命令查看:

java -jar apksigner.jar verify -v output.apk

其中的output.apk为签名文件的文件名,签名成功结果如下图所示:
android apk加固,Android开发,android,apk签名,apk加固
至此,从加固到二次签名整一个流程就结束了。
顺便推荐一个,爱加密的重签名工具,实现原理其实就是上面的。
这个工具可以避免手动输入上面哪些命令
android apk加固,Android开发,android,apk签名,apk加固

不过我自己试了下,还是有问题,就是别名那块始终出不来
反正如果不能用这个工具,就按照我上面的步骤来做也是一样可以的文章来源地址https://www.toymoban.com/news/detail-799108.html

到了这里,关于()Android apk应用加固、字节对齐、二次签名全流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改

    flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改 最近使用flutter开发项目,需要将打包应用时候apk进行签名,我这边开发使用的是Android studio,发现在Android studio的build没有generate signed bundle/apk。这里记录一下问题修改,以及生产签名文件及gradle配置

    2024年02月08日
    浏览(54)
  • Android APK加固原理

    一、前言 Android作为开源框架,开放之余,所要面临的就是安全问题,世间之事,有正就有邪,有攻就有守,作为开发者虽然不需要进入专业安全领域,但还是需要掌握基本的安全常识和原理。 二、加壳 加壳最初用于windows平台可执行程序,后被Andriod平台采用用于apk加固,可

    2024年02月07日
    浏览(45)
  • Android APK 签名打包原理分析(二)【Android签名原理】

    说到签名,从这个词来理解,正常个人需要签名的时候,一般是用来证明这是某个人的特属认证。 大家是否有印象?还记得我们之前在学习、总结网络相关知识的时候,说到过,客户端和服务端虽然通信数据上,可以采用对称加密和非对称加密组合去进行数据的加密,但是这

    2024年01月18日
    浏览(52)
  • Android 对apk进行签名

    生成签名文件: 1.使用jarsigner(仅限V1签名): 2.使用apksigner(默认V1和V2签名),Android11以上不包含V2签名会装不上 Notice:    v1签名后再对齐,v2要签名前对齐。 对齐apk: 查看apk是否对齐: 1.查看apk是否签名(V1) 2.查看apk是否签名V1、V2、V3、V4 3.查看签名文件 

    2024年02月16日
    浏览(58)
  • Android APK 签名打包原理分析(一)【APK结构分析】

    最近在看AOSP Apk安装的相关源码时,发现自己对这块知识一直停留到用的层面,并未有深入的了解,例如打包的具体过程、签名的具体过程、渠道打包,最重要的,自己这几年在做系统方面的应用时,也解决过很多apk 安装的问题,修改过部分的系统源码,可是没有把这块知识

    2024年02月02日
    浏览(50)
  • Android逆向进阶,APK签名问题

    APK签名的原理基于公钥加密和数字证书的机制。在APK签名过程中,开发者使用私钥对应用的数字摘要进行加密,生成签名文件。然后,开发者将应用和签名文件一同发布。当用户下载应用时,系统会使用开发者的公钥对签名文件进行解密,并与应用的数字摘要进行比对,以验

    2024年02月11日
    浏览(48)
  • Android 获取app(apk)签名

    以上方法参考微信开放平台的-获取安装到手机的第三方应用签名的apk包  源码  

    2024年02月16日
    浏览(48)
  • Android Studio APK签名教程

    Android Studio APK签名教程 在Android应用程序的开发过程中,签名APK文件是非常重要的一步。APK签名可以确保应用程序的完整性和可信度,并提供安全保障。本文将介绍如何使用Android Studio进行APK签名,并附带相应的代码和描述。 生成密钥库(Keystore) 首先,我们需要生成一个密

    2024年02月07日
    浏览(49)
  • Android apk 反编译后打包(含签名)

    想分析某些app源码时,遇到烦人弹框,现在想反编译看看具体实现。 用到的工具: GDA4.06 apk反编译工具 apktool apk 打包工具 jdk 环境 一、反编译分析 将apk反编译打开 找到入口代码 弹框代码如图 二、解包、打包 使用apktool解包 ps: apktool工具的用法自行百度 -o模式是指定解包后文

    2024年02月09日
    浏览(41)
  • Android Apk签名算法使用SHA256

    Android apk签名算法使用SHA256 本文不介绍复杂的签名过程,说一下Android签名算法使用SHA256。 但是SHA1不是相对安全签名算法,SHA256更加安全一些。 一般大公司才会有这种细致的安全要求。 如何查看apk签名是否是SHA1还是SHA256 ··· 1、拿到apk文件,修改文件后缀为.jar 2、解压文件

    2024年04月08日
    浏览(108)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包