APK parsing tools
Project description
APK parse
reference androguard.
fork of apk_parse
partial support for xAPKs added (nested APKs)
Pip
pip install apk_parse_ph4
Installation MacOS X
If there are problems with installing m2crypto on Mac, try this:
brew install openssl
brew install swig
env LDFLAGS="-L$(brew --prefix openssl)/lib" \
CFLAGS="-I$(brew --prefix openssl)/include" \
SWIG_FEATURES="-cpperraswarn -includeall -I$(brew --prefix openssl)/include" \
pip install m2crypto
or
LDFLAGS="-L/opt/local/lib" \
CFLAGS="-I/opt/local/include" \
SWIG_FEATURES="-cpperraswarn -includeall -I/opt/local/include" \
pip install --user m2crypto
Example:
apkf = APK("myfile.apk")
apkf = APK(read("myfile.apk"), raw=True)
Extended example:
The following example processes APK in a separate call. as_file_name set to True causes the file is not read whole to the memory, but it used as a file - ZIP module does seek if needed. In this way also big apks (e.g., 1.5 GB) can be processed. temp_dir option allows APK processor to use temporary dir, e.g. for xapk format, where sub-APK needs to be parsed:
apkf = APK(apk_path, process_now=False, process_file_types=False, as_file_name=True, temp_dir='/tmp')
apkf.file_md5 = 'abcd0102037292' # skips MD5 recomputing (if already computed during download)
apkf.process()
package
Return the name of the package
>>> apkf.package com.android.vending >>> apkf.get_package() com.android.vending
file_md5
Return the file md5 of the apk
>>> apkf.file_md5 40bdd920a3a3d2acf432e3c5b485eb11
cert_md5
Return the cert md5 of the apk
>>> apkf.cert_md5 cde9f6208d672b54b1dacc0b7029f5eb
file_size
Return the apk file size
>>> apkf.file_size 11194863
androidversion
Return the apk version
>>> apkf.androidversion {'Code': u'80341200', 'Name': u'5.4.12'}
get_androidversion_code()
Return the android version code
>>> apkf.get_androidversion_code() 80341200
get_androidversion_name()
Return the android version name
>>> apkf.get_androidversion_name() 5.4.12
get_min_sdk_version()
Return the android:minSdkVersion attribute
>>> apkf.get_min_sdk_version() 9
get_target_sdk_version()
Return the android:targetSdkVersion attribute
>>> apkf.get_target_sdk_version() 21
get_libraries()
Return the android:name attributes for libraries
>>> apkf.get_libraries() []
get_files()
Return the files inside the APK
>>> apkf.get_files() [u'AndroidManifest.xml', u'assets/keys/dcb-pin-encrypt-v1/1',...]
get_files_types()
Return the files inside the APK with their associated types (by using python-magic) Please pip install python-magic
>>> apkf.get_files_types() {u'res/layout/play_card_bundle_item_small.xml': "Android's binary XML",...}
get_main_activity()
Return the name of the main activity
>>> apkf.get_main_activity() com.android.vending.AssetBrowserActivity
get_activities()
Return the android:name attribute of all activities
>>> apkf.get_activities() ['com.android.vending.AssetBrowserActivity', ...]
get_services()
Return the android:name attribute of all services
>>> apkf.get_services() ['com.android.vending.GCMIntentService', ...]
get_receivers()
Return the android:name attribute of all receivers
>>> apkf.get_receivers() ['com.google.android.gcm.GCMBroadcastReceiver', ...]
get_providers()
Return the android:name attribute of all providers
>>> apkf.get_providers() ['com.google.android.finsky.providers.RecentSuggestionsProvider', ...]
get_permissions()
Return permissions
>>> apkf.get_permissions() ['com.android.vending.permission.C2D_MESSAGE', ...]
show()
Return FILES, PERMISSIONS, MAIN ACTIVITY…
>>> apkf.show() FILES: ...
parse_icon()
Parse ICON of the apk, storage on icon_path
>>> apkf.parse_icon(icon_path='/tmp') ...
cert_text
Returns developer certificate in a textual form
>>> apkf.cert_text Certificate: Data:Version: 3 (0x2) ...
cert_pem
Returns developer certificate in PEM form
>>> apkf.cert_pem -----BEGIN CERTIFICATE----- ...
pkcs7_der
Returns the signature file in DER form (contains signature & certificate)
>>> apkf.pkcs7_der (binary data)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file apk_parse_ph4-0.1.8.tar.gz
.
File metadata
- Download URL: apk_parse_ph4-0.1.8.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26be574220d72038b1e4dcd1991365e1a366166a33b2ba1132a720cafb8ab49f |
|
MD5 | 01ec8b31dc9aa6d76e0760b059aa9be7 |
|
BLAKE2b-256 | 9ebc8d3720bd2f0c5134785eebff6b294b323a1b57bfb76fb4e9b748e1b9639b |