Android 使用Apktool反编译apk,并重新打包apk

发布于:2025-07-23 ⋅ 阅读:(22) ⋅ 点赞:(0)

一、下载Apktool

1.1. Apktool官网下载

apktool官网下载地址:https://apktool.org/docs/install
在这里插入图片描述

1.下载apktool.bat:

点击高亮字体 wrapper script,进入apktool.bat的下载地址,我这里显示无法访问链接,因此给出替代方案。

自己本地电脑新建一个apktool.bat文件,然后使用vscode或者notepad++等文本编辑器打开apktool.bat文件,并复制以下代码到该文件中:

@echo off
setlocal
set BASENAME=apktool_
chcp 65001 2>nul >nul
 
 
set java_exe=java.exe
 
 
if defined JAVA_HOME (
set java_exe="%JAVA_HOME%\bin\java.exe"
)
 
 
rem Find the highest version .jar available in the same directory as the script
setlocal EnableDelayedExpansion
pushd "%~dp0"
if exist apktool.jar (
set BASENAME=apktool
goto skipversioned
)
set max=0
for /f "tokens=1* delims=-_.0" %%A in ('dir /b /a-d %BASENAME%*.jar') do if %%~B gtr !max! set max=%%~nB
:skipversioned
popd
setlocal DisableDelayedExpansion
 
 
rem Find out if the commandline is a parameterless .jar or directory, for fast unpack/repack
if "%~1"=="" goto load
if not "%~2"=="" goto load
set ATTR=%~a1
if "%ATTR:~0,1%"=="d" (
rem Directory, rebuild
set fastCommand=b
)
if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" (
rem APK file, unpack
set fastCommand=d
)
 
 
:load
%java_exe% -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0%BASENAME%%max%.jar" %fastCommand% %*
 
 
rem Pause when ran non interactively
for /f "tokens=2" %%# in ("%cmdcmdline%") do if /i "%%#" equ "/c" pause

2.下载apktool.jar
  • 点击高亮字体 latest version,进入apktool.jar的下载地址,点击下载最新版的apktool_2.12.0.jar
  • 下载完成后将apktool_2.12.0.jar重命名为apktool.jar
    在这里插入图片描述

1.2. csdn下载

csdn下载链接:https://download.csdn.net/download/Billy_Zuo/91445138

二、安装Apktool

1.将apktool.bat 和 apktool.jar 放到任一同级目录下

如 E:\apktool
在这里插入图片描述

2.添加该目录路径到 Path 环境变量

  • 右键此电脑->属性->系统->高级系统设置->高级->环境变量,打开环境变量
  • 修改 Path 变量,添加 E:\apktool到变量中
    在这里插入图片描述

3.验证是否安装成功

打开cmd,输入apktool 命令,显示如下图,表示安装成功:
在这里插入图片描述

三、使用Apktool

3.1 配置Java环境

要想使用Apktool工具,必须先配置Java环境,需要安装JDK 1.8以上的版本。

JDK的安装与配置:Java环境搭建,配置环境变量

3.2 准备Apk文件

准备一个apk文件用于反编译的练习

3.3 反编译Apk文件

反编译apk文件分为四步:

  • 解包apk文件
  • 对解包后的apk文件进行修改
  • 重新打包apk文件
  • 对apk文件进行签名(签名以后才能够安装到手机)
3.3.1 解包Apk文件

切换到apk所在的路径,并输入以下命令,解压apk文件到当前文件夹:

apktool d app-release.apk

显示如下图,表示解压成功:
在这里插入图片描述
解压后在app-release.apk文件的同级目录下,得到同名文件夹 app-release

在这里插入图片描述

3.3.2 修改Apk文件

修改layout文件夹下的布局文件
在这里插入图片描述

3.3.3 打包Apk文件
1.META-INF文件夹,这里面如果包含旧的签名文件,用不到该文件夹,因此删除它

在这里插入图片描述

2.使用以下命令打包文件夹,生成新的apk文件
apktool b app-release

在这里插入图片描述
在这里插入图片描述

3.3.4 签名Apk文件
1.使用Android Studio 生成签名文件

在这里插入图片描述

2.使用360加固助手对apk文件签名

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到