c2c电子商务网站建设,进销存软件,网站开发android客户端,小型办公室中式装修Android反编译工具的使用#xff08;保姆级教程#xff09;
网上关于Android反编译的文章很多#xff0c;但是好多都比较杂#xff0c;就打算自己写一下#xff0c;顺便也能加深一下印象。
一、常用反编译文件的介绍
apktool
apktool也算是一个老牌的反编译软件了保姆级教程
网上关于Android反编译的文章很多但是好多都比较杂就打算自己写一下顺便也能加深一下印象。
一、常用反编译文件的介绍
apktool
apktool也算是一个老牌的反编译软件了可以提取出apk中的源代码图片XML配置还有语言的资源这个软件是没有gui页面的所以需要你利用命令行进行使用也正是这个原因我们可以很容易的将其放到Linux服务器上然后进行自动的反编译并进行恶意性分析的操作。 官网https://ibotpeaches.github.io/Apktool/ dex2jar
这个工具的主要功能是将dex文件转化为包含class文件的jar文件。至于dex文件这个其实就是Android系统的可执行文件包含应用操作的全部指令和运行时的数据当Java编译成class文件后我们以通过dx工具将class文件整合成一个dex文件目的是让文件结构更加紧凑大小更小dex 文件可以分为3个模块头文件、索引区、数据区有点熟悉是不是。 github网页:https://github.com/pxb1988/dex2jar JD-GUI
相比于上面的两个反编译文件JD-GUI的有点就是拥有GUI界面使用起来会比较的方便。JD-GUI的主要功能是将class的jar包反编译成.java文件。可以和上面的dex2jar文件合起来使用。 github网页https://github.com/java-decompiler/jd-gui 二、安装工具
apktool的安装
apktool的安装有点复杂安装apktool的话需要java 1.8以上
首先我们下载apktool的jar包然后将其重新命名为apktool。然后还要下载windows下的脚本我直接将脚本代码贴在下面了新建一个txt文件将脚本贴进去然后改文件名为apktool.bat。
echo off
setlocal
set BASENAMEapktool_
chcp 65001 2nul nulset java_exejava.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 BASENAMEapktoolgoto skipversioned
)
set max0
for /f tokens1* 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 fastCommandb
)
if %ATTR:~0,1%- if %~x1.apk (rem APK file, unpackset fastCommandd
):load
%java_exe% -jar -Duser.languageen -Dfile.encodingUTF8 %~dp0%BASENAME%%max%.jar %fastCommand% %*rem Pause when ran non interactively
for /f tokens2 %%# in (%cmdcmdline%) do if /i %%# equ /c pause之后我们将两个文件放到一个文件夹里 之后我们需要添加环境变量 这样我们的apktool就安装好了直接双击apktool可以看到它的基础信息和简单的用法然后我们还可以在命令行运行一下试试
D:\Environment\apktoolapktool.bat -version
2.6.1显示的结果说明没有问题
dex2jar
这个东西我们可以直接在官网上下载我下载的v2.1的版本。
然后将其解压就可以了 JD-GUI
这个的安装也同样比较简单我们在其官网上找到下载连接下载和你系统相匹配的文件。 我们解压后直接运行jd-gui.exe就可以了。 吼到这时我们就把所有的文件都给安装完成了。
三、开始逆向
apktool的逆向
我们首先使用apktool进行逆向获取相应文件。
首先我们把需要逆向的apk放到apktool的目录中 然后打开命令行输入以下命令
apktool d app-release.apk然后我们就发现出现了一个文件夹里面就是我们反编译后获得的结果
里面就包含我们的布局文件。 dex2jar的逆向
我们找到dex2jar解压的目录将刚才的apk放入到其中打开命令行然后输入以下命令
d2j-dex2jar.bat -f app-release.apk然后我们可以得到结果
dex2jar app-release.apk - .\app-release-dex2jar.jar这就表明成功了我们可以在目录中发现一个叫app-release-dex2jar.jar的一个文件这就是我们反编译后得到的jar包。
jd-gui的逆向
我们上面得到jar包后打开jd-gui.exe然后将jar包放进去当当当当~我们就可以得到java源代码了 而且如果这个代码没有被混淆的话我们是可以清晰的看到它的变量名的。这样就完成了我们的逆向然后我们就可以分析这个文件或者开发相应的游戏mod等。
欢迎访问我的博客www.xuanworld.top一起交流一起进步