Home | Blog | Malware Analysis | Presentations | Open-Source
Exacutable MD5/SHA1 checksum
MD5:ADB8A760B5D36B70A771FECEE0075389
SHA1:00A003A9DA6C38098108E6F8C2A8CCFB1AC2C213
SHA-256:B682C3F4D34AFDE9A2957D8EB70D48E334F1490DC90A928606849570D9EBE7F8
Source Code Download: Click Here
Source Code MD5/SHA1 checksum
MD5:03EED33A8E58637FC6C8C51BDDD9F8B1
SHA1:8BE2BBEB92EAB5B5911A6442A2C307ACB55F9CA0
SHA-256:77C9D019905BE1C26B63461EABAB82295216DBF9A03B03BBB25D33B02C4F46AE
Open-i is programmed using Visual Basic, it was created to allow other users who are beginners, wanting to get into iOS hacking/exploitation, to research code with a somewhat easy syntax. I also created it because most iOS hacking tools were created in C#, C++, C or Objective-C. I reversed engineered an application on Mac and another application on windows (Can't remember the names, may need to update this post when I get more time), modified the code so it could work on a higher version of iOS and started programming it in Visual Basic.
***This really did start out as a small project of just playing around with code and seeing what happens to creating a work around to a patch Apple had made***
The Application allowed a user to create custom Carrier Text or image on iOS 6 without the need to Jailbreak.
The code isn't efficient and is a little buggy but I was 15 at the time ;) but most of the bugs are sorted in the executable version.
from shutil import get_terminal_size import sys from pexpect import pxssh global s global hostIP s = pxssh.pxssh() hostIP = input(str("IP of iPhone: ")) BLUE, YELLOW, GREEN, END, BOLD = '\33[94m', '\33[93m', '\033[92m', '\033[0m', '\033[1m' def ssh(): try: if s.login(hostIP, 'root', 'alpine', auto_prompt_reset=False): print("SSH session login successful") except ValueError: print("SSH session failed on login, trying again...") return def reset(): clear() ssh() s.sendline("cd /var/mobile/Library/Preferences/") # Set the Current Directory on the iPhone print("Set Current Directory...") s.sendline("mv com.apple.springboard.plist com.apple.springboard.BAKUP") # Changes the original file so we have a backup print("Downloading File...") s.sendline("wget http://kierantwids.co.uk/com.apple.springboard.plist") print("Preparing to Respring Device...") s.sendline("killall -9 SpringBoard") #Kill Springboard with -9 which forces the command, ignoring all wait signals s.prompt() # match the prompt s.logout() def recover(): clear() ssh() s.sendline("cd /var/mobile/Library/Preferences/") # Set the Current Directory on the iPhone print("Set Current Directory...") s.sendline("rm com.apple.springboard.plist") # Remove Previous plist file print("Removing Changes") s.sendline("mv com.apple.springboard.BAKUP com.apple.springboard.plist") print("Restored") print("Preparing to Respring Device...") s.sendline("killall -9 SpringBoard") #Kill Springboard with -9 which forces the command, ignoring all wait signals s.prompt() # match the prompt s.logout() def clear(): print("\n" * get_terminal_size().lines, end='') def heading(): clear() sys.stdout.write(GREEN + """ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦ ¦¦¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦ ¦¦¦¦¦¦¦¦ ¦¦¦¦ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦ ¦¦¦¦ ¦¦¦¦ \n\n""" + END) print(BOLD + BLUE + "1. Reset Restriction Passcode \n2. Restore Restriction Passcode\n ") def main(): heading() #Call heading function option = int(input("Please Enter an Option: ")) #Declare a variable with an integer input with the text Please Enter An Option: if option == 1: #If the variable option is 1 then run the reset function reset() elif option == 2: #If the variable option is 2 then run the recover function recover() else: print("Please Enter a Valid Option") main()