> 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/frida.md).

# Frida

Verifica si el runtime de Objective-C se encuentra cargado en el proceso actual de la aplicación.

```shell
ObjC.available
```

Obtener clases de la aplicación.

```shell
ObjC.classes
```

Obtener métodos de una clase.

```shell
# Obtener todos los métodos de una clase
ObjC.classes.<class-name>.$ownMethods
ObjC.classes["<class-name>"].$ownMethods

# Obtener los 5 primeros métodos de una clase
ObjC.classes.<class-name>.$ownMethods.slice(0, 5)
ObjC.classes["<class-name>"].$ownMethods.slice(0, 5)
```

Lectura de argumentos.

```javascript
var args0 = ObjC.Object(args[0]); // seft
var args1 = ObjC.Object(args[1]); // selector
var args2 = ObjC.Object(args[2]); // argumento 1
var args3 = ObjC.Object(args[3]); // argumento 2

console.log("- args0: " + args0.toString());
console.log("- args1: " + args1.toString());
console.log("- args2: " + args2.toString());
console.log("- args3: " + args3.toString());
```

Lectura de dirección de memoria.

```shell
Memory.readByteArray(ptr("<address>"), <length>);
Memory.readByteArray(ptr("0x00000000"), 64);

Memory.readCString(ptr("<address>"), <length>);
Memory.readCString(ptr("0x00000000"), 64);

Memory.readCString(ptr("<address>"), <length>).substring(<start>,<end>);
```
