类转储和 CFObjects

发布于 2024-10-26 06:15:34 字数 597 浏览 7 评论 0原文

类转储是否会被 CFObjects/structs 混淆?我在应用程序上使用了类转储,该方法的参数之一是 struct arg1,它是一个 BInstantMessage:

struct BInstantMessage {
    void **_field1;
    struct CFString _field2;
    unsigned short *_field3;
    struct DTextStyle _field4;
    struct BUser *_field5;
    struct BChat *_field6;
};

struct CFString {
    void **_vptr$CFObject;
    struct __CFString *mCFRef;
    _Bool mIsMutable;
};

struct __CFString;

那么,如何从该 arg1 获取 CFStringRef 或 NSString* ?我猜类转储正在用 CFString 定义替换一些 CFStringRef,但这只是一个猜测...... 我想要的只是从 arg1 获取一个 CFStringRef,它是一个 BInstantMessage。

谢谢!

Does class dump get confused by CFObjects/structs? I used class dump on an application and one of the method's argument was a struct arg1 which is a BInstantMessage:

struct BInstantMessage {
    void **_field1;
    struct CFString _field2;
    unsigned short *_field3;
    struct DTextStyle _field4;
    struct BUser *_field5;
    struct BChat *_field6;
};

struct CFString {
    void **_vptr$CFObject;
    struct __CFString *mCFRef;
    _Bool mIsMutable;
};

struct __CFString;

So, how can I get a CFStringRef or NSString* from this arg1? I am guess that class dump is replacing some CFStringRef by CFString definitions, but it's just a guess...
All I want is to get a CFStringRef from arg1 which is a BInstantMessage.

Thnaks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愛放△進行李 2024-11-02 06:15:34

该应用程序使用 Core Foundation 对象的 C++ 包装器。 BInstantMessage 中的 struct CFString 就是这种类型的对象。您需要 (NSString *)(arg1._field2.mCFRef)

void **_vptr$CFObject 字段是这里的主要提示 – 它表示虚拟超类 CFObject 的 vtable – 与常见的 C++ m 相结合> 前缀命名约定。

The application is using a C++ wrapper for Core Foundation objects. the struct CFString in BInstantMessage is an object of this type. You want (NSString *)(arg1._field2.mCFRef).

The void **_vptr$CFObject field is the major hint here – it represents the vtable for a virtual superclass CFObject – combined with the common C++ m prefix naming convention.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文