├── bin ├── Bypass │ └── 13 │ │ └── I13B ├── Ressource │ ├── plink.exe │ ├── pscp.exe │ ├── scp.exe │ ├── ssh.exe │ ├── zlib1.dll │ ├── libzip.dll │ ├── libbz2-1.dll │ ├── libcurl-4.dll │ ├── libplist.dll │ ├── libusbmuxd.dll │ ├── libirecovery.dll │ ├── idevicerestore.exe │ ├── libssl-1_1-x64.dll │ ├── libwinpthread-1.dll │ ├── libcrypto-1_1-x64.dll │ ├── libimobiledevice.dll │ ├── getfiles.sh │ └── sendfiles.sh └── tcprelay │ ├── usbmux.pyc │ ├── tcprelay.py │ └── usbmux.py ├── tcprelay.bat ├── README.md └── Start.bat /bin/Bypass/13/I13B: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Bypass/13/I13B -------------------------------------------------------------------------------- /bin/Ressource/plink.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/plink.exe -------------------------------------------------------------------------------- /bin/Ressource/pscp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/pscp.exe -------------------------------------------------------------------------------- /bin/Ressource/scp.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/scp.exe -------------------------------------------------------------------------------- /bin/Ressource/ssh.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/ssh.exe -------------------------------------------------------------------------------- /bin/Ressource/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/zlib1.dll -------------------------------------------------------------------------------- /bin/tcprelay/usbmux.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/tcprelay/usbmux.pyc -------------------------------------------------------------------------------- /tcprelay.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | echo Start tcprelay... 4 | 5 | py -2 bin\tcprelay\tcprelay.py -t 44:2222 -------------------------------------------------------------------------------- /bin/Ressource/libzip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libzip.dll -------------------------------------------------------------------------------- /bin/Ressource/libbz2-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libbz2-1.dll -------------------------------------------------------------------------------- /bin/Ressource/libcurl-4.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libcurl-4.dll -------------------------------------------------------------------------------- /bin/Ressource/libplist.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libplist.dll -------------------------------------------------------------------------------- /bin/Ressource/libusbmuxd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libusbmuxd.dll -------------------------------------------------------------------------------- /bin/Ressource/libirecovery.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libirecovery.dll -------------------------------------------------------------------------------- /bin/Ressource/idevicerestore.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/idevicerestore.exe -------------------------------------------------------------------------------- /bin/Ressource/libssl-1_1-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libssl-1_1-x64.dll -------------------------------------------------------------------------------- /bin/Ressource/libwinpthread-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libwinpthread-1.dll -------------------------------------------------------------------------------- /bin/Ressource/libcrypto-1_1-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libcrypto-1_1-x64.dll -------------------------------------------------------------------------------- /bin/Ressource/libimobiledevice.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nazky/SimplePassCodeBypass/HEAD/bin/Ressource/libimobiledevice.dll -------------------------------------------------------------------------------- /bin/Ressource/getfiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FG1=$(find /private/var/containers/Data/System -name activation_record.plist) 4 | 5 | FG2=$(find /private/var/containers/Data/System -name data_ark.plist) 6 | 7 | mkdir Ressource 8 | 9 | cp "$FG1" Ressource/ 10 | cp "$FG2" Ressource/ 11 | cp -r /private/var/wireless/Library Ressource/ 12 | -------------------------------------------------------------------------------- /bin/Ressource/sendfiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ACT1=$(find /private/var/containers/Data/System -name internal) 4 | 5 | ACT2=$(find /private/var/containers/Data/System -name activation_records) 6 | 7 | echo "$ACT1" 8 | 9 | ACT2=${ACT1%????????????????} 10 | 11 | echo "$ACT2" 12 | 13 | cp Ressource/*.plist /"$ACT2"/ 14 | 15 | cp -r Ressource/Library/ /private/var/wireless/ 16 | 17 | 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SimplePassCodeBypass 2 | A Simple Passcode Bypass for iDevice lock 3 | 4 | ### Download Latest 5 | 6 | Releases | Link 7 | ---------|----- 8 | With Putty Support (auto SSH/SCP) | [Here](https://github.com/Nazky/SimplePassCodeBypass/releases/latest/download/SimplePassCodeBypass-PV.zip) 9 | With OpenSSh Support (more stable) | [Here](https://github.com/Nazky/SimplePassCodeBypass/releases/latest/download/SimplePassCodeBypass.zip) 10 | 11 | ## Dependencies 12 | 13 | Python | Link 14 | ---------|----- 15 | Python 2.7.x | [Download](https://www.python.org/downloads/release/python-2717/) 16 | Python 3.x | [Download](https://www.python.org/downloads/release/python-382/) 17 | 18 | 19 | 20 | - Ignore this if you don't touch the program 21 | 22 | SSH/SCP | Link 23 | --------|----- 24 | Putty (Plink and Pscp) | [Download](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 25 | If Putty not work use openssh | [Installation](https://docs.microsoft.com/fr-fr/windows-server/administration/openssh/openssh_install_firstuse) 26 | 27 | 28 | 29 | ## Features 30 | 31 | ### Change Log 32 | 33 | v0.2 : 34 | 35 | - [x] Bypass IOS 13.x 36 | - [x] Bypass IOS 12.3/13.2.3 37 | - [x] Add Silver mac support 38 | - [x] Auto Bypass IOS 13.x 39 | - [x] Auto Bypass IOS 12.3/13.2.3 40 | 41 | ## Todos 42 | 43 | - [ ] Make Passcode Bypass Untetherd 44 | 45 | ### Credit 46 | 47 | - Passcode Bypass by @appletech752 48 | 49 | - Created by @NazkyYT 50 | 51 | 52 | **Free Software, Hell Yeah!** 53 | 54 | 55 | -------------------------------------------------------------------------------- /bin/tcprelay/tcprelay.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # tcprelay.py - TCP connection relay for usbmuxd 5 | # 6 | # Copyright (C) 2009 Hector Martin "marcan" 7 | # 8 | # This program is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 2 or version 3. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU General Public License 18 | # along with this program; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | import usbmux 22 | import SocketServer 23 | import select 24 | from optparse import OptionParser 25 | import sys 26 | import traceback 27 | 28 | class SocketRelay(object): 29 | def __init__(self, a, b, maxBuffer = 65535): 30 | self.a = a 31 | self.b = b 32 | self.atob = "" 33 | self.btoa = "" 34 | self.maxBuffer = maxBuffer 35 | 36 | def handle(self): 37 | while True: 38 | rlist = [] 39 | wlist = [] 40 | xlist = [self.a, self.b] 41 | if self.atob: 42 | wlist.append(self.b) 43 | if self.btoa: 44 | wlist.append(self.a) 45 | if len(self.atob) < self.maxBuffer: 46 | rlist.append(self.a) 47 | if len(self.btoa) < self.maxBuffer: 48 | rlist.append(self.b) 49 | rlo, wlo, xlo = select.select(rlist, wlist, xlist) 50 | if xlo: 51 | return 52 | if self.a in wlo: 53 | n = self.a.send(self.btoa) 54 | self.btoa = self.btoa[n:] 55 | if self.b in wlo: 56 | n = self.b.send(self.atob) 57 | self.atob = self.atob[n:] 58 | if self.a in rlo: 59 | s = self.a.recv(self.maxBuffer - len(self.atob)) 60 | if not s: 61 | return 62 | self.atob += s 63 | if self.b in rlo: 64 | s = self.b.recv(self.maxBuffer - len(self.btoa)) 65 | if not s: 66 | return 67 | self.btoa += s 68 | #print "Relay iter: %8d atob, %8d btoa, lists: %r %r %r"%(len(self.atob), len(self.btoa), rlo, wlo, xlo) 69 | 70 | 71 | class TCPRelay(SocketServer.BaseRequestHandler): 72 | def handle(self): 73 | print "Incoming connection to {0}".format(self.server.server_address[1]) 74 | 75 | print "Waiting for devices..." 76 | if len(self.server.devices) == 0: 77 | print "No device found" 78 | self.request.close() 79 | return 80 | 81 | dev = None 82 | if options.udid is None: 83 | # Default to the first available device if no udid was specified 84 | dev = self.server.devices[0] 85 | else: 86 | for device in self.server.devices: 87 | # Look for the specified device UDID 88 | if device.serial == options.udid: 89 | dev = device 90 | break 91 | 92 | if not dev: 93 | raise Exception("Could not detect specified device UDID: {0}".format(repr(options.udid))) 94 | 95 | print "Connecting to device {0}".format(dev) 96 | dsock = mux.connect(dev, self.server.remotePort) 97 | lsock = self.request 98 | print "Connection established, relaying data" 99 | try: 100 | fwd = SocketRelay(dsock, lsock, self.server.bufferSize * 1024) 101 | fwd.handle() 102 | finally: 103 | dsock.close() 104 | lsock.close() 105 | print "Connection closed" 106 | 107 | 108 | class TCPServer(SocketServer.TCPServer): 109 | allow_reuse_address = True 110 | 111 | 112 | class ThreadedTCPServer(SocketServer.ThreadingMixIn, TCPServer): 113 | pass 114 | 115 | 116 | parser = OptionParser(usage="usage: %prog [OPTIONS] [Host:]RemotePort[:LocalPort] [[Host:]RemotePort[:LocalPort]]...") 117 | parser.add_option("-t", "--threaded", dest='threaded', action='store_true', default=False, 118 | help="use threading to handle multiple connections at once") 119 | parser.add_option("-b", "--bufsize", dest='bufsize', action='store', metavar='KILOBYTES', type='int', default=128, 120 | help="specify buffer size for socket forwarding") 121 | parser.add_option("-s", "--socket", dest='sockpath', action='store', metavar='PATH', type='str', default=None, 122 | help="specify the path of the usbmuxd socket") 123 | parser.add_option("-u", "--udid", dest='udid', action='store', metavar='UDID', type='str', default=None, 124 | help="specify the device's udid if multiple devices are connected") 125 | 126 | options, args = parser.parse_args() 127 | 128 | serverClass = ThreadedTCPServer if options.threaded else TCPServer 129 | 130 | if len(args) == 0: 131 | parser.print_help() 132 | sys.exit(1) 133 | 134 | ports = [] 135 | 136 | 137 | mux = usbmux.USBMux(options.sockpath) 138 | print "Waiting for devices..." 139 | mux.process(0.1) 140 | lastLength = len(mux.devices) 141 | 142 | while True: 143 | mux.process(0.1) 144 | if len(mux.devices) == lastLength: break 145 | lastLength = len(mux.devices) 146 | 147 | devices = mux.devices 148 | print "Devices:\n{0}".format("\n".join([str(d) for d in devices])) 149 | 150 | for arg in args: 151 | try: 152 | if ':' in arg: 153 | remotePort, localPort = arg.rsplit(":", 1) 154 | host, remotePort = remotePort.split(":") if len(remotePort.split(":")) > 1 else ("localhost", remotePort) 155 | remotePort = int(remotePort) 156 | localPort = int(localPort) 157 | ports.append((host, remotePort, localPort)) 158 | else: 159 | ports.append(("localhost", int(arg), int(arg))) 160 | except: 161 | parser.print_help() 162 | sys.exit(1) 163 | 164 | servers = [] 165 | 166 | for host, remotePort, localPort in ports: 167 | print "Forwarding local port {0}:{1} to remote port {2}".format(host, localPort, remotePort) 168 | server = serverClass((host, localPort), TCPRelay) 169 | server.remotePort = remotePort 170 | server.bufferSize = options.bufsize 171 | server.devices = devices 172 | servers.append(server) 173 | 174 | alive = True 175 | 176 | while alive: 177 | try: 178 | rl, wl, xl = select.select(servers, [], []) 179 | for server in rl: 180 | server.handle_request() 181 | except: 182 | traceback.print_exc() 183 | alive = False 184 | -------------------------------------------------------------------------------- /bin/tcprelay/usbmux.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # -*- coding: utf-8 -*- 3 | # 4 | # usbmux.py - usbmux client library for Python 5 | # 6 | # Copyright (C) 2009 Hector Martin "marcan" 7 | # 8 | # This program is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License as published by 10 | # the Free Software Foundation, either version 2 or version 3. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU General Public License 18 | # along with this program; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | 21 | import socket 22 | import struct 23 | import select 24 | import sys 25 | 26 | try: 27 | import plistlib 28 | 29 | haveplist = True 30 | except: 31 | haveplist = False 32 | 33 | 34 | class MuxError(Exception): 35 | pass 36 | 37 | 38 | class MuxVersionError(MuxError): 39 | pass 40 | 41 | 42 | class SafeStreamSocket: 43 | def __init__(self, address, family): 44 | self.sock = socket.socket(family, socket.SOCK_STREAM) 45 | self.sock.connect(address) 46 | 47 | def send(self, msg): 48 | totalsent = 0 49 | while totalsent < len(msg): 50 | sent = self.sock.send(msg[totalsent:]) 51 | if sent == 0: 52 | raise MuxError("socket connection broken") 53 | totalsent = totalsent + sent 54 | 55 | def recv(self, size): 56 | msg = '' 57 | while len(msg) < size: 58 | chunk = self.sock.recv(size - len(msg)) 59 | if chunk == '': 60 | raise MuxError("socket connection broken") 61 | msg = msg + chunk 62 | return msg 63 | 64 | 65 | class MuxDevice(object): 66 | def __init__(self, devid, usbprod, serial, location): 67 | self.devid = devid 68 | self.usbprod = usbprod 69 | self.serial = serial 70 | self.location = location 71 | 72 | def __str__(self): 73 | return "".format(self.devid, self.usbprod, self.serial, self.location) 74 | 75 | 76 | class BinaryProtocol(object): 77 | TYPE_RESULT = 1 78 | TYPE_CONNECT = 2 79 | TYPE_LISTEN = 3 80 | TYPE_DEVICE_ADD = 4 81 | TYPE_DEVICE_REMOVE = 5 82 | VERSION = 0 83 | 84 | def __init__(self, socket): 85 | self.socket = socket 86 | self.connected = False 87 | 88 | def _pack(self, req, payload): 89 | if req == self.TYPE_CONNECT: 90 | return struct.pack("IH", payload['DeviceID'], payload['PortNumber']) + "\x00\x00" 91 | elif req == self.TYPE_LISTEN: 92 | return "" 93 | else: 94 | raise ValueError("Invalid outgoing request type %d" % req) 95 | 96 | def _unpack(self, resp, payload): 97 | if resp == self.TYPE_RESULT: 98 | return {'Number': struct.unpack("I", payload)[0]} 99 | elif resp == self.TYPE_DEVICE_ADD: 100 | devid, usbpid, serial, pad, location = struct.unpack("IH256sHI", payload) 101 | serial = serial.split("\0")[0] 102 | return {'DeviceID': devid, 103 | 'Properties': {'LocationID': location, 'SerialNumber': serial, 'ProductID': usbpid}} 104 | elif resp == self.TYPE_DEVICE_REMOVE: 105 | devid = struct.unpack("I", payload)[0] 106 | return {'DeviceID': devid} 107 | else: 108 | raise MuxError("Invalid incoming request type %d" % req) 109 | 110 | def sendpacket(self, req, tag, payload={}): 111 | payload = self._pack(req, payload) 112 | if self.connected: 113 | raise MuxError("Mux is connected, cannot issue control packets") 114 | length = 16 + len(payload) 115 | data = struct.pack("IIII", length, self.VERSION, req, tag) + payload 116 | self.socket.send(data) 117 | 118 | def getpacket(self): 119 | if self.connected: 120 | raise MuxError("Mux is connected, cannot issue control packets") 121 | dlen = self.socket.recv(4) 122 | dlen = struct.unpack("I", dlen)[0] 123 | body = self.socket.recv(dlen - 4) 124 | version, resp, tag = struct.unpack("III", body[:0xc]) 125 | if version != self.VERSION: 126 | raise MuxVersionError("Version mismatch: expected %d, got %d" % (self.VERSION, version)) 127 | payload = self._unpack(resp, body[0xc:]) 128 | return (resp, tag, payload) 129 | 130 | 131 | class PlistProtocol(BinaryProtocol): 132 | TYPE_RESULT = "Result" 133 | TYPE_CONNECT = "Connect" 134 | TYPE_LISTEN = "Listen" 135 | TYPE_DEVICE_ADD = "Attached" 136 | TYPE_DEVICE_REMOVE = "Detached" #??? 137 | TYPE_PLIST = 8 138 | VERSION = 1 139 | 140 | def __init__(self, socket): 141 | if not haveplist: 142 | raise Exception("You need the plistlib module") 143 | BinaryProtocol.__init__(self, socket) 144 | 145 | def _pack(self, req, payload): 146 | return payload 147 | 148 | def _unpack(self, resp, payload): 149 | return payload 150 | 151 | def sendpacket(self, req, tag, payload={}): 152 | payload['ClientVersionString'] = 'usbmux.py by marcan' 153 | if isinstance(req, int): 154 | req = [self.TYPE_CONNECT, self.TYPE_LISTEN][req - 2] 155 | payload['MessageType'] = req 156 | payload['ProgName'] = 'tcprelay' 157 | BinaryProtocol.sendpacket(self, self.TYPE_PLIST, tag, plistlib.writePlistToString(payload)) 158 | 159 | def getpacket(self): 160 | resp, tag, payload = BinaryProtocol.getpacket(self) 161 | if resp != self.TYPE_PLIST: 162 | raise MuxError("Received non-plist type %d" % resp) 163 | payload = plistlib.readPlistFromString(payload) 164 | return payload['MessageType'], tag, payload 165 | 166 | 167 | class MuxConnection(object): 168 | def __init__(self, socketpath, protoclass): 169 | self.socketpath = socketpath 170 | if sys.platform in ['win32', 'cygwin']: 171 | family = socket.AF_INET 172 | address = ('127.0.0.1', 27015) 173 | else: 174 | family = socket.AF_UNIX 175 | address = self.socketpath 176 | self.socket = SafeStreamSocket(address, family) 177 | self.proto = protoclass(self.socket) 178 | self.pkttag = 1 179 | self.devices = [] 180 | 181 | def _getreply(self): 182 | while True: 183 | resp, tag, data = self.proto.getpacket() 184 | if resp == self.proto.TYPE_RESULT: 185 | return tag, data 186 | else: 187 | raise MuxError("Invalid packet type received: %d" % resp) 188 | 189 | def _processpacket(self): 190 | resp, tag, data = self.proto.getpacket() 191 | if resp == self.proto.TYPE_DEVICE_ADD: 192 | self.devices.append( 193 | MuxDevice(data['DeviceID'], data['Properties']['ProductID'], data['Properties']['SerialNumber'], 194 | data['Properties']['LocationID'])) 195 | elif resp == self.proto.TYPE_DEVICE_REMOVE: 196 | for dev in self.devices: 197 | if dev.devid == data['DeviceID']: 198 | self.devices.remove(dev) 199 | elif resp == self.proto.TYPE_RESULT: 200 | raise MuxError("Unexpected result: %d" % resp) 201 | else: 202 | raise MuxError("Invalid packet type received: %d" % resp) 203 | 204 | def _exchange(self, req, payload={}): 205 | mytag = self.pkttag 206 | self.pkttag += 1 207 | self.proto.sendpacket(req, mytag, payload) 208 | recvtag, data = self._getreply() 209 | if recvtag != mytag: 210 | raise MuxError("Reply tag mismatch: expected %d, got %d" % (mytag, recvtag)) 211 | return data['Number'] 212 | 213 | def listen(self): 214 | ret = self._exchange(self.proto.TYPE_LISTEN) 215 | if ret != 0: 216 | raise MuxError("Listen failed: error %d" % ret) 217 | 218 | def process(self, timeout=None): 219 | if self.proto.connected: 220 | raise MuxError("Socket is connected, cannot process listener events") 221 | rlo, wlo, xlo = select.select([self.socket.sock], [], [self.socket.sock], timeout) 222 | if xlo: 223 | self.socket.sock.close() 224 | raise MuxError("Exception in listener socket") 225 | if rlo: 226 | self._processpacket() 227 | 228 | def connect(self, device, port): 229 | ret = self._exchange(self.proto.TYPE_CONNECT, 230 | {'DeviceID': device.devid, 'PortNumber': ((port << 8) & 0xFF00) | (port >> 8)}) 231 | if ret != 0: 232 | raise MuxError("Connect failed: error %d" % ret) 233 | self.proto.connected = True 234 | return self.socket.sock 235 | 236 | def close(self): 237 | self.socket.sock.close() 238 | 239 | 240 | class USBMux(object): 241 | def __init__(self, socketpath=None): 242 | if socketpath is None: 243 | if sys.platform == 'darwin': 244 | socketpath = "/var/run/usbmuxd" 245 | else: 246 | socketpath = "/var/run/usbmuxd" 247 | self.socketpath = socketpath 248 | self.listener = MuxConnection(socketpath, BinaryProtocol) 249 | try: 250 | self.listener.listen() 251 | self.version = 0 252 | self.protoclass = BinaryProtocol 253 | except MuxVersionError: 254 | self.listener = MuxConnection(socketpath, PlistProtocol) 255 | self.listener.listen() 256 | self.protoclass = PlistProtocol 257 | self.version = 1 258 | self.devices = self.listener.devices 259 | 260 | def process(self, timeout=None): 261 | self.listener.process(timeout) 262 | 263 | def connect(self, device, port): 264 | connector = MuxConnection(self.socketpath, self.protoclass) 265 | return connector.connect(device, port) 266 | 267 | 268 | if __name__ == "__main__": 269 | mux = USBMux() 270 | print "Waiting for devices..." 271 | if not mux.devices: 272 | mux.process(0.1) 273 | while True: 274 | print "Devices:" 275 | for dev in mux.devices: 276 | print dev 277 | mux.process() 278 | -------------------------------------------------------------------------------- /Start.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | title SimplePassCodeBypass 4 | 5 | mkdir FileInfo\BypassPasscode\File\Ressource\ 6 | 7 | del %UserProfile%\.ssh\known_hosts 8 | 9 | start cmd /k tcprelay.bat 10 | 11 | echo make sur to have run tcprelay and python 2.7 and python 3 install !!!! 12 | 13 | :home 14 | 15 | color 02 16 | 17 | echo ***************************** 18 | echo * Simple Passcode Bypass * 19 | echo * V0.2 * 20 | echo * Created by @NazkyYT * 21 | echo * And @appletech752 * 22 | echo *---------Passcode----------* 23 | echo * 1 - Get File * 24 | echo * 2 - Send File * 25 | echo *----------Bypass-----------* 26 | echo * 3 - IOS 13.x * 27 | echo * 4 - IOS 12.3/13.2.3 * 28 | echo *---------Automatic---------* 29 | echo * 5 - IOS 12.3/13.2.3 * 30 | echo * 6 - IOS 13.x * 31 | echo *-----------Extra-----------* 32 | echo * 7 - Get Sliver Files * 33 | echo ***************************** 34 | 35 | set /P number="Choose a number : " 36 | 37 | if /I %number% == 1 goto :GF 38 | if /I %number% == 3 goto :BP 39 | if /I %number% == 2 goto :SF 40 | if /I %number% == 4 goto :BP2 41 | if /I %number% == 5 goto :A12 42 | if /I %number% == 6 goto :A13 43 | if /I %number% == 6 goto :A13 44 | if /I %number% == 7 goto :ST 45 | 46 | echo Choose right number 47 | pause 48 | cls 49 | goto :home 50 | 51 | :ST 52 | 53 | color 08 54 | 55 | set /P Folder="Drag and drop MagicFile Folder : " 56 | xcopy "%Folder%/4/Library/activation_record.plist" FileInfo\BypassPasscode\File\Ressource\ /E 57 | xcopy "%Folder%/4/Library/data_ark.plist" FileInfo\BypassPasscode\File\Ressource\ /E 58 | xcopy "%Folder%/3/" FileInfo\BypassPasscode\File\Ressource\ /E 59 | echo Copy finish you can now use the send file option 60 | pause 61 | cls 62 | goto :home 63 | 64 | :GF 65 | 66 | color 05 67 | 68 | echo. 69 | echo Send script to device... 70 | 71 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\getfiles.sh root@localhost:/var/root 72 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 bin\Ressource\getfiles.sh root@localhost:/var/root 73 | echo. 74 | echo Run script... 75 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 getfiles.sh 76 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./getfiles.sh 77 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 getfiles.sh 78 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./getfiles.sh 79 | echo. 80 | echo Get File... 81 | REM bin\Ressource\scp.exe -P2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\ 82 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\ 83 | echo. 84 | echo. 85 | echo Get file normally sucess 86 | pause 87 | cls 88 | goto :home 89 | 90 | :SF 91 | 92 | color 06 93 | echo. 94 | echo Send ressource to device... 95 | REM bin\Ressource\scp.exe -P2222 -r FileInfo\BypassPasscode\File\Ressource\. root@localhost:/Ressource 96 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r FileInfo\BypassPasscode\File\Ressource\. root@localhost:/Ressource 97 | echo. 98 | echo Send script to device.... 99 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\sendfiles.sh root@localhost:/var/root 100 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r bin\Ressource\sendfiles.sh root@localhost:/var/root 101 | echo. 102 | echo run script 103 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 sendfiles.sh 104 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./sendfiles.sh 105 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 sendfiles.sh 106 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./sendfiles.sh 107 | echo. 108 | echo. 109 | echo File normally Upload 110 | pause 111 | cls 112 | goto :home 113 | 114 | :BP 115 | 116 | color 07 117 | 118 | echo. 119 | echo Start Bypass 120 | REM bin\Ressource\ssh.exe root@localhost -p2222 mount -o rw,union,update / 121 | REM bin\Ressource\scp.exe -P2222 bin\Bypass\13\I13B root@localhost:/usr/libexec/ 122 | REM bin\Ressource\ssh.exe root@localhost -p2222 mv /usr/libexec/mobileactivationd /usr/libexec/mobileactivationdbak 123 | REM bin\Ressource\ssh.exe root@localhost -p2222 mv /usr/libexec/I13B /usr/libexec/mobileactivationd 124 | REM bin\Ressource\ssh.exe root@localhost -p2222 launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 125 | REM bin\Ressource\ssh.exe root@localhost -p2222 launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 126 | bin\Ressource\ssh.exe root@localhost -p 2222 mount -o rw,union,update / 127 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 bin\Bypass\13\I13B root@localhost:/usr/libexec/ 128 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost mv /usr/libexec/mobileactivationd /usr/libexec/mobileactivationdbak 129 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost mv /usr/libexec/I13B /usr/libexec/mobileactivationd 130 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 131 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 132 | echo. 133 | echo. 134 | echo Bypass done 135 | pause 136 | cls 137 | goto :home 138 | 139 | :BP2 140 | 141 | color 02 142 | 143 | echo. 144 | echo Start Bypass 145 | REM bin\Ressource\ssh.exe root@localhost -p2222 mount -o rw,union,update / 146 | REM bin\Ressource\ssh.exe root@localhost -p2222 rm -rf /Applications/Setup.app 147 | REM bin\Ressource\ssh.exe root@localhost -p2222 uicache -p /Applications/Setup.app 148 | REM bin\Ressource\ssh.exe root@localhost -p2222 killall backboardd 149 | bin\Ressource\ssh.exe root@localhost -p 2222 mount -o rw,union,update / 150 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost rm -rf /Applications/Setup.app 151 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost uicache -p /Applications/Setup.app 152 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost killall backboardd 153 | echo. 154 | echo. 155 | echo Bypass done 156 | pause 157 | cls 158 | goto :home 159 | 160 | :A12 161 | 162 | color 03 163 | echo. 164 | set /P Name="Choose name for you backup : " 165 | 166 | echo. 167 | echo Send script to device... 168 | 169 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\getfiles.sh root@localhost:/var/root 170 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 bin\Ressource\getfiles.sh root@localhost:/var/root 171 | echo. 172 | echo Run script... 173 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 getfiles.sh 174 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./getfiles.sh 175 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 getfiles.sh 176 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./getfiles.sh 177 | echo. 178 | echo Get File... 179 | REM bin\Ressource\scp.exe -P2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\ 180 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\%Name% 181 | echo. 182 | echo. 183 | echo Get file normally sucess 184 | bin\Ressource\idevicerestore.exe -l 185 | echo Device Restored now jailbreak you'r iphone 186 | pause 187 | echo. 188 | echo Start Bypass 189 | REM bin\Ressource\ssh.exe root@localhost -p2222 mount -o rw,union,update / 190 | REM bin\Ressource\ssh.exe root@localhost -p2222 rm -rf /Applications/Setup.app 191 | REM bin\Ressource\ssh.exe root@localhost -p2222 uicache -p /Applications/Setup.app 192 | REM bin\Ressource\ssh.exe root@localhost -p2222 killall backboardd 193 | bin\Ressource\ssh.exe root@localhost -p 2222 mount -o rw,union,update / 194 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost rm -rf /Applications/Setup.app 195 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost uicache -p /Applications/Setup.app 196 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost killall backboardd 197 | echo. 198 | echo. 199 | echo Bypass done 200 | echo. 201 | echo Send ressource to device... 202 | REM bin\Ressource\scp.exe -P2222 -r FileInfo\BypassPasscode\File\Ressource\. root@localhost:/Ressource 203 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r FileInfo\BypassPasscode\File\%Name%\Ressource\. root@localhost:/Ressource 204 | echo. 205 | echo Send script to device.... 206 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\sendfiles.sh root@localhost:/var/root 207 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r bin\Ressource\sendfiles.sh root@localhost:/var/root 208 | echo. 209 | echo run script 210 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 sendfiles.sh 211 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./sendfiles.sh 212 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 sendfiles.sh 213 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./sendfiles.sh 214 | echo. 215 | echo. 216 | echo File normally Upload 217 | echo. 218 | echo. 219 | echo Bypass auto normally sucess if you have problem contact me on twitter 220 | pause 221 | cls 222 | goto :home 223 | 224 | :A13 225 | echo. 226 | set /P Name="Choose name for you backup : " 227 | 228 | color 01 229 | 230 | echo Send script to device... 231 | 232 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\getfiles.sh root@localhost:/var/root 233 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 bin\Ressource\getfiles.sh root@localhost:/var/root 234 | echo. 235 | echo Run script... 236 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 getfiles.sh 237 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./getfiles.sh 238 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 getfiles.sh 239 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./getfiles.sh 240 | echo. 241 | echo Get File... 242 | REM bin\Ressource\scp.exe -P2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\ 243 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r root@localhost:/var/root/Ressource FileInfo\BypassPasscode\File\%Name% 244 | echo. 245 | echo Get file normally sucess 246 | bin\Ressource\idevicerestore.exe -l 247 | echo. 248 | echo Device Restored now jailbreak you'r iphone 249 | pause 250 | echo. 251 | echo Start Bypass 252 | REM bin\Ressource\ssh.exe root@localhost -p2222 mount -o rw,union,update / 253 | REM bin\Ressource\scp.exe -P2222 bin\Bypass\13\I13B root@localhost:/usr/libexec/ 254 | REM bin\Ressource\ssh.exe root@localhost -p2222 mv /usr/libexec/mobileactivationd /usr/libexec/mobileactivationdbak 255 | REM bin\Ressource\ssh.exe root@localhost -p2222 mv /usr/libexec/I13B /usr/libexec/mobileactivationd 256 | REM bin\Ressource\ssh.exe root@localhost -p2222 launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 257 | REM bin\Ressource\ssh.exe root@localhost -p2222 launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 258 | bin\Ressource\ssh.exe root@localhost -p 2222 mount -o rw,union,update / 259 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 bin\Bypass\13\I13B root@localhost:/usr/libexec/ 260 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost mv /usr/libexec/mobileactivationd /usr/libexec/mobileactivationdbak 261 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost mv /usr/libexec/I13B /usr/libexec/mobileactivationd 262 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost launchctl unload /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 263 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost launchctl load /System/Library/LaunchDaemons/com.apple.mobileactivationd.plist 264 | echo. 265 | echo Bypass done 266 | echo. 267 | echo Send ressource to device... 268 | REM bin\Ressource\scp.exe -P2222 -r FileInfo\BypassPasscode\File\Ressource\. root@localhost:/Ressource 269 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r FileInfo\BypassPasscode\File\%Name%\Ressource\. root@localhost:/Ressource 270 | echo. 271 | echo Send script to device.... 272 | REM bin\Ressource\scp.exe -P2222 bin\Ressource\sendfiles.sh root@localhost:/var/root 273 | bin\Ressource\pscp.exe -scp -pw alpine -P 2222 -r bin\Ressource\sendfiles.sh root@localhost:/var/root 274 | echo. 275 | echo run script 276 | REM bin\Ressource\ssh.exe root@localhost -p2222 chmod 755 sendfiles.sh 277 | REM bin\Ressource\ssh.exe root@localhost -p2222 ./sendfiles.sh 278 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost chmod 755 sendfiles.sh 279 | bin\Ressource\plink.exe -ssh -pw alpine -P 2222 root@localhost ./sendfiles.sh 280 | echo. 281 | echo File normally Upload 282 | echo. 283 | echo. 284 | echo Bypass auto normally sucess if you have problem contact me on twitter 285 | pause 286 | cls 287 | goto :home 288 | --------------------------------------------------------------------------------