# iOS Testing Using Objection

#### Install Objection:

```
pip3 install objection
```

### Check install apps using Frida:

#### If USB connection:

```
frida-ps -Uai
```

#### If remote host connection:

```
frida-ps -H 192.16.1.20
```

### Start Objection and Attach to Process:

#### Using USB connection:

```
~$ objection -g com.client.mytestapp explore
```

#### Using Remote Connection:

```
──(root㉿kali)-[~]
└─# objection -N -h 192.168.1.20 -g com.incode.my.app explore
```

#### DISABLE CERTIFICATE PINNING&#x20;

```
[usb] # ios sslpinning disable --quiet
```

#### INSPECT BINARY INFO

```
 [usb] # ios info binary
```

#### DUMP THE APP KEYCHAIN

```
[usb] # ios keychain dump
```

#### EXPLORE THE APP STRUCTURE&#x20;

```
[usb] # ls 
[usb] # file cat examplefile.txt 
[usb] # ios plist cat Info.plist
```

#### CHECK FOR OTHER DATA STORES FOR SENSITIVE INFORMATION&#x20;

```
[usb] # ios nsurlcredentialstorage dump 
[usb] # ios nsuserdefaults get 
[usb] # ios cookies get
```

#### TROUBLESHOOTING

&#x20;If you receive the following error you will need to go to Settings -> Profiles & Device Management and verify the app.

> Unable to connect to the frida server: unable to launch iOS app: The operation couldn’t be completed. Unable to launch com.myapp because it has an invalid code signature, inadequate entitlements or its profile has not been explicitly trusted by the user.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.smhuda.com/pentesting/application-security/mobile-security/ios/ios-testing-using-objection.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
