android首次学习反编译

首先:

  1.APKtool 
    你需要先去下载这个东西 待会会用到

    链接奉上

 进去你会看到是这个样子的 然后这块需要两个东西 (如图 )我箭头所指第一处的方向
apktool.bat这个 下载链接用不了了 需手动创建一个文件 复制如下代码 在将文件后缀改为.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

将.bat文件保存到你测试的文件夹下面 

如图所示 
接下来是箭头所指第二处的位置 你需要下载apktool.jar 这个东西

你可以右键鼠标下载 也可以如上图所示这样点击直接下载
切记 下载完成之后的文件名字 他会含有版本号 需要把名称改成apktool 后缀不改 
同时把需要反编译的apk文件移动到该文件夹下。
如图:

2.开始反编译 
键盘输入win+r,进入cmd的windows命令行模式。

利用cd命令将命令行模式进入刚刚创建的这个文件夹下,

再输入:

apktool d 你拿到该文件下需要反编译的apk文件名.apk    然后回车

你会看到这么几行代码  然后去看文件夹 会看到有

这个问文件就是源码 但是因为apktool这个工具主要是用来解析资源res和资源AndroidManifest.xml的,
(可以看到它的图片资源啥的)除此之外的,我们还需要另外的工具来解析Java源码,利用下以下两个工具则可以用于解析Java源代码,它们分别是:dex2jar和jd-gui.

3.首先先将apk文件解析后缀为.dex的文件。
将刚才的apk文件后缀改为zip并压缩 如图:

 你会看到这个东西 然后去下载 dex2jar

 链接奉上

 然后在将你的classes.dex文件剪切到dex2jar文件夹下 如图

最后再去命令行去运行 d2j-dex2jar.bat classes.dex 这行代码 
你就会在classes.dex这个文件下看到有一个.jar 如上图所示 

4.最后在下载jd-gui

链接奉上

下载成功之后解压打开.exe结尾的运行程序 然后把上一步最后生成的jar拖到里面即可 如图:
 

这里就结束了 !!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值