解析apk文件androidmanifest.xml
apk-parse的Python项目详细描述
APK分析
引用androguard。
示例:
apkf = APK("myfile.apk")
apkf = APK(read("myfile.apk"), raw=True)
套餐
返回包的名称
>>> apkf.package
com.android.vending
>>> apkf.get_package()
com.android.vending
文件5
返回apk的md5文件
>>> apkf.file_md5
40bdd920a3a3d2acf432e3c5b485eb11
证书5
返回APK的证书MD5
>>> apkf.cert_md5
cde9f6208d672b54b1dacc0b7029f5eb
文件大小
返回APK文件大小
>>> apkf.file_size
11194863
Androidversion
返回APK版本
>>> apkf.androidversion
{'Code': u'80341200', 'Name': u'5.4.12'}
获取“androidversion”代码()
返回Android版本代码
>>> apkf.get_androidversion_code()
80341200
获取“androidversion”name()
返回Android版本名
>>> apkf.get_androidversion_name()
5.4.12
获取_min_sdk_version()
返回android:minsdkversion属性
>>> apkf.get_min_sdk_version()
9
获取目标sdk版本
返回android:targetsdkversion属性
>>> apkf.get_target_sdk_version()
21
获取库()
返回库的android:name属性
>>> apkf.get_libraries()
[]
获取文件()
返回APK中的文件
>>> apkf.get_files()
[u'AndroidManifest.xml', u'assets/keys/dcb-pin-encrypt-v1/1',...]
获取文件类型()
返回apk中的文件及其相关类型(使用python magic)
请pip install python-magic
>>> apkf.get_files_types()
{u'res/layout/play_card_bundle_item_small.xml': "Android's binary XML",...}
获取主活动()
返回主活动的名称
>>> apkf.get_main_activity()
com.android.vending.AssetBrowserActivity
获取活动()
返回所有活动的android:name属性
>>> apkf.get_activities()
['com.android.vending.AssetBrowserActivity', ...]
获取服务()
返回所有服务的android:name属性
>>> apkf.get_services()
['com.android.vending.GCMIntentService', ...]
获取接收器()
返回所有接收器的android:name属性
>>> apkf.get_receivers()
['com.google.android.gcm.GCMBroadcastReceiver', ...]
获取提供者()
返回所有提供程序的android:name属性
>>> apkf.get_providers()
['com.google.android.finsky.providers.RecentSuggestionsProvider', ...]
获取权限()
返回权限
>>> apkf.get_permissions()
['com.android.vending.permission.C2D_MESSAGE', ...]
显示()
返回文件、权限、主要活动…
>>> apkf.show()
FILES: ...
解析图标()
解析APK的图标,存储在图标路径上
>>> apkf.parse_icon(icon_path='/tmp')
...
证书文本
>>> apkf.cert_text
Certificate:
Data:Version: 3 (0x2)
...