apk反编译

打拟态,一道题也做不出,结果队友ak了

只好半夜看看mobile的题,查了一下说要下载模拟器,网站贼卡,只好上床,结果逛贴吧的时候突然想到贴吧会不会有呢,一搜andriod还真有

pwntool

这个主要是看xml文件用的

官网下载:官网

点击左上方的:Current Version: 2.6.0

我当时的下载地址

下载之后直接在c盘下放了个apktool文件夹,然后把该jar文件放进去,接着创建个apktool.bat文件

编辑:

1
2
3
4
5
@echo off
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" %*

jar文件改名为apktool.jar

打开命令行,进入当前路径下,输入命令:

1
apktool.bat d -f c:\HaHaHaHa.apk        #d是反编译,-f是强制,之后是apk文件的绝对路径,再之后可以自定义导出路径

如果不定义导出路径,就能在当前文件夹下得到与akp文件同名的文件夹,

smali文件夹里都是smali文件,这是源码,但不是java形式,据说很不好看懂,所以这里就只看看xml文件就行

例如得到的是

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.test.hahahaha" platformBuildVersionCode="30" platformBuildVersionName="11">
<application android:allowBackup="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.HaHaHaHa">
<activity android:name="com.test.hahahaha.WelcomeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.test.hahahaha.MainActivity"/>
</application>
</manifest>

dex2jar

这个可以反编译.dex文件,得到.jar文件

这里可以直接下载:下载地址

解压,执行这个文件:d2j-dex2jar.bat

1
dex2jar-2.0>d2j-dex2jar.bat D:\classes.dex

后面的是.dex文件的绝对路径

既可以在当前路径下得到同名的后缀为.jar的文件

.dex文件是由apk文件解压得到的,将apk文件放入010编辑器很明显的可以看到是以PK开头的压缩包文件格式

将apk文件修改后缀名为zip再解压即可

虽然这里也有一个xml文件,但这个xml文件是人看不了的,所以老老实实用第一个工具反编译再看吧

这里即可得到dex文件

JD-GUI

接着就需要看这个jar文件

这个工具更简单

下载地址

直接下载windows版本,解压,里面有一个可执行文件jd-gui.exe

直接运行就打开可视化页面,将dex文件拖进去即可

来简单看一下,xml文件中<activity android:name="com.test.hahahaha.MainActivity"/>这里显示的name的值

那么根据这个指引即可看到com模块下有一个test.hahahaha,再往下就是MainActivity的源码部分,然后点击源码中的方法,还能直接跳进该方法对应的源文件中

肥肠好用~

Edited on

Give me a cup of [coffee]~( ̄▽ ̄)~*

muhua WeChat Pay

WeChat Pay

muhua Alipay

Alipay

muhua PayPal

PayPal