From 4dc20a69bde0c9b4fecf1fcf94b29bea9338ae51 Mon Sep 17 00:00:00 2001 From: zestlei Date: Tue, 1 Apr 2025 14:48:38 +0800 Subject: [PATCH] Support for metaclass information --- ObjC.mm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ObjC.mm b/ObjC.mm index 9669b4d..e7c90a9 100644 --- a/ObjC.mm +++ b/ObjC.mm @@ -3290,6 +3290,20 @@ -(void)parseObjC2Class64Pointers:(Pointer64Vector const *)classes caption:caption location:location class:class64_t]; + // access metaclass information via the isa pointer + uint64_t isaPointer = class64_t->isa; + MVNode * isaNode = nil; + if (isaPointer && (isaNode = [self sectionNodeContainsRVA:isaPointer])) + { + uint64_t isaLocation = [self RVAToFileOffset:isaPointer]; + NSString * isaCaption = [self findSymbolAtRVA:isaPointer]; + MATCH_STRUCT(isaClass64_t,isaLocation) + [self createObjC2Class64Node:isaNode + caption:isaCaption + location:isaLocation + class:(struct class64_t const *)isaClass64_t]; + } + } }