A collection of types & functions definitions useful for Objective-C binaries analysis.
A collection of (public and private) types and functions definitions useful for Objective-C binaries analysis.
Would you rather re-define the same functions or types over and over as you work with different binaries?
IDA.til
and IDA32.til
to til
folder inside IDA application directory.Type Libraries
window via View > Open subviews > Type libraries
or press Shift + F11
.Load type library...
.IDA
(or IDA32
if you target 32-bit binaries) and click OK
button.TIL created via this command:
tilib -c -hIDA.h IDA.til -D__EA64__ -P
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)
Analysis > Import Header File...
.Header File(s)
, browse for IDA.h
in this project.Compiler Flag(s)
, add -D__EA64__ -D__BINJA__
.Import
button.File > Parse C Source
.objc_mac_carbon.prf
profile into a new profile, called OBJC.prf
, for example.Source files to parse
, and add IDA.h
in this project to the list.-D__EA64__ -DGHIDRA
to Parse Options.OBJC.prf
profile as you might use it later.Parse to Program
, click Proceed
if anything pops up.Data Type Manager
window (at bottom-left), (long) right-click at <your-binary-name>
and select Apply Function Data Types
.You have to manually specify the size of enum members if what you get is incorrect.
Uncomment // #define IOS14
inside IDA.h
before you import it if you are reversing iOS 14 or lower binaries.
More to be added as the owner reverses more binaries.