In Corellium's cloud environment, you will need to connect to VPN before you can connect to your virtual devices via adb, ssh, gdb, or serial console.

Corellium Connect

VPN

To connect to VPN, you will need to have a VPN client installed. If you don't already have a VPN client, we recommend Viscosity. The VPN software must support TAP mode.

Once your VPN client is installed, you can simply download the OpenVPN configuration file from the Connect tab and install it to configure your VPN.

Important Notes:

  • VPN will only establish connection if you have at least one device in your project that is in the ON state. If all your devices are Off, or if you have no devices, the VPN will not establish connection.

  • Currently, Tunnelblick is not supported for TAP VPNs on Big Sur. If you are a Mac user on Big Sur, you will need to use Viscosity.

  • If you are on an Individual Account, you only need to establish one VPN connection to your account, and that connection will work for all devices.

  • Running other VPNs may interfere with your Corellium VPN connection. If you are having trouble connecting to the Corellium VPN and are already running your own VPN, you may need to disable the other VPN and then reconnect to the Corellium VPN.

Troubleshooting Tips:

  1. If you're having trouble connecting, try re-installing your VPN Profile.

  2. Make sure you're connecting to the right profile for your project, and that at least one device in your project is On.

  3. Close any other VPNs.

  4. Check that your network doesn't have a firewall preventing your connection. Click here more information about configuring Windows Defender Firewall.

ADB

The Android Debug Bridge, or adb, is command-line tool for Android that enables the user to communicate with a device. For example, you can use adb to push and pull files, install applications, run commands on the device, or retrieve logs.

To connect to adb, simply copy the adb link provided in the Connect tab and paste it to your console program, such as Terminal.

SSH

The Secure Shell protocol, or SSH, is a method of secure remote login from one computer to another.

Note: SSH is only available for iOS devices, and it can only be used with jailbroken iOS devices.

To SSH to your jailbroken iOS device, copy the SSH link from the Connect tab to your console program, such as Terminal. When prompted to log in, use the password alpine.

If you are attempting to SSH to a jailbroken device in the cloud and you are unable to establish a connection, check with your system administrator about your local network settings, as certain configurations can block this connection.

USBFlux

The USBFlux app allows you to connect your virtual iOS devices to programs like Xcode using the USB protocol -- just like plugging your physical device in with a USB cable.

For MacOS:

  1. On the device page, click the USBFlux button to download the USBFlux app.

  2. Run the installer, and drag the USBFlux icon into your Applications folder.

  3. If you are using the cloud product, ensure that you are connected to the VPN. VPN profiles are per Project, so USBFlux will detect all devices within the Project that you are connected to.

  4. Launch USBFlux and click "Start." If you are using the on-site version, you will need to enter your domain and credentials.

  5. USBFlux will automatically detect the number of "On" devices in your project. "Off" devices are not detected.

  6. Shut down and restart any programs like Xcode or Console where you want to connect your virtual devices. Be sure to fully shut down any running processes and restart the program to pick up the USBFlux changes. You must restart these programs every time you run USBFlux.

For Linux, you can download and install USBFlux from github.com/corellium.

Currently, USBFlux is not available for Windows.

Note that latency can significantly impact USBFlux connection speed. Even under normal local speeds, whenever a new device is first connected to Xcode, a large dyld-shared-cache file must be synced, which can take an average of 15-20 minutes. Checking the box for "Connect via network" in Xcode -> Devices and Simulators -> Device View may optimize that speed. To optimize creating device caches for Xcode locally, check out this awesome tool.

GDB Stub

You can use link for the gdb stub on the Connect tab to connect to third-party kernel debugging tools. Click here to learn more about using the kernel GDB stub for debugging.

Serial Console

If you prefer to view the device's serial console input / output in your local console program, such as Terminal, you can copy and paste the Console link from the Connect tab to your local console app. This can be convenient for enabling advanced console features, such as search.

WiFi

Virtual devices will automatically connect to network upon creation. However, if you deliberately disconnect a device and need to reconnect, you can easily do so.

To re-connect an iOS device to virtual Wi-Fi, open Wi-Fi in the Settings app on the device, select the "Corellium" network, and enter any 8-digit password.

On an Android device, you can disconnect and reconnect to network by toggling the Mobile Data option in Settings -> Network and Internet -> Mobile Network.

Important Notes:

  • Corellium's virtual Android devices include virtual cellular hardware, but they don’t include virtual Wi-Fi hardware. This means that you cannot connect virtual Android devices to Wi-Fi.

  • If you are on an Enterprise account and are having trouble connecting your device to Wi-Fi, please ensure that your system administrator has enabled Internet Access in your Project.

Did this answer your question?