apk反编译
打拟态,一道题也做不出,结果队友ak了
只好半夜看看mobile的题,查了一下说要下载模拟器,网站贼卡,只好上床,结果逛贴吧的时候突然想到贴吧会不会有呢,一搜andriod还真有
pwntool
这个主要是看xml文件用的
官网下载:官网
点击左上方的:Current Version: 2.6.0
我当时的下载地址
下载之后直接在c盘下放了个apktool文件夹,然后把该jar文件放进去,接着创建个apktool.bat文件
编辑:
1 | @echo off |
jar文件改名为apktool.jar
打开命令行,进入当前路径下,输入命令:
1 | apktool.bat d -f c:\HaHaHaHa.apk #d是反编译,-f是强制,之后是apk文件的绝对路径,再之后可以自定义导出路径 |
如果不定义导出路径,就能在当前文件夹下得到与akp文件同名的文件夹,
smali文件夹里都是smali文件,这是源码,但不是java形式,据说很不好看懂,所以这里就只看看xml文件就行
例如得到的是
1 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.test.hahahaha" platformBuildVersionCode="30" platformBuildVersionName="11"> |
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的源码部分,然后点击源码中的方法,还能直接跳进该方法对应的源文件中
肥肠好用~