Skip to content

Initial Setup

awein edited this page Jun 11, 2014 · 1 revision

Initial DiOS Setup

Backend

The DiOS backend is written in python and utilizes mongoDB for data storage. The backend was successfully tested on OS X and Debian/Ubuntu Linux.

The following python packages are required:

See [DiOS Backend] for more detailed setup instructions.

Worker

The DiOS Worker is used to establish a dynamic link between the DiOS backend and any client (iOS device). It's written in python. The worker was successfully tested on OS X and Debian/Ubuntu Linux.

The following python packages are required:

Device communication via USB is done via libimobiledevice and requires the following tools:

  • libimobiledevice
  • ideviceinstaller

See [DiOS Worker] for more detailed setup instructions.

Run python worker.py --backend http://<hostname>.local/ to start the worker.

Client Components (Pilot)

Build Environment

The DiOS Pilot utilizes the theos build system, which is driven by GNU Make. A short introduction to theos is available here.

Run the folling commands to install theos to /opt/theos:

export THEOS=/opt/theos  
git clone git://github.com/DHowett/theos.git $THEOS

Notes:

  • Theos needs to be installed to /opt/theos or the build may fail due to missing header files.
  • The makefiles require a valid THEOS environment variable!

Extract UIAutomation Framework

Before building the on-device client components, the UIAutomation.framework needs to be extracted from the corresponding iOS developer image. This can be done by executing ./AAExecutorDaemon/updateUIAutomationFramework.sh. Please make sure that the UIAutomation.framework version matches your device's iOS version by adjusting the ios_version parameter. Currently, the parameter defaults to 7.0 (this covers iOS versions 7.0 to 7.0.4)

Building the DiOS Pilot

Navigate to ./SBServerTweak and run make package. To build the Executor, navigate to ./AAExecutorDaemon and run make package again.

Install

Afterwards, each folder should contain a .deb cydia package which can be installed on jailbroken iOS devices. To directly install them on a connected device via ssh please use:

export THEOS_DEVICE_IP=iphone.local
export THEOS_DEVICE_PORT=22
make package install