hackedteam/core-ios

View on GitHub
keybreak/Makefile

Summary

Maintainability
Test Coverage
 # Makefile - lockdownd remote exploit
 #
 # Created by kiodo  on 07/08/2013
 # Copyright (C) HT srl 2013. All rights reserved

GCC = gcc
CFLAGS = -w -I./  -I/Users/armored/Documents/AppDev/libimobiledevice/include -I/opt/local/include
LDFLAGS = -L/opt/local/lib -L/usr/local/lib -limobiledevice -lplist /usr/lib/libiconv.2.dylib -larchive
OBJS = /tmp/crashreport.o /tmp/uploadtools.o 

GCC_ARM = "/Applications/Xcode 4.4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc"
ISYSROOT = -isysroot "/Applications/Xcode 4.4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk"
FRAMEWORK = -F"/Applications/Xcode 4.4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks"
CFLAGS_ARM = -arch armv7 -x objective-c -I"/Applications/Xcode 4.4/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include" -I. -I/usr/local/include -framework Foundation
LDFLAGS_ARM = -dynamiclib -init __dlinit

all: keybreak 

/tmp/crashreport.o: src/crashreport.c
    $(GCC) -g -arch i386 -w -c -o /tmp/crashreport.o src/crashreport.c -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/libarchive/include -I/Users/armored/Documents/AppDev/libimobiledevice/include

/tmp/uploadtools.o: src/uploadtools.c
    $(GCC) -g -arch i386 -w -c -o /tmp/uploadtools.o src/uploadtools.c -fvisibility=hidden -I/usr/local/include -I/opt/local/include -I/Users/armored/Documents/AppDev/libimobiledevice/include -L/opt/local/lib -L/usr/local/lib

keybreak: src/keybreak.c $(OBJS) dml
    echo  "#ifdef __DARWIN" > include/services.h
    echo  "__attribute__ ((section (\"__DATA,__sl_symbol_ptr\")))" >> include/services.h
    echo  "#endif" >> include/services.h
    xxd -i res/Services.plist >> include/services.h
    echo  "#ifdef __DARWIN" > include/bootpd.h
    echo  "__attribute__ ((section (\"__DATA,__bt_symbol_ptr\")))" >> include/bootpd.h
    echo  "#endif" >> include/bootpd.h
    xxd -i res/com.apple.bootpd.plist >> include/bootpd.h
    echo  "#ifdef __DARWIN" > include/kpb.h
    echo  "__attribute__ ((section (\"__DATA,__pb_symbol_ptr\")))" >> include/kpb.h
    echo  "#endif" >> include/kpb.h
    xxd -i res/kpb.dylib >> include/kpb.h
    echo  "#ifdef __DARWIN" > include/kpf.h
    echo  "__attribute__ ((section (\"__DATA,__fp_symbol_ptr\")))" >> include/kpf.h
    echo  "#endif" >> include/kpf.h
    xxd -i res/kpf.dylib >> include/kpf.h
    echo  "#ifdef __DARWIN" > include/launchd.h
    echo  "__attribute__ ((section (\"__DATA,__lc_symbol_ptr\")))" >> include/launchd.h
    echo  "#endif" >> include/launchd.h
    xxd -i res/launchd.conf >> include/launchd.h
    echo  "#ifdef __DARWIN" > include/dml.h
    echo  "__attribute__ ((section (\"__DATA,__dm_symbol_ptr\")))" >> include/dml.h
    echo  "#endif" >> include/dml.h
    xxd -i res/dml >> include/dml.h
    $(GCC) -g -arch i386 -o keybreak src/keybreak.c -DNODYLIB $(CFLAGS) $(LDFLAGS) $(OBJS)

dml: src/dmisinstall.c
    $(GCC_ARM) $(CFLAGS_ARM) $(ISYSROOT) $(FRAMEWORKS) $(LDFLAGS_ARM) -o dml src/dmisinstall.c
    mv dml res/dml

dylib: src/keybreak.c $(OBJS) dml
    echo  "#ifdef __DARWIN" > include/services.h
    echo  "__attribute__ ((section (\"__DATA,__sl_symbol_ptr\")))" >> include/services.h
    echo  "#endif" >> include/services.h
    xxd -i res/Services.plist >> include/services.h
    echo  "#ifdef __DARWIN" > include/bootpd.h
    echo  "__attribute__ ((section (\"__DATA,__bt_symbol_ptr\")))" >> include/bootpd.h
    echo  "#endif" >> include/bootpd.h
    xxd -i res/com.apple.bootpd.plist >> include/bootpd.h
    echo  "#ifdef __DARWIN" > include/kpb.h
    echo  "__attribute__ ((section (\"__DATA,__pb_symbol_ptr\")))" >> include/kpb.h
    echo  "#endif" >> include/kpb.h
    xxd -i res/kpb.dylib >> include/kpb.h
    echo  "#ifdef __DARWIN" > include/kpf.h
    echo  "__attribute__ ((section (\"__DATA,__fp_symbol_ptr\")))" >> include/kpf.h
    echo  "#endif" >> include/kpf.h
    xxd -i res/kpf.dylib >> include/kpf.h
    echo  "#ifdef __DARWIN" > include/launchd.h
    echo  "__attribute__ ((section (\"__DATA,__lc_symbol_ptr\")))" >> include/launchd.h
    echo  "#endif" >> include/launchd.h
    xxd -i res/launchd.conf >> include/launchd.h
    echo  "#ifdef __DARWIN" > include/dml.h
    echo  "__attribute__ ((section (\"__DATA,__dm_symbol_ptr\")))" >> include/dml.h
    echo  "#endif" >> include/dml.h
    xxd -i res/dml >> include/dml.h
    $(GCC) -arch i386 -dynamiclib -fvisibility=hidden -DDYLIB -o install41.dylib src/keybreak.c $(CFLAGS) $(LDFLAGS) $(OBJS)
    strip -xXS install41.dylib

clean:
    rm -f $(OBJS) keybreak install41.dylib res/dml > /dev/null 2>&1