Skip to content
farukbayhan edited this page Nov 5, 2015 · 17 revisions

Quickstart OS X

  • Install ruby (1.9.3, 2.1 or 2.2 are known to work. Don't use 2.0)
    • Shared library support is required!
      • Under rvm use --enable-shared when installing ruby.
      • Under ruby-install/chruby use -- --enable-shared when installing ruby.
      • Under ruby-build/rbenv with ruby-build use CONFIGURE_OPTS=--enable-shared [command] when installing Ruby.
  • gem install bundler
  • brew install qt cmake usbmuxd libimobiledevice
  • git clone --recursive https://github.com/dmayer/idb.git
  • cd idb
  • bundle install
  • ruby gidb.rb

Detailed Install Guide

  • Ruby (tested with 1.9.3 and 2.1. 2.0 does not work properly due to qtbindings problems)

    • Shared library support is required! When using rvm use --enable-shared when installing ruby.
    • With bundler (gem install bundler)
  • qt libraries and cmake for compiling the qt ruby bindings.

    • OS X: brew install qt cmake
    • Ubuntu: apt-get install cmake libqt4-dev
  • Some helpers used internally by gidb: git, rsync, libimobiledevice, plist-util

    • OS X: brew install libimobiledevice usbmuxd (rsync, git, plist-util should already be there.
    • Ubuntu: apt-get install git-core libimobiledevice-utils libplist-utils usbmuxd
  • Clone the repo

  • Bundle install ruby dependencies: bundle install

    • This will take a while since qt bindings may need to be compiled.
    • If the Qt compilation fails with some linker errors, your ruby does no support shared libraries. If you use rvm (http://rvm.io/) you can simply pass --enable-shared when installing a ruby.
  • Run ruby gidb.rb

Device Requirements

  • Jailbroken iOS 6 or 7 (most things tested on 7, but 6 is safer for now).
  • SSH server running (get it from Cydia)
  • apt-get or aptitude (get it from Cydia)

Configuration

  • Configure the device parameters in the File -> Preferences menu.
  • Connect to the device using the Device -> USB Device menu.
  • There will be a status dialog opening up which allows you to install some additional tools automatically. IF you don't do this, there will likely be crashes.

Problems?

Get in touch!

  • @DanlAMayer
  • mayer [at] cysec.org