如何在 iOS 二进制文件中打印所有 Objective-C 类 的名称?
How to print the names of all Objective-C classes in an iOS binary?
我想使用 "otool" 打印在 iOS 二进制文件中找到的所有 Objective-C classes 的名称或"objcdump"。
我在 macOS 上,在未加密的 iOS 二进制文件上执行此操作。
我尝试了什么:
- 此处建议的解决方案How to statically dump all ObjC methods called in a Cocoa App?
otool -oV /path to executable/ | grep name | awk '{print }'
但我不知道如何只解析 objective-c class 名称。
- 使用 "nm" 的解决方案,但我不太喜欢它:
nm /path to executable/ | grep _OBJC_CLASS_
你们能帮我 cmd/script 在 iOS 二进制文件中打印所有 Objective-C classes 的名称吗?
我假设你不喜欢
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(,3)}'|uniq
比较屈服
ViewController
AppDelegate
我想使用 "otool" 打印在 iOS 二进制文件中找到的所有 Objective-C classes 的名称或"objcdump"。 我在 macOS 上,在未加密的 iOS 二进制文件上执行此操作。
我尝试了什么:
- 此处建议的解决方案How to statically dump all ObjC methods called in a Cocoa App?
otool -oV /path to executable/ | grep name | awk '{print }'
但我不知道如何只解析 objective-c class 名称。
- 使用 "nm" 的解决方案,但我不太喜欢它:
nm /path to executable/ | grep _OBJC_CLASS_
你们能帮我 cmd/script 在 iOS 二进制文件中打印所有 Objective-C classes 的名称吗?
我假设你不喜欢
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(,3)}'|uniq
比较屈服
ViewController
AppDelegate