apk 反编译及重新打包签名

article/2025/11/7 5:52:59

apk 反编译及重新打包签名

1. 需要的工具

  1. apktool,apk 编译及反编译工具
  2. keytool,用于管理密钥和证书的工具
  3. jarsigner,签名工具
  4. apksigner,签名工具

2. apk 反编译

首先需要对 apk 进行反编译,假设 apk 名为 name.apk

apktool d [name.apk]

编译后会生成一个与apk名称相同的文件夹 name,包括以下文件:
在这里插入图片描述
反编译后可以对代码进行修改,主要是针对 smali 文件夹的修改,其中为反编译后的 smali 代码。本文主要是介绍反编译及重新编译的流程,因此不对代码修改做详细介绍。

3. 修改后重新打包

重新打包同样使用 apktool

apktool b [name]

其中,name 为步骤2中生成的文件夹名称。
执行该命令后,会在 name/dist 文件夹下生成 name.apk ,该文件未经签名,因此无法安装。

4. 生成证书

使用 keytool 生成证书:

keytool -genkey -alias [sign.keystore] -keyalg RSA -validity 20000 -keystore [sign.keystore]

其中 abc.keystore 为指定的证书名称,可以随意命名,20000 指证书的有效期为 20000 天。
在这里插入图片描述
生成证书时需要指定 6 位以上密码,改密码在签名时会用到,其他内容可以随便填。执行该命令后会生成名为sign.keystore的证书。

5. v1 签名

apk 的签名有三种方案,分别为 V1, V2, V3,一般而言为了兼容旧版本 V1 签名是必须的,V1签名使用 jarsigner 工具:

 jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore [sign.keystore] -signedjar [name-signed.apk] [name.apk] [sign.keystore]

该命令中需要指定 sign.keystore,为步骤 4 中生成的证书;name-signed.apk 为指定的输出文件名称;name.apk 为步骤 3 中生成的未签名的 apk 文件。

6. 字节对齐

使用 4 字节对齐,加快内存访问速度。

zipalign -v -p 4 [name-signed.apk] [name-aligned.apk]

指定已经进行 V1 签名后的文件 name-signed.apk 以及指定输出文件 name-aligned.apk

7. V2+V3 签名

对于Android 11 及以上版本,必须使用V2 进行签名,V2+V3 签名使用 apksigner 工具:

apksigner sign --ks [sign.keystore] --out [name-v2.apk] [name-aligned.apk]

其中 sign.keystore 为步骤 4 生成的证书, name-v2.apk为指定的输出文件名称,name-aligned.apk 为步骤 6 字节对齐后的文件。

至此已经完成了对 apk 的 V1+V2+V3签名。

8. 查看 apk 文件的签名方案

使用 apksigner 可以查看文件的签名方案

apksigner verify -v name-v2.apk

在这里插入图片描述
其中,true 表示使用了对应的签名方案,如上面的name-v2.apk 使用了V1+V2+V3三种签名方案。

参考文章

  1. Android v1、v2、v3签名详解
  2. Android 对APK进行v1+v2+v3签名
  3. Android APK对齐总结
  4. Apktool重打包Apk详细介绍

http://chatgpt.dhexx.cn/article/R00dgWVv.shtml

相关文章

APK反编译(2)

前提说明: 今天在反编译某个apk解压出来的dex文件时,会出现编译失败,生成classes-dex2jar.jar和classes-error.zip,这是反编译失败的结果.查找资料说是老版本的dex2jar已经不能反编译最新的dex文件了,需要用新版本的. 再一个,部分class文件,用jd-gui.exe打开,会出现internalEr…

【Apk反编译】如何反编译Apk得到Java源代码

Android Apk反编译得到Java源代码 大家做Android开发,看到别人应用里一些好的功能,是不是很想得到源码,借鉴一下?既然Android是用JAVA开发的,那么我们就能很容易的通过反编译的到应用的源代码。下面我简单介绍下应该怎…

【反编译】安卓APK反编译为java文件

【反编译】安卓APK反编译为java文件 准备工具 要反编译的apk文件, 以微信8.0.apk为例子 dex2jar 下载地址 dex2jar-2.0反编译.zip-Android文档类资源-CSDN文库 https://sourceforge.net/projects/dex2jar/ jd-gui java反编译工具 .class --> .java D…

apk反编译-源码阅读

文章目录 一、准备工具(1) 使用工具介绍:(2) 使用工具下载与安装: 二、Apk 反编译步骤三、出错提示: 一、准备工具 提示:这些工具在官网都不好下载,偶也是废了好大力气呢,建议直接下载我提供的网盘链接 (…

APK反编译以及提取有用信息

目录 一、反编译工具的介绍 apktool dex2jar jd-gui 二、apk反编译 三、提取有用信息 信息收集的内容 apk开发者id和apk签名证书查找 三、一键式反编译进行信息收集工具介绍 现学现卖,有些地方有错误还请包含,也十分欢迎指教补充。 一、反编译工具…

如何对apk文件进行反编译

1.下载反编译三件套(2022.9.5更新) 点我直达 提取码:cbjw 2.压缩包解压 这里以解压到D:\decompile为例 3. 使用apktool反编译apk(此处以wat.apk处于D:\decompile文件夹为例) //进入dos窗口:winR->输入cmd->回车cd D: 回车cd decompi…

APK反编译

本文首发于:行者AI 当我们想要了解一款APP时,最好的学习方式就是将其APK文件进行反编译。将APK进行反编译之后,我们就可以看到开发这个应用使用的资源文件(图片)、layout、样式、相关的实现代码等,学习这些…

apk反编译教程(2022win11亲测)

捣鼓apk反编译,想做一些羞羞的事情,网上的教程大多都比较旧,这里更新一篇比较新且详细的反编译教程。 目录 软件准备 apktool安装和使用 dex2jar安装和使用 jd-gui使用 软件准备 首先我们想要比较完整的解析一个apk需要三个工具&#…

Android apk反编译

学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译。我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装。正常情况下&…

AVD创建与使用

一、创建虚拟设备(AVD) AVD链接地址>>手机安卓自动化环境配置 操作程序: D:\tool\adt4_2_32bit\eclipse-eclipse.exe(双击启动)–开发工具 创建AVD(虚拟设备): 1)点击Window…

关于AVOD, 你需要知道的事

翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中__二维码了解音视频技术大会更多信息▲ Easy-Tech #026# AVOD(Advertising-based Video On Demand)是一种视频点播商业模式:通过在视频…

AVOD:Aggregate View Object Detection跑通(官方README小补充)

本地环境 Ubuntu20.04 anaconda tensorflow-gpu1.3.0 cudatookit8.0 cudnn6.0 protobuf3.14.0(protobuf用3.2.0会报错) 1. protobuf文件解释 protobuf是google的一个开源的用来做数据通信的库,在avod/protos文件中有很多.proto文件,这些文件定义了…

AVA

声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 论文链接:arXiv:1705.08421 [cs.CV] 《AVA: A Video Dataset of Spatio-temporally Localized Atomic Visual Actions》论文翻译 摘要介绍相关工作数据收…

avod论文理解与代码解读

AVOD 论文理解与代码解读 论文简析概述网络结构BEV map特征提取rpn 网络特征融合 第二阶段检测网络box 编码方向确定 代码解读anchor 的产生mini batch的产生与作用rpn modelavod modelloss不足 论文简析 参考文章: csdn 代码: 代码 文献: …

AVOD、SVOD、TVOD、PVOD:视频点播商业模式

翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码了解音视频技术大会更多信息▲ Easy-Tech #025# 什么是视频点播(VOD)? 当我向流媒体业内人士问到,视频点播&#x…

【综述】MV3D-Net、AVOD-Net 用于自动驾驶的多视图3D目标检测网络

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 前言 MV3D-Net 融合了视觉图像和激光雷达点云信息;输入数据有三种,分别是点云俯视图、点云前视图和RGB图像。通过特征提取、特征整合和特征融合,最终得到类别标签、3D边界框…

AVOD、SVOD、TVOD、PVOD:揭秘视频点播商业模式

点击上方“LiveVideoStack”关注我们 翻译、编辑:Alex 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 商业模式 Easy-Tech #025# 什么是视频点播(VOD)&#xf…

AVOD:点云数据与BEV图的处理及可视化

文章目录 前言1. 点云数据可视化2. 点云数据校准3. 转为BEV图4. 补充:点云坐标系与相机坐标系结束语 前言 本篇主要记录对AVOD代码的学习与理解,主要是KITTI数据集中3D Object Detection任务中的点云数据和BEV图的处理,为方面理解其中的操作&…

视觉与激光雷达融合3D检测(一)AVOD

1.概述 AVOD(Aggregate View Object Detection)和MV3D类似,是一种融合3维点云和相机RGB图像的三维目标检测算法. 不同的是: MV3D中融合了相机RGB图像,点云BEV映射和FrontView映射,而AVOD则只融合相机RGB图像和点云BEV映射. 从网络结果来看,AVOD采用了基…

AVOD论文解读

AVOD论文解读 1.概述2.网络框架2.1 激光点云数据预处理2.2 特征提取2.3 降低数据量2.4 3D后选区域生成2.5 3D检测框编码2.6 朝向估计 论文地址:[1712.02294] Joint 3D Proposal Generation and Object Detection from View Aggregation (arxiv.org) 代码地址&#…