gpt4 book ai didi

objective-c - 如何静态转储 Cocoa App 中调用的所有 ObjC 方法?

转载 作者:可可西里 更新时间:2023-11-01 03:37:20 25 4
gpt4 key购买 nike

假设我有一个基于 Cocoa 的 Mac 或 iOS 应用程序。我想对我的应用程序的源代码 我的应用程序的二进制文件运行静态分析器来检索所有 Objective-C 方法的列表 < strong>在其中调用。有没有工具可以做到这一点?

几点:

  1. 我正在寻找静态解决方案。我不是在寻找 dynamic solution .

  2. 可以针对二进制或源代码运行的东西是可以接受的。

  3. 理想情况下,输出只是一个庞大的 Objective-C 方法去重列表,例如:

    …-[MyClass foo]…+[NSMutableString stringWithCapacity:]…-[NSString length]…
    (如果它没有去重复那很好)

  4. 如果存在其他类型的符号(C 函数、静态变量等),那没问题。

  5. 我熟悉 class-dump ,但是据我所知,它会转储二进制文件中的声明的类,而不是二进制文件中的调用的方法。那不是我要找的。如果我错了,而你可以使用类转储来做到这一点,请纠正我。

  6. 我不完全确定这是否可行。所以如果不是,那也是一个很好的答案。 :)

最佳答案

我所知道的最接近的是 otx,它是 otool 的包装器,可以在 objc_msgSend() 调用站点重建选择器。

http://otx.osxninja.com/

关于objective-c - 如何静态转储 Cocoa App 中调用的所有 ObjC 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9894050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com