A object-c class dumper written in Python
The famous object-c class-dump (https://github.com/nygard/class-dump) is not very handy when doing some assembler language level IOS application ananlysis.
So I developed an objc_class_dump with Python from scrath.
This tool not only dumps the hierarchy of all object-c classes but also dumps raw information of some other sections.
It was developed with Python 2.7 and tested with Mach-O file with arm and aarch64 architecture.
How it works:
-
Detects Fat Mach-O header magic
-
Detects Mach-O Header magic
-
Loads all sections into memory
-
Build an import table based on LC_LOAD_DYLIB and DYLD_INFO
-
Build an virtual section for all imported symbols
-
Bind to imported symbols based on DYLD_INFO
-
Build hierarchy of object-c class list and non-lazy class list
How to use:
$ python objc_class_dump.py [options] <mach-o-file>
- dump __objc_protolist
- Documentation