> For the complete documentation index, see [llms.txt](https://mobile.mrw0l05zyn.cl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mobile.mrw0l05zyn.cl/ios/analisis-dinamico/hooking.md).

# Hooking

## Objection

Obtener clases de la aplicación.

```shell
ios hooking list classes

objection --gadget <app-package-name> run "ios hooking list classes" > clasess.txt
objection --gadget <app-package-name> run "ios hooking list classes" | grep -Ei "<word-1>|<word-2>|<word-3>"
```

Buscar clases en la aplicación.

```shell
ios hooking search classes <class-name>
```

Obtener métodos de una clase.

```shell
ios hooking list class_methods <class-name>
```

Monitorear ejecución de una clase.

```
ios hooking watch class <class-name>
```

Monitorear ejecución de un método (argumentos, traza y valor de retorno).

```shell
ios hooking watch method "-[<class-name> <method-name>]" --dump-args --dump-backtrace --dump-return
```

Modificar el valor de retorno (booleano) de una función.

```shell
ios hooking set return_value "-[<class-name> <method-name>]" <true/false>
```

Generar hooking template de una clase.

```shell
ios hooking generate simple <class-name>

objection --gadget <app-package-name> run "ios hooking generate simple <class-name>" > template.js
```
