Lon*_*ong 8 android decompiler smali apktool
据我所知,apktool 和 baksmali 都能够从 .apk (.dex) 文件中生成 smali 代码,而 apktool 使用了 dexlib2。它们都是APK打包/解包工具
但是我仍然不清楚apktool 和 smali/baksmali 之间的主要区别是什么。在 .dex 文件和扩展功能的功能方面?
PS:我刚刚发现的一个区别是 apktool 能够处理一个 apk 中的多个 dex 文件,而 baksmali 不能(至少目前是这样)
我确实尝试过阅读源代码,但由于缺乏经验,我无法真正理解这两个工具的工作流程。如果有人可以建议一些阅读材料或流程图等,我将不胜感激。
谢谢!
smali/baksmali 是 dex 格式的汇编器/反汇编器对。Baksmali 获取一个 dex 文件并生成人类可读的程序集,而 smali 获取人类可读的程序集并生成一个 dex 文件。
Apktool 是用于解包和重新打包 apk 的更通用的工具。它实际上在引擎盖下使用 smali/baksmali 来组装/反汇编 dex 文件。它还将二进制资源和二进制 xml 文件解压回标准文本格式等。
简而言之,apktool适用于APK文件,baksmali适用于DEX文件。
APK文件是具有特定结构的 zip 存档。这代表 Android 应用程序。这是您的智能手机或平板电脑从市场(通常是 Google Play)下载的内容。存档由清单、资源、断言/数据文件、本机库和DEX文件组成。
DEX文件包含应用程序代码。有关详细信息,请参阅https://source.android.com/devices/tech/dalvik/dex-format.html。
还要说的一件事apktool是能够提取和打包资源文件。(我相信baksmali不会那样做,需要检查。)
| 归档时间: |
|
| 查看次数: |
5578 次 |
| 最近记录: |