Skip to main content

A modern Objective-C class dump

Project description

Introduction

This project aims at providing a cross-platform utility to dump Objective-C and Swift metadata from 64-bits Mach-O binaries.

Getting Started

import icdump
metadata = icdump.objc.parse("./RNCryptor.bin")

# Iterate over all the Objective-C interfaces (classes)
for cls in metadata.classes:
    print(cls.demangled_name)
PodsDummy_RNCryptor_iOS
RNCryptor.RNCryptor.Encryptor
RNCryptor.RNCryptor.Decryptor
RNCryptor.RNCryptor.FormatV3
RNCryptor.RNCryptor.EncryptorV3
RNCryptor.RNCryptor.DecryptorV3
RNCryptor.Engine
RNCryptor.(DecryptorEngineV3 in _FFCD8353248C1C3EE416689E2680CC5C)
RNCryptor.(HMACV3 in _FFCD8353248C1C3EE416689E2680CC5C)
RNCryptor.OverflowingBuffer
# Dump the metadata as a header declaration
print(metadata.to_decl())
@interface RNCryptor.RNCryptor.Encryptor{
    NSObject * encryptor;
}
@end
@interface RNCryptor.RNCryptor.Decryptor{
    NSObject * decryptors;
    NSObject * buffer;
    NSObject * decryptor;
    NSObject * password;
}
@end
...

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page