OLD | NEW |
(Empty) | |
| 1 // -*- mode: ObjC -*- |
| 2 |
| 3 // This file is part of class-dump, a utility for examining the Objective-C seg
ment of Mach-O files. |
| 4 // Copyright (C) 1997-1998, 2000-2001, 2004-2010 Steve Nygard. |
| 5 |
| 6 #import "CDFile.h" |
| 7 |
| 8 #include <mach/machine.h> // For cpu_type_t, cpu_subtype_t |
| 9 #include <mach-o/loader.h> |
| 10 |
| 11 #import "CDDataCursor.h" // For CDByteOrder |
| 12 |
| 13 @class CDLCSegment; |
| 14 @class CDLCDyldInfo, CDLCDylib, CDMachOFile, CDLCSymbolTable, CDLCDynamicSymbolT
able; |
| 15 |
| 16 @protocol CDMachOFileDelegate |
| 17 - (void)machOFile:(CDMachOFile *)aMachOFile loadDylib:(CDLCDylib *)aDylibCommand
; |
| 18 @end |
| 19 |
| 20 @interface CDMachOFile : CDFile |
| 21 { |
| 22 CDByteOrder byteOrder; |
| 23 |
| 24 NSMutableArray *loadCommands; |
| 25 NSMutableArray *segments; |
| 26 CDLCSymbolTable *symbolTable; |
| 27 CDLCDynamicSymbolTable *dynamicSymbolTable; |
| 28 CDLCDyldInfo *dyldInfo; |
| 29 NSMutableArray *runPaths; |
| 30 |
| 31 struct { |
| 32 unsigned int uses64BitABI:1; |
| 33 } _flags; |
| 34 } |
| 35 |
| 36 - (id)initWithData:(NSData *)someData offset:(NSUInteger)anOffset filename:(NSSt
ring *)aFilename searchPathState:(CDSearchPathState *)aSearchPathState; |
| 37 - (void)dealloc; |
| 38 |
| 39 - (void)_readLoadCommands:(CDDataCursor *)cursor count:(uint32_t)count; |
| 40 |
| 41 - (CDByteOrder)byteOrder; |
| 42 |
| 43 - (CDMachOFile *)machOFileWithArch:(CDArch)arch; |
| 44 |
| 45 - (uint32_t)magic; |
| 46 - (cpu_type_t)cputype; |
| 47 - (cpu_subtype_t)cpusubtype; |
| 48 - (cpu_type_t)cputypePlusArchBits; |
| 49 //- (const NXArchInfo *)archInfo; |
| 50 - (uint32_t)filetype; |
| 51 - (uint32_t)flags; |
| 52 |
| 53 - (NSArray *)loadCommands; |
| 54 - (NSArray *)dylibLoadCommands; |
| 55 - (NSArray *)segments; |
| 56 |
| 57 @property(retain) CDLCSymbolTable *symbolTable; |
| 58 @property(retain) CDLCDynamicSymbolTable *dynamicSymbolTable; |
| 59 @property(retain) CDLCDyldInfo *dyldInfo; |
| 60 |
| 61 - (BOOL)uses64BitABI; |
| 62 |
| 63 - (NSString *)filetypeDescription; |
| 64 - (NSString *)flagDescription; |
| 65 |
| 66 - (CDLCDylib *)dylibIdentifier; |
| 67 |
| 68 - (CDLCSegment *)segmentWithName:(NSString *)segmentName; |
| 69 - (CDLCSegment *)segmentContainingAddress:(NSUInteger)address; |
| 70 - (NSString *)stringAtAddress:(NSUInteger)address; |
| 71 |
| 72 - (const void *)machODataBytes; |
| 73 - (NSUInteger)dataOffsetForAddress:(NSUInteger)address; |
| 74 - (NSUInteger)dataOffsetForAddress:(NSUInteger)address segmentName:(NSString *)a
SegmentName; |
| 75 |
| 76 - (const void *)bytes; |
| 77 - (const void *)bytesAtOffset:(NSUInteger)anOffset; |
| 78 |
| 79 - (NSString *)importBaseName; |
| 80 |
| 81 - (BOOL)isEncrypted; |
| 82 - (BOOL)hasProtectedSegments; |
| 83 - (BOOL)canDecryptAllSegments; |
| 84 |
| 85 - (NSString *)loadCommandString:(BOOL)isVerbose; |
| 86 - (NSString *)headerString:(BOOL)isVerbose; |
| 87 |
| 88 - (NSString *)uuidString; |
| 89 - (NSString *)archName; |
| 90 |
| 91 - (NSString *)description; |
| 92 |
| 93 - (Class)processorClass; |
| 94 - (void)logInfoForAddress:(NSUInteger)address; |
| 95 |
| 96 - (NSString *)externalClassNameForAddress:(NSUInteger)address; |
| 97 - (BOOL)hasRelocationEntryForAddress:(NSUInteger)address; |
| 98 |
| 99 // Checks compressed dyld info on 10.6 or later. |
| 100 - (BOOL)hasRelocationEntryForAddress2:(NSUInteger)address; |
| 101 - (NSString *)externalClassNameForAddress2:(NSUInteger)address; |
| 102 |
| 103 - (BOOL)hasObjectiveC1Data; |
| 104 - (BOOL)hasObjectiveC2Data; |
| 105 |
| 106 - (void)saveDeprotectedFileToPath:(NSString *)path; |
| 107 |
| 108 - (NSArray *)runPaths; |
| 109 |
| 110 @end |
OLD | NEW |