A deep dive explaining the Mach-O executable format along side a code demo.
Apple systems can be quite obscure and archaic considering how popular and ubiquitous their devices are. Learning more about apple systems for any purpose therefore requires a healthy amount of reverse engineering. A core part of reverse engineering Apple systems is understanding the Mach-O file format which is how all Apple OSes describe executable files. This talk will provide an in depth explanation of the file format as well as a code example showing how we can parse Mach-O objects at runtime to show a loaded system libraries Obj-C class hierarchy.