反编译安卓软件
虽然把软件的扩展名改为zip就能读取,但是那里面的代码是加密过的,只有安卓手机能读取
如果要读取或是修改就需要反编译了
反编译apk前,你需要安装Java,安装完成后就可以开始反编译了
这里使用apktool反编译
第一步:安装、配置apktool
下载反编译程序 apktool
然后创建一个txt文档,打开并在里面输入:
@echo off
setlocal
set BASENAME=apktool_
chcp 65001 2>nul >nulset java_exe=java.exeif 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=apktoolgoto 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 DisableDelayedExpansionrem 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, rebuildset fastCommand=b
)
if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" (rem APK file, unpackset 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
(如图)
然后保存退出,退出后再把扩展名改为apktool.bat
;最后把apktool.bat和apktool_2.4.1.jar给移动至C:\Windows配置就完成了。
第二步:反编译
按下Win+R打开“运行”窗口,输入cmd打开命令提示符,在里面输入代码:apktool d -f <需要反编译的软件目录><目录里的软件名称> -o <编译后放入的目录>
开始发编译
实践:
需要编译的软件名:动态壁纸.apk
输入命令:apktool d -f c:\1\动态壁纸.apk -o c:\2
那么编译好的文件就会出现在c:\2里,而c:\1里的还是源文件
编译成功后的代码:
反编译完成后可以得到这些文件夹
(每个软件反编译后的文件夹基本都不一样,但是一定会有res文件夹和AndroidManifes.xml文件)
反编译后的文件也可以查看了
第三步:打包
输入apktool b <编译后的文件夹>
,按下enter后自动开始打包
实践:
打包:动态壁纸(文件夹)
apktool b c:\2
“c:\2”指的是反编译后得到的文件夹
打包完成时出现的代码
打包后的文件在c:\2\build\apk
如图:
但是由于程序的Bugs,像assets之类的文件夹不会出现在c:\2\build\apk里,需要手动移至进文件夹;然后把这些给压缩为zip(先不要急着把扩展名改成apk)
第四步:签名
1、首先下载Auto-Sign,然后解压至任意文件夹即可(解压后的样子如图);
2、把打包好的文件夹放入目录里(如图)
3、输入java -jar signapk.jar testkey.x509.pem testkey.pk8 <需要签名的文件> <签名好的文件名>
开始编译
实践:
还是以动态壁纸为例,把刚刚打包好的zip放入文件夹里
然后输入java -jar signapk.jar testkey.x509.pem testkey.pk8 动态壁纸 动态壁纸_已签名
开始编译
最后只需要把扩展名改为apk就可以正常安装至你的手机了
如果你任然不会反编译,那么你可以尝试一下这个
安卓逆向助手
下载后使用也简单,自带反编译、打包、签名