matthewpierson / pyboot Goto Github PK
View Code? Open in Web Editor NEWTool for tether booting Checkm8 vulnerable iOS devices
License: GNU Lesser General Public License v3.0
Tool for tether booting Checkm8 vulnerable iOS devices
License: GNU Lesser General Public License v3.0
As I wrote in the title, I have this question.. Can I use the file that has been pyboot once to boot directly without downloading later?
please make a tutorial on using Pythoon scripts and succession down, because I don't understand how to use existing scripts.
First of all .. Thank you for this tool ..
I already have restored my iPhone using your modified version of Succession trying to downgrade from 12.4.3 to 11.3 ..
My iPhone is 6+
This is what i got
`
crazymind@CrazyMinds-MacBook-Pro PyBoot-master-2 % ./pyboot.py -i iPhone7,1 12.4.4 -b /Users/crazymind/Desktop/CM90.png
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.4.4 keys...
No Key, exiting.
crazymind@CrazyMinds-MacBook-Pro PyBoot-master-2 % ./pyboot.py -i iPhone7,1 12.4.5 -b /Users/crazymind/Desktop/CM90.png
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.4.5 keys...
No Key, exiting.
crazymind@CrazyMinds-MacBook-Pro PyBoot-master-2 % ./pyboot.py -i iPhone7,1 12.3 -b /Users/crazymind/Desktop/CM90.png
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.3 keys...
No Key, exiting.
`
Am i missing something ?
9905b4edc794469:694
3974bfd3d441da3:1045
Delaying boot for 0 seconds. Hit enter to break into the command prompt...
3974bfd3d441da3:1246
Entering recovery mode, starting command prompt
ea0f64a4253252:308
Memory image not valid
ea0f64a4253252:308
7ab90c923dae682:486
Kernelcache image not valid
7ab90c923dae682:501
ea0f64a4253252:308
arg[1].u=0x00000000, opr=0, update=0, blank=1, restore=0, flipbook=0, voffset_override=0
ea0f64a4253252:308
ea0f64a4253252:308
Device Tree image not valid
ea0f64a4253252:308
cbc0ab19870954d:256
ea0f64a4253252:308
cbc0ab19870954d:256
ea0f64a4253252:308
cbc0ab19870954d:256
ea0f64a4253252:308
cbc0ab19870954d:256
ea0f64a4253252:308
cbc0ab19870954d:256
ea0f64a4253252:308
7ab90c923dae682:486
Kernelcache image not valid
7ab90c923dae682:501
I have confirmed I have an iPhone9,3
After it just hangs in recovery mode with the backlight
Below is PyBoot output
""PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.8
Please enter the boot-args you want to use then press enter: -v
Make sure your device is connected in DFU mode
Checking theiphonewiki for 13.3.1 keys...
Found Keys!
Downloading 13.3.1's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Found multiple device models...
Which is your device?
1: d101ap
2: d10ap
3: d201ap
4: d20ap
Enter the number that corresponds with your device: 1
Device set to d101ap
Getting SHSH for signing images
Downloading and patching 13.3.1's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.d10.RELEASE.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Extracting: Firmware/dfu/iBSS.d10.RELEASE.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's KernelCache
Extracting: kernelcache.release.iphone9, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.d101ap.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's TrustCache
Extracting: Firmware/038-13736-056.dmg.trustcache, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's AOPFW
Extracting: Firmware/AOP/aopfw-t8010aop.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's ISP
Extracting: Firmware/isp_bni/adc-nike-d20.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's CallanFirmware
Extracting: Firmware/D201_CallanFirmware.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Downloading 13.3.1's MultiTouch Firmware
Extracting: Firmware/D201_Multitouch.im4p, from iPhone_4.7_P3_13.3.1_17D50_Restore.ipsw
Patching Kernel's type from krnl to rkrn
Patching TrustCache's type from trst to rtsc
Patching Devicetree's type from dtre to rdtr
Signing boot files
Exploiting device with checkm8
*** checkm8 exploit by axi0mX ***
*** modified version by Linus Henze ***
*** s5l8965x support by Matthew Pierson ***
Found: CPID:8010 CPRV:11 CPFM:03 SCEP:01 BDID:0C ECID:0005141021F80026 IBFL:3C SRTG:[iBoot-2696.0.0.1.33]
Device is now in pwned DFU Mode.
(1.25 seconds)
Exploit worked!
<subprocess.Popen object at 0x10c9a5c70>
*** SecureROM Signature check remover by Linus Henze ***
Found: CPID:8010 CPRV:11 CPFM:03 SCEP:01 BDID:0C ECID:XXXXXXXXXXX IBFL:3C SRTG:[iBoot-2696.0.0.1.33] PWND:[checkm8]
Applying patches...
Successfully applied patches
Resetting device state
Which MacOS version support PyBoot?
I am trying to get it on High Sierra 10.13.6 (hackintosh).
Should it work?
@MatthewPierson what do you use python version? v3.7.7?
Tried running PyBoot about 15 times on my iPhone 7 (iphone9,3), iOS 13.5.1 is the version of main OS, and ios 11.4.1 is the second. Log:
iMac-Matthew:PyBoot-master imac$ ./pyboot.py -i iPhone9,3 11.4.1 -d disk0s1s6
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.8
User choose to boot 11.4.1 from /dev/disk0s1s6.
Make sure your device is connected in DFU mode
1
Checking theiphonewiki for 11.4.1 keys...
Found Keys!
Downloading 11.4.1's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
Found multiple device models...
Which is your device?
1: d101ap
2: d10ap
3: d201ap
4: d20ap
Enter the number that corresponds with your device: Device set to d101ap
Getting SHSH for signing images
Downloading and patching 11.4.1's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.d10.RELEASE.im4p, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
Extracting: Firmware/dfu/iBSS.d10.RELEASE.im4p, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib
Referenced from: /Users/imac/Downloads/PyBoot-master/./resources/bin/ibootim
Reason: image not found
Downloading 11.4.1's KernelCache
Extracting: kernelcache.release.iphone9, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
Downloading 11.4.1's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.d101ap.im4p, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
iOS version is 11.x, not downloading trustcache
Downloading 11.4.1's AOPFW
Extracting: Firmware/AOP/aopfw-t8010aop.im4p, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
Downloading 11.4.1's ISP
Extracting: Firmware/isp_bni/, from iPhone_4.7_P3_11.0_11.4.1_15G77_Restore.ipsw
ERROR: Failed to download ISP
Please re-run PyBoot again and it should work (might take a few tries)
Referenced from: /Users/alan/PyBoot/resources/bin/irecovery
Reason: image not found
Should be good?
Device should be booting!
here is the panic log
panic-base-2020-05-23-132711.txt
please change the name to ".ips" then open it in Console
also here is the text:
{"bug_type":"210","timestamp":"2020-05-23 13:27:11.00 +0800","os_version":"iPhone OS 13.4 (17E255)","incident_id":"723EDA2C-2655-40DC-A983-CFFD664140F1"}
{
"build" : "iPhone OS 13.4 (17E255)",
"product" : "iPad5,1",
"kernel" : "Darwin Kernel Version 19.4.0: Mon Feb 24 22:04:39 PST 2020; root:xnu-6153.102.31/RELEASE_ARM64_T7000",1/RELEASE_ARM64_T7000\nKernelCache UUID: E05F1675091CCDA59FD8887480DEEAAF\nKernel UUID: 74E84AA2-2825-3C8E-AF5C-834522273ED3\niBoot version: iBoot-5540.102.4\nsecure boot?: NO\nPaniclog version: 13\nKernel slide: 0x0000000021000000\nKernel text base: 0xfffffff028004000\nmach_absolute_time: 0x1e5c280f3\nEpoch Time: sec usec\n Boot : 0x5ec8b275 0x0002d8b9\n Sleep : 0x5ec8b396 0x0000ae06\n Wake : 0x5ec8b3e0 0x000bc1d3\n Calendar: 0x5ec8b3e0 0x000c0f30\n\nPanicked task 0xfffffff0d4198800: 14440 pages, 206 threads: pid 0: kernel_task\nPanicked thread: 0xfffffff0d619ba18, backtrace: 0xfffffff01232b2c0, tid: 4901\n\t\t lr: 0xfffffff0280f8e74 fp: 0xfffffff01232b300\n\t\t lr: 0xfffffff0280f8cd0 fp: 0xfffffff01232b370\n\t\t lr: 0xfffffff0281f85b4 fp: 0xfffffff01232b410\n\t\t lr: 0xfffffff0280c15c4 fp: 0xfffffff01232b420\n\t\t lr: 0xfffffff0280f8638 fp: 0xfffffff01232b790\n\t\t lr: 0xfffffff0280f8990 fp: 0xfffffff01232b7e0\n\t\t lr: 0xfffffff0286a9ccc fp: 0xfffffff01232b800\n\t\t lr: 0xfffffff02755be70 fp: 0xfffffff01232b810\n\t\t lr: 0xfffffff027546c08 fp: 0xfffffff01232b840\n\t\t lr: 0xfffffff0275471cc fp: 0xfffffff01232b8e0\n\t\t lr: 0xfffffff02862e464 fp: 0xfffffff01232b950\n\t\t lr: 0xfffffff027546e58 fp: 0xfffffff01232b9f0\n\t\t lr: 0xfffffff02754ff20 fp: 0xfffffff01232ba60\n\t\t lr: 0xfffffff02862e464 fp: 0xfffffff01232bad0\n\t\t lr: 0xfffffff0275504e8 fp: 0xfffffff01232bb00\n\t\t lr: 0xfffffff028618a3c fp: 0xfffffff01232bba0\n\t\t lr: 0xfffffff0286188c0 fp: 0xfffffff01232bbd0\n\t\t lr: 0xfffffff0281317e4 fp: 0xfffffff01232bbf0\n\t\t lr: 0xfffffff0281313ec fp: 0xfffffff01232bc90\n\t\t lr: 0xfffffff0280c7474 fp: 0x0000000000000000\n\n",
"incident" : "723EDA2C-2655-40DC-A983-CFFD664140F1",
"crashReporterKey" : "2b3a3d7c24b1ef8e38687b116cbfea92087aa01a",
"date" : "2020-05-23 13:26:11.41 +0800",
"panicString" : "Attempting to forcibly halt cpu 0\ncpu 0 failed to halt with error -5: halt not supported for this configuration\nDebugger synchronization timed out; waited 10000000 nanoseconds\npanic(cpu 1 caller 0xfffffff02755be70): "SEP timebase message failed"@/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleSEPManager/AppleSEPManager-553.100.15/AppleSEPBooter.cpp:123\nDebugger message: panic\nDevice: J96\nHardware Model: iPad5,1\nECID: 001A04E83869EC26\nBoot args: -v\nMemory ID: 0x6\nOS version: 17E255\nKernel version: Darwin Kernel Version 19.4.0: Mon Feb 24 22:04:39 PST 2020; root:xnu-6153.102.3
"panicFlags" : "0x4",
"otherString" : "!! debugger synchronization failed, no stackshot !!\n",
"binaryImages" : [],
"notes" : ["Source: /dev/rdisk3"]
}
I tried to run eclipsa7000 in bin folder
and it returned three state
device reboot itself when i trying boot it into second os
i can't custom boot-args,so i don't know the error at the end of verboose output(how can i add serial=3 when dualbooting?)
When i try to run pyboot it keeps saying no keys found and to open an issue with what device im using/CPID(no idea)
was trying it on an ipad 2,1 and it errord, i couldn't even enter pwnDFU
Current version is: Beta 0.2
Make sure your device is connected in DFU mode
Traceback (most recent call last):
File "./pyboot.py", line 140, in
main()
File "./pyboot.py", line 120, in main
img4.img4stuff(argv[2], argv[3], useCustomLogo, logopath)
File "/Users/tannerjarrod24/Desktop/PyBoot-master/resources/img4.py", line 163, in img4stuff
'iPhone6,2': argv[3], # Since these have all keys up, we can just use whatever the downgraded version is =)
NameError: name 'argv' is not defined
iMac:PyBoot-master tannerjarrod24$ ./pyboot.py -p
Traceback (most recent call last):
File "./pyboot.py", line 140, in
main()
File "./pyboot.py", line 92, in main
pwn.pwndfumode()
File "/Users/tannerjarrod24/Desktop/PyBoot-master/resources/pwn.py", line 10, in pwndfumode
device = dfu.acquire_device()
File "/Users/tannerjarrod24/Desktop/PyBoot-master/resources/ipwndfu/dfu.py", line 23, in acquire_device
usb.util.claim_interface(device, 0)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usb/util.py", line 205, in claim_interface
device._ctx.managed_claim_interface(device, interface)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usb/core.py", line 102, in wrapper
return f(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usb/core.py", line 167, in managed_claim_interface
self.backend.claim_interface(self.handle, i)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usb/backend/libusb1.py", line 811, in claim_interface
_check(self.lib.libusb_claim_interface(dev_handle.handle, intf))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/usb/backend/libusb1.py", line 595, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno None] Other error
iMac:PyBoot-master tannerjarrod24$
As the title said, "Very high storage usage after downgrading." and "Jailbreak's don't work after downgrading." can be fixed. It's because of the old system snapshot is still in rootfs, and keeping take up space. You can use command "snappy -f / -l" to check that. For those people who never jailbreaded in the old system, the snapshot should named "com.apple.os.update-". And for those people who used checkra1n loader app or unc0ver, It should named "orig-fs". Checkra1n loader will check the snapshot whether it matches the current system version. So we just need to delete this snapshot to fix the unjailbreakable issue and release the space.
To delete the snapshot (whatever the name is), you should run command "snappy -f / -d $(snappy -f / -l | sed -n '2p')".
Error message as below. How can I fix?
brandonplank@Brandons-MacBook-Pro PyBoot % ./pyboot.py -i iPhone7,2 11.3
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.2
Make sure your device is connected in DFU mode
Checking theiphonewiki for 11.3 keys...
Found Keys!
Getting SHSH for signing images
Downloading and patching 11.3's iBSS/iBEC
Io Error: Could not read enough bytes
Io Error: Could not read enough bytes
libc++abi.dylib: terminating with uncaught exception of type tihmstar::OFexception: std::exception
libc++abi.dylib: terminating with uncaught exception of type tihmstar::OFexception: std::exception
Downloading 11.3's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.7_11.3_15E216_Restore.ipsw
Downloading 11.3's KernelCache
Extracting: kernelcache.release.iphone7, from iPhone_4.7_11.3_15E216_Restore.ipsw
Downloading 11.3's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.n61ap.im4p, from iPhone_4.7_11.3_15E216_Restore.ipsw
I want to downgrade my iphone6s from 13.3 to 11.3 with pyboot 0.3, I got problem:Couldn't find local trustcache.
$ ./pyboot.py -q iPhone_4.7_11.3_15E216_Restore.ipsw iPhone8,1
...
ttps://api.ipsw.me/v4/device/iPhone8,1?type=ipsw
Getting SHSH for signing images
Moving iBSS/iBEC...
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/mymac/PyBoot-master/./resources/bin/img4tool
Expected in: /usr/lib/libSystem.B.dylib
in /Users/mymac/PyBoot-master/./resources/bin/img4tool
Largest file is 058-97232-127.dmg, getting correct trustcache...
ERROR: Couldn't find local trustcache
iPhone 6s iOS 13.5
Second OS iOS 13.3
python3 pyboot.py -i iPhone8,1 13.3 -d disk0s1s6
Eclipsa doesn't allow me to see if the exploit worked or not =(
Just have to assume it did, if it didn't then reboot into DFU mode and re-run PyBoot
Sending boot files to the device and booting
ERROR: Unable to connect to device
No support for iPad7,1 for any iOS i think. Request you to add the keys.
12.4.4 to 12.0
Last login: Sat Mar 7 01:27:26 on ttys000
123deMacBook-Pro:~ a123$ cd /Users/a123/Desktop/PyBoot-master
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
Traceback (most recent call last):
File "./pyboot.py", line 202, in
main()
File "./pyboot.py", line 182, in main
img4.img4stuff(argv[2], argv[3], useCustomLogo, logopath)
File "/Users/a123/Desktop/PyBoot-master/resources/img4.py", line 184, in img4stuff
keys = wiki.getWikiKeys()
File "/Users/a123/Desktop/PyBoot-master/resources/iospythontools/iphonewiki.py", line 42, in getWikiKeys
buildid = oof.iOSToBuildid()
File "/Users/a123/Desktop/PyBoot-master/resources/iospythontools/ipswapi.py", line 32, in iOSToBuildid
self.linksForDevice('ipsw')
File "/Users/a123/Desktop/PyBoot-master/resources/iospythontools/ipswapi.py", line 29, in linksForDevice
return downloadJSONData(url, self.device)
File "/Users/a123/Desktop/PyBoot-master/resources/iospythontools/utils.py", line 37, in downloadJSONData
request = urlopen(url).read()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 525, in open
response = self._open(req, data)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 543, in _open
'_open', req)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1362, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1322, in do_open
r = h.getresponse()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 1344, in getresponse
response.begin()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/http/client.py", line 275, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
Found Keys!
Getting SHSH for signing images
ERROR: Failed to save shsh
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
^Z
[1]+ Stopped ./pyboot.py -i iPad4,4 12.0
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
^Z
[2]+ Stopped ./pyboot.py -i iPad4,4 12.0
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
^Z
[3]+ Stopped ./pyboot.py -i iPad4,4 12.0
123deMacBook-Pro:PyBoot-master a123$
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
^Z
[4]+ Stopped ./pyboot.py -i iPad4,4 12.0
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
^Z
[5]+ Stopped ./pyboot.py -i iPad4,4 12.0
123deMacBook-Pro:PyBoot-master a123$ ./pyboot.py -i iPad4,4 12.0
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 12.0 keys...
Found Keys!
Getting SHSH for signing images
ERROR: Failed to save shsh
123deMacBook-Pro:PyBoot-master a123$
I know that it says don’t ask for windows support in the readme and that it only supports macos, but is Linux support a possibility?
log.txt
Running on Mac OS Catalina, think its related to libusb, in VM (however, i use checkm8 on a rpi4) I don't know what else to say right now. Here is the full log:
i tried with my iphone and it worked but my ipad pro don't.
i think pyboot dont support ipad pro
please support ipad pro asap
I'm from Divise.
MacBook-Pro-Artem:PyBoot-master artemkaygorodtsev$ sudo ./pyboot.py -i iPhone8,2 13.5 -d disk0s1s7
Password:
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.9.1
User choose to boot 13.5 from /dev/disk0s1s7.
Make sure your device is connected in DFU mode
Checking theiphonewiki for 13.5 keys...
Found Keys!
Found a keys page with multiple models...
Which is your device?
1: N66AP
2: N66mAP
Enter 1 or 2: 2
User chose N66mAP, grabbing those keys...
Keys for the other device model are present but not for your model.
PyBoot will place your device into PWNDFU mode and retrieve the needed keys...
Please ensure your device is connected in DFU mode...
Traceback (most recent call last):
File "./pyboot.py", line 505, in <module>
main()
File "./pyboot.py", line 477, in main
img4.img4stuff(args.ios[0], args.ios[1], useCustomLogo, logopath, arewelocal, bootOtherOS, bootArgs, amfiPatches)
File "/Users/artemkaygorodtsev/Desktop/PyBoot-master/resources/img4.py", line 262, in img4stuff
pwndfumodeKeys()
File "/Users/artemkaygorodtsev/Desktop/PyBoot-master/resources/pwn.py", line 33, in pwndfumodeKeys
serial_number = device.serial_number
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/usb/core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/usb/util.py", line 314, in get_string
raise ValueError("The device has no langid")
ValueError: The device has no langid
MacBook-Pro-Artem:PyBoot-master artemkaygorodtsev$
I tried to boot iphone 7,2 over 40 times
it stops on Exploiting device with checkm8 stage
dangerouspixel@DangerousPixels-iMac PyBoot % /Users/dangerouspixel/Downloads/PyBoot/pyboot.py -i iPhone7,2 11.3.1
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.3
Make sure your device is connected in DFU mode
Checking theiphonewiki for 11.3.1 keys...
Found Keys!
Getting SHSH for signing images
Downloading and patching 11.3.1's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.n61.RELEASE.im4p, from iPhone_4.7_11.3.1_15E302_Restore.ipsw
Extracting: Firmware/dfu/iBSS.n61.RELEASE.im4p, from iPhone_4.7_11.3.1_15E302_Restore.ipsw
Downloading 11.3.1's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.7_11.3.1_15E302_Restore.ipsw
Downloading 11.3.1's KernelCache
Extracting: kernelcache.release.iphone7, from iPhone_4.7_11.3.1_15E302_Restore.ipsw
Downloading 11.3.1's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.n61ap.im4p, from iPhone_4.7_11.3.1_15E302_Restore.ipsw
iOS version is 11.x, not downloading trustcache
Patching Kernel's type from krnl to rkrn
iOS version is 11.x, skipping trustcache patching
Patching Devicetree's type from dtre to rdtr
Signing boot files
Signing boot files
Exploiting device with checkm8
I tired with another cables , and its working with checkra1n .
I installed ios 13.4.1 on my phone and it doesn't booting. How can I remove the patch?
Make sure your device is connected in DFU mode
Checking theiphonewiki for 13.3 keys...
Found Keys!
Downloading 13.3's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.0_64bit_13.3_17C54_Restore.ipsw
Getting SHSH for signing images
ERROR: Failed to save shsh
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.3
User chose to use a locally stored IPSW, running some checks...
/Users/erenkaplan/Downloads/iPhone_4.7_P3_13.3_17C54_Restore.ipsw is a zip archive!
Starting IPSW unzipping
IPSW found at given path...
Cleaning up old files...
Unzipping..
IPSW is for given device!
iOS version is: 13.3 and device model is: iPhone9,3
Checking theiphonewiki for 13.3 keys...
No Key, exiting.
I encountered such an error
Hi everyone.
I tested Pyboot in mojave and High Sierra. It will no work.
Only catalina.
I have worked through as many errors as I could using the previous submission information but I am at a standstill now.
Here is my log output after patching a few firmware file paths manually:
mercia@iMac PyBoot % ./pyboot.py -i iPhone9,3 10.0.2 -q ~/Downloads/iPhone9,3_10.0.2_14A456_Restore.ipsw iPhone9,3 --debug
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.8
User chose to use a locally stored IPSW, running some checks...
/Users/mercia/Downloads/iPhone9,3_10.0.2_14A456_Restore.ipsw is a zip archive!
Starting IPSW unzipping
IPSW found at given path...
Cleaning up old files...
Unzipping..
IPSW is for given device!
iOS version is: 10.0.2 and device model is: iPhone9,3
Checking theiphonewiki for 10.0.2 keys...
Found Keys!
Found multiple device models...
Which is your device?
1: d101ap
2: d10ap
Enter the number that corresponds with your device: 1
Device set to d101ap
Getting SHSH for signing images
Moving iBSS/iBEC...
Downloading 10.0.2's AOPFW
Downloading 10.0.2's ISP
Downloading 10.0.2's CallanFirmware
Extracting: Firmware/, from iPhone9,3_10.0.2_14A456_Restore.ipsw
ERROR: Failed to download CallanFirmware
Please re-run PyBoot again and it should work (might take a few tries)
For AOPFW and ISP I went and found the file it needed and copied it where the script is looking. I am not sure what file the CallanFirmware tag represents.
Any input is appreciated.
I don't even know how to describe it but can you please look at this log? I tried several times and none of those tries was successful.
My device is iPad4,4 (iPad mini2,wifi)
I always get these..
....
Downloading 11.3.1's KernelCache
Extracting: kernelcache.release.ipad4, from iPad_64bit_11.3.1_15E302_Restore.ipsw
Downloading 11.3.1's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.ipad4bap.im4p, from iPad_64bit_11.3.1_15E302_Restore.ipsw
ERROR: Failed to download DeviceTree
Please re-run PyBoot again and it should work (might take a few tries)
./pyboot.py -i iPhone6,2 12.1.2 -d disk0s1s6
How to fix "Still waiting for root device"
iPhone 8, 10,4, 13.3
< Make sure your device is connected in DFU mode
Sorry your device has no 12.x or lower keys meaning
tether booting isn't possible That or I forgot to add
your device to the list, please let me know if thats
the case! >
Can u add it or i can do this manually?
$ ./pyboot.py -i iPhone7,1 11.3 -b ~/PyBoot-master/a1.png
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.6
Make sure your device is connected in DFU mode
Checking theiphonewiki for 11.3 keys...
Found Keys!
Downloading 11.3's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_5.5_11.3_15E216_Restore.ipsw
Getting SHSH for signing images
Downloading and patching 11.3's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.n56.RELEASE.im4p, from iPhone_5.5_11.3_15E216_Restore.ipsw
Extracting: Firmware/dfu/iBSS.n56.RELEASE.im4p, from iPhone_5.5_11.3_15E216_Restore.ipsw
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib
Referenced from: /Users/yedong/PyBoot-master/./resources/bin/ibootim
Reason: image not found
Downloading 11.3's KernelCache
Extracting: kernelcache.release.iphone7, from iPhone_5.5_11.3_15E216_Restore.ipsw
Downloading 11.3's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.n56ap.im4p, from iPhone_5.5_11.3_15E216_Restore.ipsw
iOS version is 11.x, not downloading trustcache
Patching Kernel's type from krnl to rkrn
iOS version is 11.x, skipping trustcache patching
Patching Devicetree's type from dtre to rdtr
Signing boot files
Exploiting device with checkm8
Waiting for the USB device with VID: 0x5AC, PID: 0x1227, SRTG: iBoot-1992.0.0.1.19
Found the USB device.
Stage: RESET, ret: 0x0
Found the USB device.
transfer_ret: 0xE00002EB, transfer_sz: 0x0
Stage: SETUP, ret: 0x0
Found the USB device.
Stage: PATCH, ret: 0x0
Eclipsa doesn't allow me to see if the exploit worked or not =(
Just have to assume it did, if it didn't then reboot into DFU mode and re-run PyBoot
Sending boot files to the device and booting
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libirecovery.3.dylib
Referenced from: /Users/yedong/PyBoot-master/resources/bin/irecovery
Reason: image not found
Device should be booting!
I have tried to downgrade my iPad mini 4 to iOS 12.2 with "No key",and I got message "ERROR: Unable to receive message from FDR 0x7fc1d04089e0 (-2). 0/2 bytes"
Hi , I'm testing this project from first beta till now,and BIG THANKS to you for this great job ..
I just want now to test dualbooting in some devices that I have , but I don't know how to start .
So if you have some tips or tutorials that will be great 🙏🏻
Attemtping to dual boot. My command is ./pyboot.py -i iPhone8,2 13.5 -d disk0s1s6
The main issue I've been having is when it is attempting to run checkm8 for the first time. It times out due to not being able to find the DFU device. It seems that the device in DFU mode is disconnecting during that step and then failing to reconnect? I'm guessing that that's part of putting the device in PWNDFU mode or something. I've also had a popup saying that python has crashed during that step as well, but not every time.
I've only ever made it past that step twice. The first time I tried to run it and one other time.
I have an iPhone 6s+ with the N66mAP board running PyBoot Beta 0.6
First of all, thank you for developing these tools!
I have successfully downgraded to IOS 10.3.3 with your OTA tool, but many applications are not compatible. After that, I downgraded my iPad mini2 from 12.4.5 to 12.2-12.4.5 with your successiondown. I tried all the versions once. These versions can be booted directly with checkra1n 0.9.6, which is very convenient. But I really want to downgrade to 11.3(or 11.3.1~12.0) with your pyboot. After I successfully downgraded there with successiondown, I couldn't boot with pyboot, and checkra1n couldn't boot such a low version. I can't boot with pyboot. The error result is that I failed to download XXXX device tree. I want to ask if there is any way to provide that by myself?
I use automatic translation instead of manual translation. Maybe the meaning is a little bit inappropriate in some places, but probably it should not be too far away.🙏🙏
Hi Matthew
Thank you for your fantastic project.
Is there any chance you can add support to S8001 devices (iPad Pro (12.9-inch) 1st Gen)?
When I run the script I receive the following message:
"Please open an issue and let me know what device you are using/it's CPID and I will add support ASAP"
Do you need any extra information?
Can I do anything?
Many thanks
Hello,
I tried a lot to restore the version of my device, USB stick stops running and then returns to work, the device is in DFU mode.
MacOS : ver 10.15.7
iPhone 6
downgrade 12 to 11.0 xxx
--
`AbdulRahmans-MacBook-Pro:~ abdulrahman$ cd /Users/abdulrahman/Desktop/PyBoot-master
AbdulRahmans-MacBook-Pro:PyBoot-master abdulrahman$ ./pyboot.py -i iPhone7,2 11.2
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.9.1
Make sure your device is connected in DFU mode
Checking theiphonewiki for 11.2 keys...
Found Keys!
Downloading 11.2's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_4.7_11.2_15C114_Restore.ipsw
Found multiple device models...
Which is your device?
1: n71map
2: n71ap
3: n61ap
Enter the number that corresponds with your device: 3
Device set to n61ap
Getting SHSH for signing images
Downloading and patching 11.2's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.n61.RELEASE.im4p, from iPhone_4.7_11.2_15C114_Restore.ipsw
Extracting: Firmware/dfu/iBSS.n61.RELEASE.im4p, from iPhone_4.7_11.2_15C114_Restore.ipsw
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib
Referenced from: /Users/abdulrahman/Desktop/PyBoot-master/./resources/bin/ibootim
Reason: image not found
Downloading 11.2's KernelCache
Extracting: kernelcache.release.iphone7, from iPhone_4.7_11.2_15C114_Restore.ipsw
Downloading 11.2's DeviceTree
Extracting: Firmware/all_flash/DeviceTree.n61ap.im4p, from iPhone_4.7_11.2_15C114_Restore.ipsw
iOS version is 11.x, not downloading trustcache
Patching Kernel's type from krnl to rkrn
iOS version is 11.x, skipping trustcache patching
Patching Devicetree's type from dtre to rdtr
Signing boot files
Exploiting device with checkm8
Waiting for the USB device with VID: 0x5AC, PID: 0x1227, SRTG: iBoot-1992.0.0.1.19
Found the USB device.
Stage: RESET, ret: 0x0
Found the USB device.
transfer_ret: 0xE00002EB, transfer_sz: 0x0
Stage: SETUP, ret: 0x0
Found the USB device.
Stage: PATCH, ret: 0x0
Eclipsa doesn't allow me to see if the exploit worked or not =(
Just have to assume it did, if it didn't then reboot into DFU mode and re-run PyBoot
Sending boot files to the device and booting
[==================================================] 100.0%
[==================================================] 100.0%
[==================================================] 100.0%
[==================================================] 100.0%
[==================================================] 100.0%
Device should be booting!
`
Device stay on DFU mode, cause pyBoot can't normally sign boot files on High Sierra 10.13.6
Piece of log:
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /Users/lynxxen/Downloads/PyBoot-master/./resources/bin/img4tool (which was built for Mac OS X 10.15)
But the device didn’t respond,stay in dfu
person4268@mbp-i-guess ~/PyBoot (git)-[master] % python3 pyboot.py -i iPhone8,2 13.3 -d disk0s1s6
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.6
User choose to boot 13.3 from /dev/disk0s1s6.
Make sure your device is connected in DFU mode
Checking theiphonewiki for 13.3 keys...
Found Keys!
Found a keys page with multiple models...
Which is your device?
1: N66AP
2: N66mAP
Enter 1 or 2: 2
User chose N66mAP, grabbing those keys...
Keys for the other device model are present but not for your model.
PyBoot will place your device into PWNDFU mode and retrieve the needed keys...
Please ensure your device is connected in DFU mode...
Traceback (most recent call last):
File "./ipwndfu", line 75, in <module>
checkm8.exploit_a8_a9()
File "/Users/person4268/PyBoot/resources/ipwndfuKeys/checkm8.py", line 539, in exploit_a8_a9
device.serial_number
File "/Users/person4268/PyBoot/resources/ipwndfuKeys/usb/core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File "/Users/person4268/PyBoot/resources/ipwndfuKeys/usb/util.py", line 314, in get_string
raise ValueError("The device has no langid")
ValueError: The device has no langid
*** checkm8 exploit by axi0mX ***
Found: CPID:8003 CPRV:01 CPFM:03 SCEP:01 BDID:06 ECID:[redacted] IBFL:1C SRTG:[iBoot-2234.0.0.2.22]
Traceback (most recent call last):
File "pyboot.py", line 496, in <module>
main()
File "pyboot.py", line 475, in main
img4.img4stuff(args.ios[0], args.ios[1], useCustomLogo, logopath, arewelocal, bootOtherOS, bootArgs, amfiPatches)
File "/Users/person4268/PyBoot/resources/img4.py", line 214, in img4stuff
pwndfumodeKeys()
File "/Users/person4268/PyBoot/resources/pwn.py", line 121, in pwndfumodeKeys
serial_number = device.serial_number
File "/usr/local/lib/python3.7/site-packages/usb/core.py", line 830, in serial_number
self._serial_number = util.get_string(self, self.iSerialNumber)
File "/usr/local/lib/python3.7/site-packages/usb/util.py", line 314, in get_string
raise ValueError("The device has no langid")
ValueError: The device has no langid
python3 pyboot.py -i iPhone8,2 13.3 -d disk0s1s6 3.53s user 4.04s system 23% cpu 32.708 total
iPhone 6s+ n66map, dualbooting 13.3 with 13.3.
`./pyboot.py -i iPhone7,1 11.3 -d disk0s1s4
PyBoot - A tool for tether booting Checkm8 vulnerable iOS devices by Matty, @mosk_i
Current version is: Beta 0.6
User choose to boot 11.3 from /dev/disk0s1s4.
Make sure your device is connected in DFU mode
Checking theiphonewiki for 11.3 keys...
Found Keys!
Downloading 11.3's BuildManifest.plist
Extracting: BuildManifest.plist, from iPhone_5.5_11.3_15E216_Restore.ipsw
Getting SHSH for signing images
Downloading and patching 11.3's iBSS/iBEC
Extracting: Firmware/dfu/iBEC.n56.RELEASE.im4p, from iPhone_5.5_11.3_15E216_Restore.ipsw
Traceback (most recent call last):
File "./pyboot.py", line 496, in
main()
File "./pyboot.py", line 475, in main
img4.img4stuff(args.ios[0], args.ios[1], useCustomLogo, logopath, arewelocal, bootOtherOS, bootArgs, amfiPatches)
File "/Users/ekeoun/Desktop/Desktop/PyBoot-master/resources/img4.py", line 291, in img4stuff
api.downloadFileFromArchive(f"Firmware/dfu/{iBECName}", "resources/ibec.im4p")
File "/Users/ekeoun/Desktop/Desktop/PyBoot-master/resources/iospythontools/ipswapi.py", line 140, in downloadFileFromArchive
zip.extract(path)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/zipfile.py", line 1599, in extract
return self._extract_member(member, path, pwd)
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/zipfile.py", line 1670, in _extract_member
open(targetpath, "wb") as target:
PermissionError: [Errno 13] Permission denied: '/Users/ekeoun/Desktop/Desktop/PyBoot-master/Firmware/dfu/iBEC.n56.RELEASE.im4p'
Ekes-Mac:PyBoot-master ekeoun$ chmod -x /Users/ekeoun/Desktop/Desktop/PyBoot-master/Firmware/dfu
chmod: Unable to change file mode on /Users/ekeoun/Desktop/Desktop/PyBoot-master/Firmware/dfu: Operation not permitted
Ekes-Mac:PyBoot-master ekeoun$ chmod 775 /Users/ekeoun/Desktop/Desktop/PyBoot-master/Firmware/dfu
chmod: Unable to change file mode on /Users/ekeoun/Desktop/Desktop/PyBoot-master/Firmware/dfu: Operation not permitted`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.