我正在寻找一个lib来提取存储在res / values / strings.xml中的id和值,例如app_name。我解压缩了apk,但无法找到strings.xml。我使用aapt来提取字符串值,但缺少相应的ID。我已经尝试过apktool来反编译apk,然后解析xml文件以获取密钥和值。但是,它不是一种有效的方式,每个apk差不多12秒。我有超过10,000个Android恶意软件需要处理。这种方法真的花了我太多时间。我发现res / values / strings.xml中的所有id和值都被编码到文件resources.arsc中。我想知道是否有lib从resources.arsc中提取id和值?
Use appt for android-sdk (ex:- /build-tools/27.0.3/aapt )
./aapt dump resources ./debug.apk
Package Groups (1)
Package Group 0 id=0x7f packageCount=1 name=com.dianping.example.activity
Package 0 id=0x7f name=com.dianping.example.activity
type 1 configCount=3 entryCount=1
spec resource 0x7f020000 com.example.activity:drawable/ic_launcher: flags=0x00000100
config mdpi-v4:
resource 0x7f020000 com.example.activity:drawable/ic_launcher: t=0x03 d=0x00000000 (s=0x0008 r=0x00)
config hdpi-v4:
resource 0x7f020000 com.example.activity:drawable/ic_launcher: t=0x03 d=0x00000001 (s=0x0008 r=0x00)
config xhdpi-v4:
resource 0x7f020000 com.example.activity:drawable/ic_launcher: t=0x03 d=0x00000002 (s=0x0008 r=0x00)
type 2 configCount=1 entryCount=1
spec resource 0x7f030000 com.dianping.example.activity:string/app_name: flags=0x00000000
config (default):
resource 0x7f030000 com.dianping.example.activity:string/app_name: t=0x03 d=0x00000003 (s=0x0008 r=0x00)
这个链接可能有助于http://elinux.org/Android_aapt
它不是一个合适的库,但您可以从名为ArscBlamer的官方Google项目中借用代码:https://github.com/google/android-arscblamer