Objection is a framework built on top of Frida by SensePost and can be found on GitHub.
Installing Objection
Installing Objection is easy and here is an exerpt from the official SensePost/Objection GitHub page:
Installation is simply a matter of pip3 install objection. This will give you the objection command. You can update an existing objection installation with pip3 install --upgrade objection.
Hooking methods is an easy way to determine whether the class or method is being called. It can also provide easy access to manipulate the return values or the functionality of the method or class.
List all classes
ioshookinglistclasses
Listing all methods
ioshookinglistclass_methods
Search for classes
ioshookingsearchclassesexample_class
Search for methods in class
ioshookinglistclass_methodsexample_class
Watching a method
ioshookingwatchclassexample_class
Overwriting return values
ios hooking set return_value "*[LoginValidate isLoginValidated]"true----....highaltitudehacks.DVIAswiftv2 on (iPad: 13.3.1) [usb] # ios hooking set return_value "*[LoginValidate isLoginValidated]"true(agent) Found selector at 0x104e4238cas+[LoginValidate isLoginValidated](agent) Registering job z04v8rh682n. Type: set-method-return for: *[LoginValidate isLoginValidated]....highaltitudehacks.DVIAswiftv2 on (iPad: 13.3.1) [usb] # (agent) [8crjffqm67y] Called: [LoginValidate isLoginValidated] (Kind:class) (Super:NSObject)(agent) [z04v8rh682n] *[LoginValidate isLoginValidated] Return value was: 0x0, overriding to 0x1....highaltitudehacks.DVIAswiftv2 on (iPad:13.3.1) [usb] #