IDAObjcTypes
IDAObjcTypes copied to clipboard
A collection of types & functions definitions useful for Objective-C binaries analysis.
IDAObjcTypes
A collection of (public and private) types and functions definitions useful for Objective-C binaries analysis.
Why even?
Would you rather re-define the same functions or types over and over as you work with different binaries?
Usage (IDA Pro, 7.2+ recommended)
Go to File > Load file > Parse C header file then choose IDA.h to import everything at once.
Or, run this IDA command: idaapi.idc_parse_types("/path/to/IDAObjcTypes/IDA.h", idc.PT_FILE)
Usage (Ghidra)
- Go to
File > Parse C Source. - (Go to 6. if it's not the first time you do this) Clone
objc_mac_carbon.prfprofile into a new profile, calledOBJC.prf, for example. - Remove everything in
Source files to parse, and addIDA.hto the list. - Add two additional flags:
-D__EA64__ -DGHIDRAto Parse Options. - Save
OBJC.prfprofile as you might use it later. - Click
Parse to Program, clickProceedif anything pops up. - Check
Data Type Managerwindow (at bottom-left), (long) right-click at<your-binary-name>and selectApply Function Data Types.
Ghidra limitation
You have to manually specify the size of enum members if what you get is incorrect.
Included Frameworks/Libraries
More to be added as the owner reverses more binaries.
- AppSupport
- AssetsLibraryServices
- AudioToolbox
- AVFoundation
- CommonCrypto
- CoreAnimation
- CoreAudio
- CoreFoundation
- CoreGraphics
- CoreMedia
- CoreServices
- CoreText
- CoreVideo
- CydiaSubstrate (if you ever want to RE tweaks)
- Darwin
- Foundation
- GraphicsServices
- IOMobileFramebuffer
- IOKit
- IOSurface
- Kernel
- MediaRemote
- MobileGestalt
- Security
- SoftLinking
- SpringBoard
- SpringBoardHome
- Swift (WIP, PRs welcome)
- System (libSystem)
- SystemConfiguration
- UIKit
- dyld
- icu
- objc
- os
- pthread
- sandbox
- sqlite
- xpc