Disassemble default iOS apps with otool

Johnathon picture Johnathon · Sep 18, 2011 · Viewed 12.9k times · Source

When I try to disassemble the stock iOS apps (not app store ones) with otool it isn't split into different methods. It's just one massive section. Here's the command I'm using:
otool -tV theApp.app/theApp >~/Desktop/output.txt
Is there a way to get the disassembly split into methods?

Answer

ughoavgfhw picture ughoavgfhw · Sep 18, 2011

No, there isn't. Those applications have been stripped, which means they contain no information about where functions begin or end. However, since objective-c is dynamic, any objective-c methods will have their name and address in the objective-c segment. You can get this information using otool -ov, but it is easier to interpret it if you use class-dump-z, which provides objective-c headers and will include the addresses of each method if you use the -A option. After you have the addresses, you can go through your file and separate it into methods manually.