An automated UI and event tester for Unity VR games.
- 
Install the dependencies:
- python >= 3.11
 - node >= v20.2.0
 - adb >= 33.0.3
 - in Python environment, run
pip install -r requirements.txt 
 - 
Install frida 16.0.19 Android ARM64 binaries [here].
 - 
Clone this repository.
 
git clone https://github.com/OSUSecLab/AutoVR.git
- Build AutoVR frida dependencies by:
 
makeEnsure you inject Frida Gadget with the same version of the frida ARM64 binary.
You can use common Frida Gadget injectors like objection [here] to inject Frida Gadget into your apk.
Ensure Frida server binary is running on the device.
| flag | description | Required? | 
|---|---|---|
| device | Device ID connected using adb devices | 
Y | 
| package | Name of the target package. | Y | 
| script-file | The script.json file from Il2CppDumper [here]. | 
N | 
| ssl-offset | For network: If SSL bypass is needed, this is the hexadecimal offset value of the Unity SSL pinning function. | N | 
| use-mbed-tls | For network: If mbedtls_x509_crt_verify_with_profile SSL pinning function is used. | 
N | 
| delay_scenes | Milliseconds between scene loads to wait before event loading starts. | N | 
| rooted | If the device is rooted and frida-server-arm64 is running on the device. | N | 
usage: autovr.py [-h] --device device --package package_name [--script-file script_file] [--ssl-offset ssl_offset] [--use-mbed-tls use_mbed_tls]
                 [--delay_scenes delay_scenes] [--rooted]Example:
python3.11 autovr.py --device 1WMHHA69J92123 --package com.my.package \
                      --script-file /path/to/script.json \
                      --ssl-offset 0xdeadbeef \
                      --use-mbed-tls True \
                      --delay_scenes 5000 \
                      --rootedPending
MIT License