Android反编译apk修改版本号重新打包签名详细教程(超详细)


最近突然有个紧急需求,应用的某一个版本发布到应用宝时,由于应用宝自己抓包上传了一个高版本的安装包(即比当前要发布的版本高),导致上传失败,而向应用宝申诉无果,我这没有项目源码,找三方改东西太慢,所以要将这个版本反编译、修改为更高版本号、重新打包、对齐、签名在发布到应用市场,特此整理一些心得。

一、反编译工具介绍
1:apktool 获取资源文件

Apktool是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。

2:dex2jar(源码文件获取)

将Android的包dex文件转换成jar文件,此时拿到的时字节码文件一般和jd-gui结合使用,将字节码文件转成对应的源码

3:jd-gui 查看APK中classes.dex转化成出的jar文件,即源码文件

将dex2jar中的jar(字节码)文件转成源码,既可以查看源码也可以进行修改。

我的需求只涉及修改版本号,而不需要修改源代码,只需要通过apktool工具反编译拿到资源文件、修改版本号、重新回编打包成apk、内存对齐以及重签名 下面详细介绍apktool的使用过程,dex2jar和jd-gui的使用将单起一篇文章进行介绍。

二、apktool工具的反编译重打包签名的详细过程

首先下载一个最新版的apktool.jar

1:使用apktool.jar进行反编译

新建一个apktool.bat脚本 放入如下内容:

if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
chcp 65001 2>nul >nul
java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*

新建bat文件很简单直接将txt文件另存为.bat文件即可
在这里插入图片描述对apk包进行反编译,将apk包和bat文件(apktool.jar)放到同一个文件夹下,目的是为了输入方便,只需要输入相对路径即可,如果不放到同一个文件夹下,每次输入命令都要输入绝对路径。在这里插入图片描述
在cmd终端,cd到此目录下,输入以下命令:

**
 注意
 * outDir :表示反编译
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值