This is the README for MachOViewer.s.tar.gz [Download] [Browse] [Up]
Tired of wondering why your apps are so enormous? Ever wonder what lives inside an object file, and where? MachOViewer is a NeXTStep app that is supposed to aid in the visualization of Mach-O object files. It draws a picture of what a Mach-O file could look like in memory. It allows for "zooming" on an address range of interest, displaying Mach-O "segment" names, addresses of the segments, and names of the sections of the segments. For Mach-O object files that reference shared libraries, MachOViewer allows the display of those shared libraries as they fit in the object file's address space. The file /usr/include/mach-o/loader.h is mostly what I used to concoct the in-memory representation of the file. I wrote and tested this app under NeXTStep 3.2 on a 25MHz color NeXTStation (68040). The MachOViewer app does not understand "fat" or multi-architecture binaries, and it may require some hacking to get to work on an i386 architecture machine. The source files include some subsidiary classes that may be of interest for other projects. MachOFile.m - a class used to manipulate Mach-O format object files LoadCommand.m - used internally by MachOFile objects SortedList.m - Don MacGregor's subclass of List MappedFile.m - simplistic Mach-style memory mapped file class Queue.m - a simple FIFO queue or LIFO stack class. Thesed files may illustrate how the MachOFile class can be used elsewhere. I wrote them to test the MachOFile class outside of an IB context. MachO.m MachO2.m
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.