通过 Python 从清单中提取 "permissions"

Extract "permissions" from Manifest by Python

我想从 Android 清单文件中打印 "permissions"。我已经对 apk 进行了逆向工程并获得了 Android 清单文件,并希望通过使用 Python.

来提取权限
import string
test=string.printable
f=open('AndroidManifest.xml', 'r').read()
x=""
for n in f:
    if n in test:
     x+=n
    print (x)

这是我的 Python 脚本,我可以通过它来解析 XML 文件。我怎样才能找到权限并打印它。谁能帮我解决这个问题?

XML 解析是一项非常常见的任务,通过编写一个模块来执行此操作,您只是在重新发明轮子,最终得到一个粗糙的非圆形设计。

Python 为此提供了一个设计更好的圆形轮子:xml.etree.ElementTree。您可以使用此模块毫不费力地解析 XML 个文件。

import xml.etree.ElementTree as ET

root = ET.parse("AndroidManifest.xml").getroot()
permissions = root.findall("uses-permission")

for perm in permissions:
    for att in perm.attrib:
        print("{}\t:\t{}\n".format(att, perm.attrib[att]))

这将打印 <uses-permission> 标签的所有属性。详情请参考上面的link。

注意:有关 Manifest 文件结构的更多详细信息,请参阅 App Manifest page on Android Devs