使用 aapt 提取安卓应用程序图标



我需要在APK文件中提取应用程序图标。我正在使用aapt来了解APK文件中的图标位置。我正在运行aapt dump badgeging com.example.app.apk:此命令返回我:

(...)
application-icon-120:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-160:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-240:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-320:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-480:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-640:'res/drawable-anydpi-v26/ic_launcher.xml'
application-icon-65534:'res/drawable-anydpi-v26/ic_launcher.xml'
(...)

但正如你所看到的,它向我返回了一个XML文件的位置,该文件以某种方式被加密。我知道这个XML文件有PNG文件图标的真实路径,但我不知道如何获得该真实路径(或者如何解密XML然后解析它)。

有没有办法获取APK文件中应用程序图标的真实路径,XML指向其他位置?

谢谢!

看看这个项目,

https://github.com/iBotPeaches/Apktool

它可用于取消归档 APK,包括资产。

apktool d <your>.apk

尝试使用7-zip提取您的apk文件,您将获得res foulder

使用apk在文件夹中运行此小脚本,它将为您提取图标。

#!/bin/bash
APK_FILE="$(find . -name *.apk)"
eval ICON_PATH="$(aapt d --values badging "${APK_FILE}" | grep "application:" | awk -F "icon=" '{print $2}')"
unzip -j "$APK_FILE" $ICON_PATH

相关内容

  • 没有找到相关文章

最新更新