首页
社区
课程
招聘
[分享]apk文件结构-反编译三剑客
2022-2-2 15:27 4453

[分享]apk文件结构-反编译三剑客

2022-2-2 15:27
4453

0x1 apktool

  1.apktool

 

一款可以将apk反编译和回编译的命令行工具。

 

  2.apk文件我们使用压缩包解压之后得到的都是二进制的,可以使用这款工具进行反编译,得到smali代码,修改后回编译。

 

  3.将apk文件放到工具目录下,输入apktool d xxx.apk,d表示反编译。

 

C:\Users\LENOVO\Desktop\AndroidKiller\bin\apktool>apktool d xxx.apk
I: 使用 ShakaApktool 2.0.0-20150914
I: 正在加载资源列表...
I: 反编译 AndroidManifest.xml 与资源...
I: 正在从框架文件加载资源列表: C:\Users\LENOVO\apktool\framework\1.apk
I: 常规资源列表...
I: 反编译资源文件...
I: 反编译 values / XMLs...
I: 反编译 classes.dex...
I: 复制 assets 和 libs...
I: 复制未知文件...
I: 复制原始文件...

 

  4.smali文件夹存放的就是我们反编译的代码,AndroidManifest.xml文件里面可以看哪一个是我们的的程序主界面,看main。

 

<activity android:label="@string/app_name" android:name=".MainActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

0x2 dex2jar

  1.dex2jar

 

一款可以将dex文件转换为jar文件的命令行工具

 

  2.可以将apk里面的.dex文件反编译成jar文件。

 

  3.将apk文件解压出来,找到.dex文件,复制到工具目录下,打开cmd窗口,输入d2j-dex2jar classes.dex

 

C:\Users\LENOVO\Desktop\AndroidKiller\bin\dex2jar>d2j-dex2jar classes.dex

 

dex2jar classes.dex -> .\classes-dex2jar.jar

 

  4.使用这个工具后就生成classes-dex2jar.jar文件了。

0x3 jd-gui

  1.jd-gui

 

图形界面反编译工具,将jar反编译为java代码

 

  2.得到的jar文件如果需要查看源码就需要借助工具将jar反编译成jar代码。

 

  3.将classes-dex2jar.jar拷贝到工具目录下,打开工具的exe程序,将jar拖进来,就可以看到源码了。

 


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回