Skip to content

tempbottle/ios-hooker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ios-hooker

This a Python script to aid in reverse engineering iOS applications. It's a hacky Objc header parser, and can automatically generate function hooks based on class dumps. For best results use class-dump-z

  • GPLv2

ios-hooker.py

Automatically parse objective-c header files and produce hooks for class methods, instance methods, and class properties. Compile generated hooks using Theos

mkdir header_files
class-dump-z iOSApp -H -o ./header_files
hooker.py --target ./header_files -g -s -l

or target a single class file:

ios-hooker.py --target FooHeader.h -g -s -l

or multiple files:

ios-hooker.py --target FooHeader.h BarHeader.h -g -s -l

Usage

usage: ios-hooker.py [-h] [--version] [--verbose] --target
                     [TARGET [TARGET ...]] [--output OUTPUT] [--append]
                     [--next-step] [--load-hook] [--unknown-types]
                     [--file-regex FILE_REGEX] [--method-regex METHOD_REGEX]
                     [--getters] [--setters] [--params] [--debug]

Generate hooks for an objc class header file

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --verbose, -v         display verbose output (default: false)
  --target [TARGET [TARGET ...]], -t [TARGET [TARGET ...]]
                        file or directory with objc header file(s)
  --output OUTPUT, -o OUTPUT
                        output file with hooks (default: Tweak.xm)
  --append, -a          append output file (default: false)
  --next-step, -n       parse and hook NS class files (default: false)
  --load-hook, -l       generate hook when dylib is loaded (default: false)
  --unknown-types, -u   create hooks for functions with unknown return types
                        (may cause compiler errors)
  --file-regex FILE_REGEX, -f FILE_REGEX
                        only hook classes with file names that match a given
                        regex (only valid with directory)
  --method-regex METHOD_REGEX, -m METHOD_REGEX
                        only create hooks for methods that match a given regex
  --getters, -g         create hooks for @property getters (default: false)
  --setters, -s         create hooks for @property setters (default: false)
  --params, -p          log function parameter values (default: false)
  --debug               create debug logging messages for getters/setters
                        (default: false)

About

Python script to parse Objective-C header files from iOS applications and generate function hooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%