================================================================================ Probe Container: stream_position = 104 following_stream_data = '\x19\x00\x00\x00\x08\x04\x00\x00__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xc0!\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0!\x03\x00\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00__TEXT\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 0 obj = [] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 1136 following_stream_data = '\x19\x00\x00\x00\xd8\x06\x00\x00__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0!\x03\x01\x00\x00\x00\x00@\xc2\x00\x00\x00\x00\x00\x00\xc0!\x03\x00\x00\x00\x00\x00\xc0\x9b\x00\x00\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00__got\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00__DATA\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 1 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 2888 following_stream_data = '\x19\x00\x00\x00H\x00\x00\x00__LINKEDIT\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x03\x01\x00\x00\x00\x00\x808\x00\x00\x00\x00\x00\x00\x80\xbd\x03\x00\x00\x00\x00\xd0i8\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\x00\x00\x800\x00\x00\x00\x00\x80\xbd\x03 &\x04\x00 \xa6\xc1\x03\xc0\n\x01\x00\xe0\xb0\xc2\x03' context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 2 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 2960 following_stream_data = '"\x00\x00\x800\x00\x00\x00\x00\x80\xbd\x03 &\x04\x00 \xa6\xc1\x03\xc0\n\x01\x00\xe0\xb0\xc2\x03 \xef\x02\x00\x00\xa0\xc5\x03\xb8\xb0\x00\x00\xb8P\xc6\x03\xf8U\x0c\x00\x02\x00\x00\x00\x18\x00\x00\x00\xa8(\xd7\x03\xcc\x11\x00\x00\x18\xbf\xd8\x03\xe8\xe4\x03\x00\x0b\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x8d\x07\x00\x00\x8e\x07\x00\x00' context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 3 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3008 following_stream_data = '\x02\x00\x00\x00\x18\x00\x00\x00\xa8(\xd7\x03\xcc\x11\x00\x00\x18\xbf\xd8\x03\xe8\xe4\x03\x00\x0b\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x8d\x07\x00\x00\x8e\x07\x00\x00>\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00hE\xd8\x03l\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 4 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3032 following_stream_data = '\x0b\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x8d\x07\x00\x00\x8e\x07\x00\x00>\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00hE\xd8\x03l\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00 \x00\x00\x00\x0c\x00\x00\x00/usr/lib' context = Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 5 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3112 following_stream_data = '\x0e\x00\x00\x00 \x00\x00\x00\x0c\x00\x00\x00/usr/lib/dyld\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x18\x00\x00\x00\x0f\xdd\xdd\xb0D\xce3\x02\xa7>\x15\xf7\xfe\xa4\x98\x89%\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x00\x01\x0c\x00*\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00\x00\x80\x18\x00\x00\x00\x98\x1f\x98\x00' context = Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 6 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3144 following_stream_data = '\x1b\x00\x00\x00\x18\x00\x00\x00\x0f\xdd\xdd\xb0D\xce3\x02\xa7>\x15\xf7\xfe\xa4\x98\x89%\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x00\x01\x0c\x00*\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00\x00\x80\x18\x00\x00\x00\x98\x1f\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00\x00\x00\x18\x00\x00\x00\x00@\x00\x00\x00\x80!\x03\x00\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 7 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3168 following_stream_data = '%\x00\x00\x00\x10\x00\x00\x00\x00\x00\n\x00\x00\x01\x0c\x00*\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00\x00\x80\x18\x00\x00\x00\x98\x1f\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00\x00\x00\x18\x00\x00\x00\x00@\x00\x00\x00\x80!\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x04\t\x90\x01' context = Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 8 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3184 following_stream_data = '*\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00\x00\x80\x18\x00\x00\x00\x98\x1f\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00\x00\x00\x18\x00\x00\x00\x00@\x00\x00\x00\x80!\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x04\t\x90\x01\x00\x00\x01\x00/usr/lib/lib' context = Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 9 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3200 following_stream_data = '(\x00\x00\x80\x18\x00\x00\x00\x98\x1f\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,\x00\x00\x00\x18\x00\x00\x00\x00@\x00\x00\x00\x80!\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x04\t\x90\x01\x00\x00\x01\x00/usr/lib/libc++.1.dylib\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 10 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3224 following_stream_data = ',\x00\x00\x00\x18\x00\x00\x00\x00@\x00\x00\x00\x80!\x03\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x04\t\x90\x01\x00\x00\x01\x00/usr/lib/libc++.1.dylib\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x14\x12\x01\x00\x00\t\x00/usr' context = Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 11 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3248 following_stream_data = '\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x04\t\x90\x01\x00\x00\x01\x00/usr/lib/libc++.1.dylib\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x14\x12\x01\x00\x00\t\x00/usr/lib/libsqlite3.dylib\x00\x00\x00' context = Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 12 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3296 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x14\x12\x01\x00\x00\t\x00/usr/lib/libsqlite3.dylib\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\t\n\x00\x00\x00\n\x00/usr/lib/libxml2.2.d' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 13 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3352 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\t\n\x00\x00\x00\n\x00/usr/lib/libxml2.2.dylib\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x0b\x02\x01\x00\x00\x00\x01\x00/usr/lib/libz.1.dyli' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 14 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3408 following_stream_data = '\x0c\x00\x00\x000\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x0b\x02\x01\x00\x00\x00\x01\x00/usr/lib/libz.1.dylib\x00\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00/System/Library/Frameworks/A' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 15 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3456 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00/System/Library/Frameworks/AVFoundation.framework/AVFoundation\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 16 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3544 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x04\x00\x00\x00\x01\x00/System/Library/Frameworks/Accelerate.framework/Accelerate\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 17 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3632 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/AddressBook.framework/AddressBook\x00\x00\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 18 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3720 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 19 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3816 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x03\x00\xcf\x03\x00\x00\x01\x00/System/Library/Frameworks/CFNetwork.framework/CFNetwork\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 20 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3904 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02b\x03\x00\x00\x01\x00/System/Library/Frameworks/CoreData.framework/CoreData\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\n\x18\x06' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 21 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 3984 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\n\x18\x06\x00\x00\x96\x00/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 22 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4080 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x02\t\xdd\x04\x00\x00@\x00/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 23 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4168 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00/System/Library/Frameworks/CoreImage.framework/CoreImage\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 24 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4256 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x0c\x08\xc5\x08\x00\x00\x01\x00/System/Library/Frameworks/CoreLocation.framework/CoreLocation\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 25 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4344 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/CoreMedia.framework/CoreMedia\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 26 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4432 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x0c\x08\xc5\x08\x00\x00\x01\x00/System/Library/Frameworks/CoreMotion.framework/CoreMotion\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 27 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4520 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 28 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4616 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/CoreText.framework/CoreText\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x05\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 29 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4696 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x05\x01\x00\x00\x02\x01\x00/System/Library/Frameworks/CoreVideo.framework/CoreVideo\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 30 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4784 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\n\x18\x06\x00\x00,\x01/System/Library/Frameworks/Foundation.framework/Foundation\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 31 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4872 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00/System/Library/Frameworks/ImageIO.framework/ImageIO\x00\x00\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00*du\r' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 32 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 4952 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00*du\r\x00\x00\x01\x00/System/Library/Frameworks/MessageUI.framework/MessageUI\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 33 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5040 following_stream_data = '\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02\xa7\x03\x00\x00\x01\x00/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 34 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5144 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/OpenGLES.framework/OpenGLES\x00\x00\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x0b\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 35 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5224 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x0b\x01\x00\x00\x02\x01\x00/System/Library/Frameworks/QuartzCore.framework/QuartzCore\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 36 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5312 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/SafariServices.framework/SafariServices\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 37 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5408 following_stream_data = '\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x02\xde\xae\xe3\x00\x00\x01\x00/System/Library/Frameworks/Security.framework/Security\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 38 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5488 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/StoreKit.framework/StoreKit\x00\x00\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x1b\xc8\xc3\x03' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 39 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5568 following_stream_data = '\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x1b\xc8\xc3\x03\x00\x00\x01\x00/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 40 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5672 following_stream_data = '\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00H\xee\x00\x00\x01\x00/System/Library/Frameworks/UIKit.framework/UIKit\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 41 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5752 following_stream_data = '\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/Accounts.framework/Accounts\x00\x00\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xec\x01' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 42 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5832 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xec\x01\x00\x00\x01\x00/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox\x00\x00\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 43 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 5920 following_stream_data = '\x18\x00\x00\x80P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00W\x00\x00\x00\x01\x00/System/Library/Frameworks/Social.framework/Social\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xb0\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 44 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6000 following_stream_data = '\x18\x00\x00\x80h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x01\x00/System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity\x00\x00\x00\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 45 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6104 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/AWSS3.framework/AWSS3\x00\x00\x00\x00\x0c\x00\x00\x00@\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/AWSCore.frame' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 46 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6160 following_stream_data = '\x0c\x00\x00\x00@\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/AWSCore.framework/AWSCore\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00@\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/Mason' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 47 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6224 following_stream_data = '\x0c\x00\x00\x00@\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/Masonry.framework/Masonry\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/pop.f' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 48 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6288 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/pop.framework/pop\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Fram' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 49 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6344 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 50 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6440 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/DJIFlySimulator.framework/DJIFlySimulator\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 51 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6520 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/usr/lib/libresolv.9.dylib\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Fram' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 52 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6576 following_stream_data = '\x18\x00\x00\x80`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/NetworkExtension.framework/NetworkExtension\x00\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 53 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6672 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x01>\x00\x00\x00\x01\x00/usr/lib/libicucore.A.dylib\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02g\x00\x00\x00\x01\x00/System/Library/Fram' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 54 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6728 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02g\x00\x00\x00\x01\x00/System/Library/Frameworks/GLKit.framework/GLKit\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02\xd6\x01' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 55 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6808 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x02\xd6\x01\x00\x00\x01\x00/System/Library/Frameworks/SceneKit.framework/SceneKit\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 56 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6888 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox\x00\x00\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 57 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 6976 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00h\x02^\x02\x00\x00\x01\x00/System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore\x00\x00\x00\x00\x00\x00\x18\x00\x00\x80' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 58 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7072 following_stream_data = '\x18\x00\x00\x80X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/ReplayKit.framework/ReplayKit\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 59 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7160 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/Photos.framework/Photos\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00H\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 60 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7240 following_stream_data = '\x0c\x00\x00\x00H\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/DJIPanoramaKit.framework/DJIPanoramaKit\x00\x00\x0c\x00\x00\x00H\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpa' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 61 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7312 following_stream_data = '\x0c\x00\x00\x00H\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/BokehFramework.framework/BokehFramework\x00\x00\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/Sys' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 62 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7384 following_stream_data = '\x0c\x00\x00\x00X\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 63 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7472 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00@rpath/DJIHttpProtocol.framework/DJIHttpProtocol\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x07\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 64 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7552 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x07\x00\x00\x00\x07\x00/usr/lib/libiconv.2.dylib\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x05\x00\x01\x00\x00\x00\x01\x00/usr/lib/libbz2.1.0.' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 65 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7608 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x05\x00\x01\x00\x00\x00\x01\x00/usr/lib/libbz2.1.0.dylib\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xe4\x00\x00\x00\x01\x00/usr/lib/libobjc.A.d' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 66 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7664 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\xe4\x00\x00\x00\x01\x00/usr/lib/libobjc.A.dylib\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x05\xc8\xe4\x04\x00\x00\x01\x00/usr/lib/libSystem.B' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 67 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7720 following_stream_data = '\x0c\x00\x00\x008\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x05\xc8\xe4\x04\x00\x00\x01\x00/usr/lib/libSystem.B.dylib\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Fram' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 68 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7776 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/AVKit.framework/AVKit\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 69 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7856 following_stream_data = '\x0c\x00\x00\x00h\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory\x00\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 70 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 7960 following_stream_data = '\x0c\x00\x00\x00`\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00/System/Library/Frameworks/GameController.framework/GameController\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 71 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8056 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x01\x00/System/Library/Frameworks/MapKit.framework/MapKit\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00h\x02^\x02' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 72 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8136 following_stream_data = '\x0c\x00\x00\x00P\x00\x00\x00\x18\x00\x00\x00\x02\x00\x00\x00h\x02^\x02\x00\x00\x01\x00/System/Library/Frameworks/WebKit.framework/WebKit\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x80(\x00\x00\x00\x0c\x00\x00\x00@executa' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 73 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8216 following_stream_data = '\x1c\x00\x00\x80(\x00\x00\x00\x0c\x00\x00\x00@executable_path/Frameworks\x00&\x00\x00\x00\x10\x00\x00\x00\xb0\xa6\xd2\x030a\x04\x00)\x00\x00\x00\x10\x00\x00\x00\xe0\x07\xd7\x03\xc8 \x00\x00\x1d\x00\x00\x00\x10\x00\x00\x00\x00\xa4\xdc\x03\xd0E\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 74 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8256 following_stream_data = '&\x00\x00\x00\x10\x00\x00\x00\xb0\xa6\xd2\x030a\x04\x00)\x00\x00\x00\x10\x00\x00\x00\xe0\x07\xd7\x03\xc8 \x00\x00\x1d\x00\x00\x00\x10\x00\x00\x00\x00\xa4\xdc\x03\xd0E\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 75 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8272 following_stream_data = ')\x00\x00\x00\x10\x00\x00\x00\xe0\x07\xd7\x03\xc8 \x00\x00\x1d\x00\x00\x00\x10\x00\x00\x00\x00\xa4\xdc\x03\xd0E\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_FUNCTION_STARTS' cmdsize = 16 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 76 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_FUNCTION_STARTS' cmdsize = 16 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_FUNCTION_STARTS' cmdsize = 16 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_FUNCTION_STARTS' cmdsize = 16 data = None bytes = LazyContainer: ] ================================================================================ ================================================================================ Probe Container: stream_position = 8288 following_stream_data = '\x1d\x00\x00\x00\x10\x00\x00\x00\x00\xa4\xdc\x03\xd0E\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' context = Container: cmd = 'LC_DATA_IN_CODE' cmdsize = 16 data = None bytes = LazyContainer: stack = [ Container: self = ns = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } requires = 'isign==1.6.15.1547539045.dev29-root' name = '__main__' script_name = 'isign' Container: script = 'scripts/isign' script_filename = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign' self = namespace = {'app_path': '/home/og/new.ipa', 'argparse': , 'filter_args': , 'expanduser': , 'logging': , 'absolute_path_argument': , 'level': 10, '__builtins__': {'bytearray': , 'IndexError': , 'all': , 'help': Type help() for interactive help, or help(object) for help about object., 'vars': , 'SyntaxError': , 'unicode': , 'UnicodeDecodeError': , 'memoryview': , 'isinstance': , 'copyright': Copyright (c) 2001-2013 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': , 'BytesWarning': , 'dict': , 'input': , 'oct': , 'bin': , 'SystemExit': , 'StandardError': , 'format': , 'repr': , 'sorted': , 'False': False, 'RuntimeWarning': , 'list': , 'iter': , 'reload': , 'Warning': , '__package__': None, 'round': , 'dir': , 'cmp': , 'set': , 'bytes': , 'reduce': , 'intern': , 'issubclass': , 'Ellipsis': Ellipsis, 'EOFError': , 'locals': , 'BufferError': , 'slice': , 'FloatingPointError': , 'sum': , 'getattr': , 'abs': , 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': , 'True': True, 'FutureWarning': , 'ImportWarning': , 'None': None, 'hash': , 'ReferenceError': , 'len': , 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': , '__name__': '__builtin__', 'ord': , 'super': , 'TypeError': , 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': , 'UserWarning': , 'filter': , 'range': , 'staticmethod': , 'SystemError': , 'BaseException': , 'pow': , 'RuntimeError': , 'float': , 'MemoryError': , 'StopIteration': , 'globals': , 'divmod': , 'enumerate': , 'apply': , 'LookupError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': , 'UnicodeError': , 'zip': , 'hex': , 'long': , 'next': , 'ImportError': , 'chr': , 'xrange': , 'type': , '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': , 'tuple': , 'UnicodeTranslateError': , 'reversed': , 'UnicodeEncodeError': , 'IOError': , 'hasattr': , 'delattr': , 'setattr': , 'raw_input': , 'SyntaxWarning': , 'compile': , 'ArithmeticError': , 'str': , 'property': , 'GeneratorExit': , 'int': , '__import__': , 'KeyError': , 'coerce': , 'PendingDeprecationWarning': , 'file': , 'EnvironmentError': , 'unichr': , 'id': , 'OSError': , 'DeprecationWarning': , 'min': , 'UnicodeWarning': , 'execfile': , 'any': , 'complex': , 'bool': , 'ValueError': , 'NotImplemented': NotImplemented, 'map': , 'buffer': , 'max': , 'object': , 'TabError': , 'callable': , 'ZeroDivisionError': , 'eval': , '__debug__': True, 'IndentationError': , 'AssertionError': , 'classmethod': , 'UnboundLocalError': , 'NotImplementedError': , 'AttributeError': , 'OverflowError': }, 'kwargs': {'output_path': '/home/og/out.ipa', 'deep': True}, '__file__': '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/EGG-INFO/scripts/isign', 'args': Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True), 'log_to_stderr': , '__package__': None, 'resign_args': ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'], 'isign': , '__name__': '__main__', 'FORMATTER': , 'abspath': , 'parse_args': } script_name = 'isign' script_text = '#!/bin/python\n\nimport argparse\nfrom isign import isign\nfrom os.path import abspath, expanduser\nimport logging\n\nFORMATTER = logging.Formatter(\'%(message)s\')\n\n\ndef log_to_stderr(level=logging.INFO):\n root = logging.getLogger()\n root.setLevel(level)\n handler = logging.StreamHandler()\n handler.setFormatter(FORMATTER)\n root.addHandler(handler)\n\n\ndef absolute_path_argument(path):\n return abspath(expanduser(path))\n\n\ndef parse_args():\n # note that for arguments which eventually get fed into\n # isign.resign, we deliberately don\'t set defaults. The kwarg\n # defaults in isign.resign will be used\n parser = argparse.ArgumentParser(\n description=\'Resign an iOS application with a new identity \'\n \'and provisioning profile. See documentation for \'\n \'how to obtain properly formatted credentials.\')\n parser.add_argument(\n \'-p\', \'--provisioning-profile\',\n dest=\'provisioning_profile\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to provisioning profile\'\n )\n parser.add_argument(\n \'-a\', \'--apple-cert\',\n dest=\'apple_cert\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to Apple certificate in PEM form. You only need to specify \'\n \'this if the Apple certificate in the isign package is out of \'\n \'date.\'\n )\n parser.add_argument(\n \'-k\', \'--key\',\n dest=\'key\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s key in PEM format.\'\n )\n parser.add_argument(\n \'-c\', \'--certificate\',\n dest=\'certificate\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to your organization\\\'s certificate in PEM format\'\n )\n parser.add_argument(\n \'-n\', \'--credentials\',\n dest=\'credentials_dir\',\n required=False,\n metavar=\'\',\n help=\'Equivalent to \'\n \'-k /key.pem \'\n \'-c /certificate.pem \'\n \'-p /isign.mobileprovision\'\n )\n parser.add_argument(\n \'-o\', \'--output\',\n dest=\'output_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to output file or directory\'\n )\n parser.add_argument(\n \'app_paths\',\n nargs=1,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Path to application to re-sign, typically a \'\n \'directory ending in .app or file ending in .ipa.\'\n )\n parser.add_argument(\n \'-v\', \'--verbose\',\n dest=\'verbose\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Set logging level to debug.\'\n )\n parser.add_argument(\n \'-i\', \'--info\',\n dest=\'info_props\',\n required=False,\n metavar=\'\',\n help=\'List of comma-delimited key=value pairs of Info.plist properties to override\'\n )\n parser.add_argument(\n \'-d\', \'--display\',\n dest=\'display_only\',\n action=\'store_true\',\n default=False,\n required=False,\n help=\'Display information about the app without resigning\'\n )\n parser.add_argument(\n \'-e\', \'--entitlements\',\n dest=\'alternate_entitlements_path\',\n required=False,\n metavar=\'\',\n type=absolute_path_argument,\n help=\'Sign with these entitlements, rather than ones extracted from provisioning profile\'\n )\n parser.add_argument(\n \'--force\',\n required=False,\n action=\'store_true\',\n help=\'This option is ignored. It exists only for compatibility with Apple codesign.\'\n )\n parser.add_argument(\n \'--sign\',\n required=False,\n dest=\'fingerprint\',\n action=\'store\',\n help=\'Sign with the identity with this fingerprint, overriding any key, certificate or credential args. Currently only supports the special \\\'-\\\' identity for ad-hoc signing.\',\n )\n parser.add_argument(\n \'--shallow\',\n required=False,\n dest=\'deep\',\n action=\'store_false\',\n help=\'Do not recursively sign bundles.\'\n )\n parser.add_argument(\n \'--inplace\',\n required=False,\n action=\'store_true\',\n default=False,\n help=\'Sign in place, destructively replacing the original input. This matches Apple codesign behavior.\',\n )\n\n return parser.parse_args()\n\n\ndef filter_args(args, interested):\n """ Filter all args to args that we are interested in """\n # We want the unused command line args to be\n # missing in kwargs, so the defaults are used\n kwargs = {}\n for k, v in vars(args).iteritems():\n if k in interested and v is not None:\n kwargs[k] = v\n return kwargs\n\n\nif __name__ == \'__main__\':\n args = parse_args()\n\n if args.verbose:\n level = logging.DEBUG\n else:\n level = logging.INFO\n log_to_stderr(level)\n\n if args.display_only:\n # Only show information\n import json\n bundle_info = isign.view(args.app_paths[0])\n print json.dumps(bundle_info, indent=4, separators=(\',\', \': \'))\n\n else:\n # Handle the various kinds of resign operations\n kwargs = {}\n\n # There\'s only one output path, so it doesn\'t make sense\n # to have multiple input paths\n app_path = args.app_paths[0]\n\n # Convert the Info.plist property pairs to a dict format\n if args.info_props:\n info_props = {}\n for arg in args.info_props.split(\',\'):\n i = arg.find(\'=\')\n if i < 0:\n raise Exception(\'Invalid Info.plist argument: \' + arg)\n info_props[arg[0:i]] = arg[i + 1:]\n if info_props:\n kwargs[\'info_props\'] = info_props\n\n if args.inplace:\n if args.output_path is not None:\n raise Exception(\'output-path and inplace should not be both specified\')\n kwargs[\'output_path\'] = app_path\n\n if args.fingerprint:\n incompatible_args = [\'certificate\', \'key\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --sign argument.")\n\n if args.fingerprint != \'-\':\n raise Exception("Currently only - (ad hoc) is supported as a fingerprint value.")\n\n kwargs[\'key\'] = None\n resign_args = [\'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n\n elif args.credentials_dir:\n # Handle a resign with credentials directory.\n # First check they haven\'t over-specified credential paths\n incompatible_args = [\'certificate\', \'key\', \'provisioning_profile\']\n args_dict = vars(args)\n for k, v in vars(args).iteritems():\n if k in incompatible_args and v is not None:\n raise Exception("Incompatible arguments. Do not use any of " +\n ", ".join([\'--\' + s for s in incompatible_args]) + " "\n "with the --credentials argument.")\n # looks good, now massage args into method arguments\n resign_args = [\'apple_cert\',\n \'deep\',\n \'output_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign_with_creds_dir(app_path,\n args.credentials_dir,\n **kwargs)\n else:\n # Handle standard resign. User may have specified all, some\n # or none of the credential files, in which case we rely on\n # isign.resign() to supply defaults.\n # Massage args into method arguments\n resign_args = [\'certificate\',\n \'deep\',\n \'key\',\n \'apple_cert\',\n \'provisioning_profile\',\n \'output_path\',\n \'alternate_entitlements_path\']\n kwargs.update(filter_args(args, resign_args))\n isign.resign(app_path, **kwargs)\n' Container: app_path = '/home/og/new.ipa' argparse = filter_args = expanduser = logging = absolute_path_argument = level = 10 kwargs = {'output_path': '/home/og/out.ipa', 'deep': True} args = Namespace(alternate_entitlements_path=None, app_paths=['/home/og/new.ipa'], apple_cert=None, certificate=None, credentials_dir=None, deep=True, display_only=False, fingerprint=None, force=False, info_props=None, inplace=False, key=None, output_path='/home/og/out.ipa', provisioning_profile=None, verbose=True) log_to_stderr = resign_args = ['certificate', 'deep', 'key', 'apple_cert', 'provisioning_profile', 'output_path', 'alternate_entitlements_path'] isign = FORMATTER = abspath = parse_args = Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' info_props = None Container: input_path = '/home/og/new.ipa' certificate = '/home/og/.isign/certificate.pem' bundle_info = None deep = True info_props = None provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None apple_cert = '/usr/lib/python2.7/site-packages/isign-1.6.15.1547539045.dev29_root-py2.7.egg/isign/apple_credentials/applecerts.pem' output_path = '/home/og/out.ipa' key = '/home/og/.isign/key.pem' signer = ua = archive = Container: signer = self = deep = True provisioning_profile = '/home/og/.isign/isign.mobileprovision' alternate_entitlements_path = None entitlements = {'get-task-allow': True, 'application-identifier': 'CAQ8766T89.com.og.djigo4', 'keychain-access-groups': ['CAQ8766T89.*'], 'com.apple.developer.team-identifier': 'CAQ8766T89'} Container: signer = self = deep = True Container: signer = self = frameworks_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/Frameworks' deep = True plugins_path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/PlugIns' Container: signer = path = '/tmp/isign-7lg0hW/Payload/DJI GO 4.app/DJI GO 4' self = bundle = Container: self = Struct('MachoFile') stream = Container: obj = Container: magic = 4277009103 stream = self = Struct('MachoFile') subobj = 4277009103 context = Container: magic = 4277009103 sc = Switch('data') Container: stream = self = Switch('data') context = Container: magic = 4277009103 key = 4277009103 Container: obj = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 stream = self = Struct('MachO') subobj = 0 context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 sc = Reconfig('commands') Container: self = Reconfig('commands') stream = context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: count = 79 c = 77 obj = [ Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__PAGEZERO' vmaddr = 0 vmsize = 4294967296 fileoff = 0 filesize = 0 maxprot = 0 initprot = 0 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1032 data = Container: segname = '__TEXT' vmaddr = 4294967296 vmsize = 52543488 fileoff = 0 filesize = 52543488 maxprot = 5 initprot = 5 nsects = 12 flags = 0 sections = [ Container: sectname = '__text' segname = '__TEXT' addr = 4294992000 size = 44593580 offset = 24704 align = 6 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__stubs' segname = '__TEXT' addr = 4339585580 size = 40020 offset = 44618284 align = 2 reloff = 0 nreloc = 0 flags = 2147484680 reserved1 = 0 reserved2 = 12 reserved3 = 0 Container: sectname = '__stub_helper' segname = '__TEXT' addr = 4339625600 size = 17664 offset = 44658304 align = 2 reloff = 0 nreloc = 0 flags = 2147484672 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cstring' segname = '__TEXT' addr = 4339643264 size = 2405951 offset = 44675968 align = 4 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methname' segname = '__TEXT' addr = 4342049215 size = 1792992 offset = 47081919 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classname' segname = '__TEXT' addr = 4343842207 size = 237248 offset = 48874911 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_methtype' segname = '__TEXT' addr = 4344079455 size = 296682 offset = 49112159 align = 0 reloff = 0 nreloc = 0 flags = 2 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__TEXT' addr = 4344376192 size = 944352 offset = 49408896 align = 6 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__gcc_except_tab' segname = '__TEXT' addr = 4345320544 size = 1613920 offset = 50353248 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__ustring' segname = '__TEXT' addr = 4346934464 size = 40830 offset = 51967168 align = 1 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__unwind_info' segname = '__TEXT' addr = 4346975296 size = 534964 offset = 52008000 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__eh_frame' segname = '__TEXT' addr = 4347510264 size = 480 offset = 52542968 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 1752 data = Container: segname = '__DATA' vmaddr = 4347510784 vmsize = 12730368 fileoff = 52543488 filesize = 10207232 maxprot = 3 initprot = 3 nsects = 21 flags = 0 sections = [ Container: sectname = '__got' segname = '__DATA' addr = 4347510784 size = 8944 offset = 52543488 align = 3 reloff = 0 nreloc = 0 flags = 6 reserved1 = 3335 reserved2 = 0 reserved3 = 0 Container: sectname = '__la_symbol_ptr' segname = '__DATA' addr = 4347519728 size = 26680 offset = 52552432 align = 3 reloff = 0 nreloc = 0 flags = 7 reserved1 = 4453 reserved2 = 0 reserved3 = 0 Container: sectname = '__mod_init_func' segname = '__DATA' addr = 4347546408 size = 784 offset = 52579112 align = 3 reloff = 0 nreloc = 0 flags = 9 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__const' segname = '__DATA' addr = 4347547200 size = 1409320 offset = 52579904 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__cfstring' segname = '__DATA' addr = 4348956520 size = 1024864 offset = 53989224 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classlist' segname = '__DATA' addr = 4349981384 size = 59248 offset = 55014088 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlclslist' segname = '__DATA' addr = 4350040632 size = 432 offset = 55073336 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_catlist' segname = '__DATA' addr = 4350041064 size = 3224 offset = 55073768 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_nlcatlist' segname = '__DATA' addr = 4350044288 size = 72 offset = 55076992 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protolist' segname = '__DATA' addr = 4350044360 size = 5912 offset = 55077064 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_imageinfo' segname = '__DATA' addr = 4350050272 size = 8 offset = 55082976 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_const' segname = '__DATA' addr = 4350050280 size = 6083928 offset = 55082984 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_selrefs' segname = '__DATA' addr = 4356134208 size = 427368 offset = 61166912 align = 3 reloff = 0 nreloc = 0 flags = 268435461 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_protorefs' segname = '__DATA' addr = 4356561576 size = 352 offset = 61594280 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_classrefs' segname = '__DATA' addr = 4356561928 size = 52896 offset = 61594632 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_superrefs' segname = '__DATA' addr = 4356614824 size = 45224 offset = 61647528 align = 3 reloff = 0 nreloc = 0 flags = 268435456 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_ivar' segname = '__DATA' addr = 4356660048 size = 129276 offset = 61692752 align = 2 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__objc_data' segname = '__DATA' addr = 4356789328 size = 592480 offset = 61822032 align = 3 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__data' segname = '__DATA' addr = 4357381808 size = 328624 offset = 62414512 align = 4 reloff = 0 nreloc = 0 flags = 0 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__bss' segname = '__DATA' addr = 4357710432 size = 1997832 offset = 0 align = 4 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 Container: sectname = '__common' segname = '__DATA' addr = 4359708672 size = 526820 offset = 0 align = 12 reloff = 0 nreloc = 0 flags = 1 reserved1 = 0 reserved2 = 0 reserved3 = 0 ] bytes = LazyContainer: Container: cmd = 'LC_SEGMENT_64' cmdsize = 72 data = Container: segname = '__LINKEDIT' vmaddr = 4360241152 vmsize = 3702784 fileoff = 62750720 filesize = 3697104 maxprot = 1 initprot = 1 nsects = 0 flags = 0 sections = [] bytes = LazyContainer: Container: cmd = 'LC_DYLD_INFO_ONLY' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_SYMTAB' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_DYSYMTAB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLINKER' cmdsize = 32 data = None bytes = LazyContainer: Container: cmd = 'LC_UUID' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_VERSION_MIN_IPHONEOS' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_SOURCE_VERSION' cmdsize = 16 data = None bytes = LazyContainer: Container: cmd = 'LC_MAIN' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_ENCRYPTION_INFO_64' cmdsize = 24 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 48 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 64 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_WEAK_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 72 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 88 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 56 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 104 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 96 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_LOAD_DYLIB' cmdsize = 80 data = None bytes = LazyContainer: Container: cmd = 'LC_RPATH' cmdsize = 40 data = None bytes = LazyContainer: Container: cmd = 'LC_FUNCTION_STARTS' cmdsize = 16 data = None bytes = LazyContainer: ] stream = self = MetaArray('commands') context = Container: macho_start = 0 magic = 'MH_MAGIC_64' cputype = 16777228 cpusubtype = 0 filetype = 'MH_EXECUTE' ncmds = 79 sizeofcmds = 8272 flags = FlagsContainer: MH_TWOLEVEL MH_BINDS_TO_WEAK MH_WEAK_DEFINES MH_PIE MH_NOUNDEFS MH_DYLDLINK reserved = 0 Container: obj = Container: cmd = 'LC_DATA_IN_CODE' cmdsize = 16 data = None bytes = LazyContainer: stream = self = Struct('LoadCommand') subobj = LazyContainer: context = Container: cmd = 'LC_DATA_IN_CODE' cmdsize = 16 data = None bytes = LazyContainer: sc = Probe('') Container: self = Probe('') stream = context = Container: cmd = 'LC_DATA_IN_CODE' cmdsize = 16 data = None bytes = LazyContainer: ] ================================================================================