如何在iOS二进制文件中打印所有Objective-C类的名称?

如何在iOS二进制文件中打印所有Objective-C类的名称?,objective-c,objdump,mach-o,otool,Objective C,Objdump,Mach O,Otool,我想使用otool或objcdump打印在iOS二进制文件中找到的所有Objective-C类的名称。 我在macOS上这样做,在一个未加密的iOS二进制文件上 我尝试的是: 这里建议的解决方案 但我不知道如何只解析objective-c类名 使用nm的解决方案,但我不太喜欢: 你们能帮我用cmd/script在iOS二进制文件中打印所有Objective-C类的名称吗?我想你们不喜欢的是什么 nm /path to executable/ | grep _OBJC_CLASS_ 输出: 0

我想使用otool或objcdump打印在iOS二进制文件中找到的所有Objective-C类的名称。 我在macOS上这样做,在一个未加密的iOS二进制文件上

我尝试的是:

这里建议的解决方案 但我不知道如何只解析objective-c类名

使用nm的解决方案,但我不太喜欢:
你们能帮我用cmd/script在iOS二进制文件中打印所有Objective-C类的名称吗?

我想你们不喜欢的是什么

nm /path to executable/ | grep _OBJC_CLASS_ 
输出:

0000000100003d08 S _OBJC_CLASS_$_AppDelegate
                 U _OBJC_CLASS_$_UIResponder
                 U _OBJC_CLASS_$_UIViewController
0000000100003c90 S _OBJC_CLASS_$_ViewController
父类是否用U标记

使用otool,我可以:

otool -tv /path to executable/|grep ]|awk '{print substr($1,3)}'|uniq 
相对屈服

ViewController
AppDelegate

除了你不喜欢方法2之外,方法2还有什么实际问题吗?
otool -tv /path to executable/|grep ]|awk '{print substr($1,3)}'|uniq 
ViewController
AppDelegate