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

问题描述 投票:0回答:1

我想使用“ otool”“ objcdump”打印在iOS二进制文件中找到的所有Objective-C类的名称。我正在未加密的iOS二进制文件macOS上执行此操作。

我尝试过的事情:

  1. 此处建议的解决方案How to statically dump all ObjC methods called in a Cocoa App?
otool -oV /path to executable/ | grep name | awk '{print $3}'

但是我不知道如何只解析Objective-C类名。

  1. 使用“ nm”的解决方案,但我不太喜欢它:
nm /path to executable/ | grep _OBJC_CLASS_

你们能用cmd / script帮助我在iOS二进制文件中打印所有Objective-C类的名称吗?

objective-c objdump mach-o otool
1个回答
0
投票

我认为您不喜欢的内容

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
© www.soinside.com 2019 - 2024. All rights reserved.