iCDump

January 4, 2023

iCDump is a cross-platform Objective-C (and in the future Swift) class dump. You can checkout this blog post for the details: iCDump: A Modern Objective-C Class Dump.

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
...