diff options
-rw-r--r-- | python/amanifest.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/python/amanifest.py b/python/amanifest.py new file mode 100644 index 0000000..a076bc4 --- /dev/null +++ b/python/amanifest.py @@ -0,0 +1,65 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + +import argparse +import pychrysalide +from pychrysalide.analysis.contents import FileContent +from pychrysalide.format.axml import AxmlFormat +from pychrysalide.format.axml import AndroidManifest + + +if __name__ == '__main__': + + parser = argparse.ArgumentParser(description='amanifest - Displays information about Android Manifests.', add_help=False) + + parser.add_argument('-H', '--help', action='store_true', help='Display the command line options.') + + parser.add_argument('file', type=str, help='The object file to be examined') + + args = parser.parse_args() + + if args.help: + parser.print_help() + sys.exit(1) + + cnt = FileContent(args.file) + + fmt = AxmlFormat(cnt) + + manifest = AndroidManifest(fmt) + + manifest.analyze_and_wait() + + #print(fmt.text) + + print() + + print('Min SDK: ', manifest.min_sdk) + print('Target SDK:', manifest.target_sdk) + print('Max SDK: ', manifest.max_sdk) + print() + + print('Permissions:') + for p in manifest.permissions: + print(' - ', p) + print() + + print('Activities:') + for p in manifest.activities: + print(' - ', p) + print() + + print('Providers:') + for p in manifest.providers: + print(' - ', p) + print() + + print('Receivers:') + for p in manifest.receivers: + print(' - ', p) + print() + + print('Services:') + for p in manifest.services: + print(' - ', p) + print() |