summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-07-22 21:37:03 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-07-22 21:37:03 (GMT)
commitcb4bc9b61622803024345538fb55f6781ef872b9 (patch)
tree928c665bddf55afda8f1769204dfd3328a67c690
parent86e6314676678a654f7f8f934ec475e84c92505c (diff)
Extracted information about AndroidManifest files.
-rw-r--r--python/amanifest.py65
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()