#!/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()