├── include ├── Makefile.am └── libirecovery.h ├── Makefile.am ├── autogen.sh ├── libirecovery.pc.in ├── tools ├── Makefile.am └── irecovery.c ├── src ├── Makefile.am └── libirecovery.c ├── .gitignore ├── README ├── m4 └── as-compiler-flag.m4 ├── configure.ac └── LICENCE /include/Makefile.am: -------------------------------------------------------------------------------- 1 | nobase_dist_include_HEADERS = libirecovery.h -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | AUTOMAKE_OPTIONS = foreign 2 | ACLOCAL_AMFLAGS = -I m4 3 | SUBDIRS = src include tools 4 | 5 | pkgconfigdir = $(libdir)/pkgconfig 6 | pkgconfig_DATA = libirecovery.pc -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | gprefix=`which glibtoolize 2>&1 >/dev/null` 3 | if [ $? -eq 0 ]; then 4 | glibtoolize --force 5 | else 6 | libtoolize --force 7 | fi 8 | aclocal -I m4 9 | autoheader 10 | automake --add-missing 11 | autoconf 12 | 13 | if [ -z "$NOCONFIGURE" ]; then 14 | ./configure "$@" 15 | fi 16 | -------------------------------------------------------------------------------- /libirecovery.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libirecovery 7 | Description: A library to communicate with iBoot/iBSS on iOS devices via USB 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lirecovery 10 | Cflags: -I${includedir} 11 | 12 | -------------------------------------------------------------------------------- /tools/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/include 2 | 3 | AM_CFLAGS = $(GLOBAL_CFLAGS) $(libusb_CFLAGS) 4 | AM_LDFLAGS = $(libusb_LIBS) -lreadline 5 | 6 | bin_PROGRAMS = irecovery 7 | 8 | irecovery_SOURCES = irecovery.c 9 | irecovery_CFLAGS = $(AM_CFLAGS) 10 | irecovery_LDFLAGS = $(AM_LDFLAGS) 11 | irecovery_LDADD = $(top_srcdir)/src/libirecovery.la -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/include 2 | 3 | AM_CFLAGS = $(GLOBAL_CFLAGS) $(libusb_CFLAGS) 4 | AM_LDFLAGS = $(libusb_LIBS) $(LIBIRECOVERYLDFLAGS) 5 | 6 | lib_LTLIBRARIES = libirecovery.la 7 | libirecovery_la_CFLAGS = $(AM_CFLAGS) 8 | libirecovery_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBIRECOVERY_SO_VERSION) -no-undefined 9 | libirecovery_la_SOURCES = libirecovery.c 10 | 11 | if WIN32 12 | libirecovery_la_LDFLAGS += -avoid-version 13 | endif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.[oa] 2 | *~ 3 | *.po 4 | *.lo 5 | *.la 6 | autom4te.cache/* 7 | *.in 8 | */.deps/* 9 | m4/* 10 | *.dll 11 | *.so 12 | *.dylib 13 | *.patch 14 | aclocal.m4 15 | config.h 16 | config.log 17 | config.sub 18 | config.guess 19 | config.status 20 | configure 21 | depcomp 22 | install-sh 23 | compile 24 | main 25 | ltmain.sh 26 | missing 27 | mkinstalldirs 28 | libtool 29 | *Makefile 30 | stamp-h1 31 | src/.libs 32 | *.pc 33 | tools/.libs/* 34 | tools/irecovery 35 | .irecovery -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | == What is libirecovery? == 2 | 3 | libirecovery is a cross-platform library which implements communication to 4 | iBoot/iBSS found on Apple's iOS devices via USB. A command-line utility is also 5 | provided. 6 | 7 | The software is completely open-source, the source code is released under the 8 | terms of the LGPL 2.1. The full license text can be found in the LICENSE file. 9 | 10 | Here's its usage: 11 | 12 | irecovery [args] 13 | -v Start irecovery in verbose mode. 14 | -c Send command to client. 15 | -f Send file to client. 16 | -k [payload] Send usb exploit to client. 17 | -h Show this help. 18 | -r Reset client. 19 | -s Start interactive shell. 20 | -e