Giter Site home page Giter Site logo

tsschecker's Introduction

tsschecker

tsschecker is a powerful tool to check TSS signing status of various devices and iOS/iPadOS/tvOS/watchOS versions.

Features

  • Allows you to get lists of all devices as well as all Firmwares and OTA versions for a specific device.
  • Can check signing status for any firmware version (by specifying a BuildManifest.plist).
  • Works without specifying any device relevant values to check signing status, but can be used to save blobs when given an ECID and the option --print-tss-response (although there are better tools to do this).

tsschecker is not only meant to be used to check firmware signing status, but also to explore Apple's TSS servers. By using all of its customization possibilities, you might discover a combination of devices and iOS versions that is now getting signed but wasn't getting signed before.

About nonces:

recommended generators for saving tickets:

  • 0xbd34a880be0b53f3 // used on Electra & Chimera jailbreaks
  • 0x1111111111111111 // used on unc0ver jailbreak

Nonce Entangling (Apple A12 and newer)

Newer devices, like the iPhone XR or the Apple Watch Series 4 have nonce-entangling enabled.

this means the nonces generated by your device is now also UID derived, and consequently device-specific.
to save usable tickets for a newer device, you need to get the nonce that your device actually generates from your generator.

for information on how to get your actual boot nonce, see this post on r/jailbreak.

Nonce Collisions:

the Nonce Collision method only works on a few firmwares and devices, and isn't reliable.
it's better to save a ticket with a generator and use the checkm8 bootrom exploit.

Recovery Nonce Collisions only occur on a few iOS versions, like iOS 9.3.3 and iOS 10.1-10.2 on the iPhone 5s
and is not reliable as once you update, nonces will either generate differently or not collide anymore.

DFU Nonce Collisions commonly occur on any device using A7 and A8 chipsets, regardless of iOS version.
and is much more reliable than using recovery collisions.

Dependencies

tsschecker's People

Contributors

0x15f avatar 0x9fff00 avatar 1conan avatar alvarofe avatar arx8x avatar bryansuero avatar danthemann15 avatar doggy avatar encounter avatar esresearchdepartment avatar kasiimh1 avatar malt3 avatar matteyeux avatar nikias avatar oothecapickle avatar pythech avatar reloxx13 avatar s0uthwest avatar siguza avatar tihmstar avatar urherenow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tsschecker's Issues

Latest build downloading executables containing html

Recently downloaded the files from the link to latest build, noticing the windows and linux options weren't working i opened the linux executable up in a text editor and the contents is just some html

HTTP ERROR 404

Problem accessing /job/tsschecker/target=idevice-linux/lastSuccessfulBuild/artifact/tsschecker_tool. Reason:

    Not Found


Powered by Jetty://

Is this error expected for iPhone 7?(bbgcid)

[Error] [TSSC] ERROR: device "iPhone9,1" is not in bbgcid.json, which means it's BasebandGoldCertID isn't documented yet.
[WARNING] [TSSR] WARNING: there was an error getting BasebandGoldCertID, continuing without requesting Baseband ticket

[Error] [TSSC] please specify an iOS version or buildID for this option..??

I have an iPhone 6S running iOS 10.0, and I run this command from my Mac (El Capitan):

sudo ./tsschecker_macos -d iPhone_4.7 -e myECIDxxx -s --save-path /path

but I'm getting this error :

[TSSC] manually specified ecid to use, parsed "myECIDxxx" to dec:myECIDxxx [TSSC] opening firmware.json [JSON] counting elements [JSON] parsing elements [Error] [TSSC] please specify an iOS version or buildID for this option use -h for more help

The fact is that I can't find my iPhone model on https://www.theiphonewiki.com/wiki/Models . Can someone help me with that?

"-list--devices" error code

i get this error in Terminal while trying to get the list of devices or iOS..

Version: 1f0dcf7 - 209
Segmentation fault: 11

any hint on that?
am i missing something?

thanks

ERROR: device "iPhone9,2" is not in bbgcid.json

[Error] [TSSC] ERROR: device "iPhone9,2" is not in bbgcid.json, which means it's BasebandGoldCertID isn't documented yet.
If you own such a device please consider contacting @tihmstar to get instructions how to contribute to this project.

Request SHSH for RestoreBehavior 'Update' in addition to 'Erase'

futurerestore supports the parameter -u / --update to switch to RestoreBehavior "Update" (Variant: Customer Upgrade Install (IPSW)). Unfortunately SHSHs saved with tsschecker cannot be used in this configuration, being reported to be created for RestoreBehavior "Erase" (Variant: Customer Erase Install (IPSW)) only.

If there are two kinds of APtickets, it would be great if tsschecker could generate both (by option or automatically).

Also I suggest different options to always result in different filenames, so not to accidentally overwrite a non-equivalent Ticket. Currently e.g. the in- or exclusion of baseband (by option or for other reasons) has no effect on naming.

Cant download shsh for iPad2,2 and iOS 9.3.5

./tsschecker_macos -s -e XXXXXXXXX -d iPad2,2 -l --nocache
[TSSC] manually specified ecid to use, parsed "XXXXXXXX" to dec:XXXXXXXX hex:XXXXXXXX
[TSSC] opening firmware.json
[DOWN] downloading file https://api.ipsw.me/v2.1/firmwares.json/condensed
[JSON] counting elements
[JSON] parsing elements
[TSSC] selecting latest iOS: 9.3.5
[TSSC] got firmwareurl for iOS 9.3.5 build 13G36
[TSSC] opening Buildmanifest for iPad2,2_9.3.5
[LFZP] downloading BuildManifest.plist from http://appldnld.apple.com/iOS9.3.5/031-74153-20160825-1250B23E-6717-11E6-AB83-973F34D2D062/iPad2,2_9.3.5_13G36_Restore.ipsw
100 [===================================================================================================>]
[TSSC] opening bbgcid.json
[DOWN] downloading file http://api.tihmstar.net/bbgcid?condensed=1
[JSON] counting elements
[JSON] parsing elements
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure

iOS 9.3.5 for device iPad2,2 IS NOT being signed!

Possibly related to #17

Let me know if any other info is needed.

UPDATE: I was able to successfully download it using the compiled v1.0 version for OSX from here:

https://github.com/tihmstar/tsschecker/releases/tag/v1.0

Error about bbgbid.json and BasebaseGoldCertID, Please HELP!

I am trying to use TssChecker on Windows 7 with my iPhone 7 - 256GB on iOS 10.0.2, I want to save my SHSH2 blobs in case I may need them for whatever reason in the future. I keep getting an error every time I try though and I tried several different times but I continue to get the same error.

I've tried the online TssSaver website at https://tsssaver.1conan.com but it messes up also and tries to save SHSH2 blobs for 10.2 and I don't even have iOS 10.2 installed.

It doesn't even save the blobs either, here is the link to my attempt to save my blobs using TssSaver at:
https://tsssaver.1conan.com/shsh/8503425771277606/

This is the beginning of the error message:

[Error] [TSSC] ERROR: device "iPhone9,3" is not in bbgbid.json, which means its BasebaseGoldCertID isn't documented yet. If you own such a device please consider contacting @tihmstar [email protected] to get instructions how to contribute to this project.

[WARNING] [TSSR] WARNING: there was an error getting BasebandGoldCertID, continuing without requesting Baseband ticket

[TSSR] Request URL set to https://gs.appl.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure

iOS 10.0.2 for device iPhone9,3 IS NOT being signed!


Here is a screen shot of the cmd window and error message when it happens.. Please any help would be very much appreciated. I don't know what I am doing wrong

tsscheckererror

undefined reference to `plist_dict_merge'

Helllo tihmstar. In-attempt to reinstall tsschecker on a fresh WSL build, I've encountered this problem after running the make command. I'm not certain if you're aware of this issue already. Below is the make log before it fails (it's not the whole thing. If you want the whole thing, let me know. I can also send the stdout of autogen.sh)

Thanks.

tsschecker.h:63:19: warning: inline function ‘bbdevices_get_all’ declared but never defined [enabled by default]
mv -f .deps/tsschecker-main.Tpo .deps/tsschecker-main.Po
/bin/bash ../libtool --tag=CC --mode=link gcc -I/usr/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/include/libusb-1.0 -g -O2 -std=c11 -L/usr//usr/lib/x86_64-linux-gnu -lplist -L/usr/local/lib -lfragmentzip -lz -lcurl -lcurl -lcrypto -L/usr/local/lib -lirecovery -lm -o tsschecker tsschecker-tsschecker.o tsschecker-tss.o tsschecker-jsmn.o tsschecker-download.o tsschecker-main.o -L/usr//usr/lib/x86_64-linux-gnu -lplist -L/usr/local/lib -lfragmentzip -lz -lcurl -lcurl -lcrypto -L/usr/local/lib -lirecovery -lm
libtool: link: gcc -I/usr/include/libxml2 -I/usr/local/include -I/usr/local/include -I/usr/include/libusb-1.0 -g -O2 -std=c11 -o tsschecker tsschecker-tsschecker.o tsschecker-tss.o tsschecker-jsmn.o tsschecker-download.o tsschecker-main.o -L/usr//usr/lib/x86_64-linux-gnu -L/usr/local/lib -lplist /usr/local/lib/libfragmentzip.so -lz /usr/lib/x86_64-linux-gnu/libcurl.so -lcrypto /usr/local/lib/libirecovery.so -lm -pthread
tsschecker-tss.o: In function tss_request_new': /home/vec1phyr/tsschecker/tsschecker/tss.c:131: undefined reference to plist_dict_merge'
tsschecker-tss.o: In function tss_request_add_common_tags': /home/vec1phyr/tsschecker/tsschecker/tss.c:429: undefined reference to plist_dict_merge'
tsschecker-tss.o: In function tss_request_add_ap_tags': /home/vec1phyr/tsschecker/tsschecker/tss.c:579: undefined reference to plist_dict_merge'
tsschecker-tss.o: In function tss_request_add_baseband_tags': /home/vec1phyr/tsschecker/tsschecker/tss.c:683: undefined reference to plist_dict_merge'
collect2: error: ld returned 1 exit status
make[2]: *** [tsschecker] Error 1
make[2]: Leaving directory /home/vec1phyr/tsschecker/tsschecker' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /home/vec1phyr/tsschecker'
make: *** [all] Error 2

Can't save iPhone 7 blobs, even with latest version.

MBP-di-Andrea:Debug benti$ tsschecker -d iPhone9,4 -i 10.2 --buildid 14C92 --boardconfig bdid -s --apnonce 603be133ff0bdfa0f83f21e74191cf6770ea43bb --sepnonce 603be133ff0bdfa0f83f21e74191cf6770ea43bb --save-path /Users/benti/bigumbrella/shsh2 -e MY_ECID --nocache
Version: af9b9f2 - 170
[TSSC] manually specified ecid to use, parsed "MY_ECID" to dec: MY_ECID hex: MY_ECID
[TSSC] manually specified apnonce to use, parsed "603be133ff0bdfa0f83f21e74191cf6770ea43bb" to hex:603be133ff0bdfa0f83f21e74191cf6770ea43bb
[TSSC] manually specified sepnonce to use, parsed "603be133ff0bdfa0f83f21e74191cf6770ea43bb" to hex:603be133ff0bdfa0f83f21e74191cf6770ea43bb
[TSSC] opening firmware.json
[DOWN] downloading file https://api.ipsw.me/v2.1/firmwares.json/condensed
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 10.2 build 14C92
[TSSC] opening Buildmanifest for iPhone9,4_14C92
[LFZP] downloading BuildManifest.plist from http://appldnld.apple.com/ios10.2seed/031-93593-20161207-616AF724-BBD8-11E6-B29E-8D7FE47229E1/iPhone_7Plus_10.2_14C92_Restore.ipsw
100 [===================================================================================================>]
[Error] [TSSR] Error: could not get id0
[Error] [TSSR] faild to build tssrequest

Build 14C92 for device iPhone9,4 IS NOT being signed!

I get this error while trying to save shsh2 for my iPhone 7 Plus.

Permission denied with latest tsschecker

Hi, I feel like the answer is right in may face but I can't seem to find it !

Lates version of compiled tsschecker gives me a 'permission denied' error.
If I tried an older version that I downloaded previously it works just fine.
What I' mI dong wont this time ?? !!

EDIT: latest version that would work form here : https://github.com/tihmstar/tsschecker/releases is version 1.0.6
Thank y'all ;)

2017-01-05_10 50 03

[Feature] Save all shsh blobs that are currently being signed.

tsschecker_windows.exe -d AppleTV5,3 -s -e FFFFFFFFFFFFFF -i 10.0.1

Also, of course "FFFFFFFFFFFFFF" is not my ECID :)

Version: af9b9f2998bdeca7ece0829c2e718ae747745750 - 170
[TSSC] manually specified ecid to use, parsed "nothing to see here"
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] using cached Buildmanifest for AppleTV5,3_10.0.1
[TSSC] opening bbgcid.json
[JSON] counting elements
[JSON] parsing elements
[Error] [TSSC] parsing bbgcid.json failed!
[WARNING] [TSSR] WARNING: there was an error getting BasebandGoldCertID, continuing without requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure

iOS 10.0.1 for device AppleTV5,3 IS NOT being signed!

As you can see, tsschecker is complaining that tvOS 10.0.1 is not being signed even though it is (https://ipsw.me/)

Not really sure why this is giving me an error :S

[Error] [TSSC] parsing ota.json failed

When I try to download the IOS 10.3 beta shsh they give me this error [Error] [TSSC] parsing ota.json failed

I use this command (-d iphone6,1 -i 10.3 --beta -o -e 526CB5878A2 -s)

Found an issue with getBuildidentityWithBoardconfig in tsschecker.c

Issue is when RestoreBehavior is Update but there is only one buildidentities dictionary. rt was being set to NULL, which then the function would return NULL. Fixed code:

if ((strncmp(string, "Erase", strlen(string)) != 0) == !isUpdateInstall){
//continue when Erase found but isUpdateInstall is true
//or Update found and isUpdateInstall is false

        //@fix
        //dont set rt to NULL because if there is only one build entity
        //null will be returned from the function
        //rt = NULL;
        continue;
    }

hope it helps, great tool!

10.2 Not Signed?

`C:\Users\Jake\Desktop\blobs>tsschecker.exe -d iPhone9,4 -e 11684A08884D26 -i 10.2 --buildid 14C92 -s --nocache
[TSSC] manually specified ecid to use, parsed "11684A08884D26" to dec:4899741784100134 hex:11684a08884d26
[TSSC] opening firmware.json
[DOWN] downloading file https://api.ipsw.me/v2.1/firmwares.json/condensed
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 10.2 build 14C92
[TSSC] opening Buildmanifest for iPhone9,4_14C92
[LFZP] downloading BuildManifest.plist from http://appldnld.apple.com/ios10.2seed/031-93593-20161207-616AF724-BBD8-11E6-B29E-8D7FE47229E1/iPhone_7Plus_10.2_14C92_Restore.ipsw

�[A�[J100 [===================================================================================================>]
�[A�[J008 [=======> ]
�[A�[J089 [========================================================================================> ]
�[A�[J098 [=================================================================================================> ]
�[A�[J100 [===================================================================================================>]
[Error] iPhone7 device detected! Automatic generator->nonce calculation failed. Please manually specify an apnonce with len=32
[Error] [TSSR] failed to populate tss request
[Error] [TSSR] faild to build tssrequest

Build 14C92 for device iPhone9,4 IS NOT being signed!`

iPhone 6s Plus not recognized?

I'm following this tutorial but getting this error:

[Error] [TSSC] ERROR: device "iPhone8,2" is not in bbgcid.json, which means it's BasebandGoldCertID isn't documented yet.
If you own such a device please consider contacting @tihmstar ([email protected]) to get instructions how to contribute to this project.
[TSSR] WARNING: there was an error getting BasebandGoldCertID, continuing without requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... success
Saved shsh blobs!
iOS 10.1 for device iPhone8,2 IS being signed!

v212 has failed to save shsh for iPad2,2 (iOS 9.3.5)

Moving to #29

Looks like the issue is caused by a wrong BasebandGoldCertID.

Hi,

Finally I've checked v212 on my mac (10.11.6) - has worked well for iPhone 5,1 (iOS 10.2.1&10.3), but has failed for iPad 2,2 (iOS 9.3.5).
Log:
./tsschecker_macos -d iPad2,2 --boardconfig k94ap -e xxxxxxxxxx -i 9.3.5 -s --apnonce 603be133ff0bdfa0f83f21e74191cf6770ea43bb
Version: 7d26769 - 212
[TSSC] manually specified ecid to use, parsed “xxxxxxxxxx” to dec:xxxxxxxxxx hex:xxxxxxxxxx
[TSSC] manually specified apnonce to use, parsed "603be133ff0bdfa0f83f21e74191cf6770ea43bb" to hex:603be133ff0bdfa0f83f21e74191cf6770ea43bb
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 9.3.5 build 13G36
[TSSC] opening Buildmanifest for iPad2,2_9.3.5_13G36
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure
iOS 9.3.5 13G36 IS NOT signed!

v170 saves shsh for the device, but fails to save for baseband...

crashes

Every time I open tsschecker it crashes.

Apnoncelength fail

[Error] [TSSR] parsed APNoncelen != requiredAPNoncelen (20 != 32)
[Error] [TSSR] failed to populate tss request
[Error] [TSSR] faild to build tssrequest

This is the latest TSSchecker build on Windows 10 using an iPhone 7 (GSM/iPhone9,3)

Error saving iPhone 8,4 8,1 blobs

Im having issues saving blobs for my iPhone8,4 SE and iPhone8,1 6S, below is the example of my issue. I tried specifying "--boardconfig BOARD n69ap" when I received the "[WARNING] can't unambiguously map model to boardconfig for device iPhone8,4" error but then I get "[Error] [TSSR] Error: could not get id0"
Same results for my iPhone8,1 but my iPhone 9,4 - 7,1 - 6,1 - 5,1 all save just fine. Verified with img4tool.
Thanks for everything tihmstar!

Lisa:TSS 1111$ ./tsschecker -d iPhone8,4 -i 10.2 -s -e ECID -m BuildManifest.plist
Version: af9b9f2998bdeca7ece0829c2e718ae747745750 - 170
[TSSC] manually specified ecid to use, parsed "" to dec: hex:
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] opening BuildManifest.plist
[WARNING] can't unambiguously map model to boardconfig for device iPhone8,4
[Error] [TSSR] cant find boardconfig for device=iPhone8,4 please manuall use --boardconfig
[Error] [TSSR] Error: could not get id0
[Error] [TSSR] faild to build tssrequest

iOS 10.2 for device iPhone8,4 IS NOT being signed!
Lisa:TSS 1111$ ./tsschecker -d iPhone8,4 --boardconfig BOARD n69ap -i 10.2 -s -e ECID -m BuildManifest.plist
Version: af9b9f2998bdeca7ece0829c2e718ae747745750 - 170
[TSSC] manually specified ecid to use, parsed "" to dec:hex:
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] opening BuildManifest.plist
[Error] [TSSR] Error: could not get id0
[Error] [TSSR] faild to build tssrequest

iOS 10.2 for device iPhone8,4 IS NOT being signed!
Lisa:TSS 1111$ 

Could not get id0

C:\Users###\Desktop>C:\Users###\Desktop\TSS\tsschecker_windo
ws.exe -d iPhone8,1 --boardconfig n66ap -e ABCDRTFD19 -i 10.2 -s
Version: af9b9f2998cxzcdeca7ece0829c2ecvcx18ae747745750 - 170
[TSSC] manually specified ecid to use, parsed "ABCDRTFD19" to dec:ABDCD741592
hex:40DCDVDFd18
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] using cached Buildmanifest for iPhone8,1_10.2
[Error] [TSSR] Error: could not get id0
[Error] [TSSR] faild to build tssrequest

iOS 10.2 for device iPhone8,1 IS NOT being signed!

.json was added in Local/Temp, wrote --boardconfig, but ID0 is there. whats wrong??

Hex ECID from iTunes without A-F inside will be converted to hex again

Hi, just discovered this night one of my iPad have an hex ECID from iTunes without any A-F characters inside, so if you put this value into tsschecker it think it's a DEC value and it will be converted again to an other wrong HEX value.

No problem if you use the DEC value converted from this rare HEX ECID, it will be converted in tsschecker to the good HEX ECID.

Also I don't know if it's important but my hex ECID without A-F inside have 13 digits in hex and 15 in dec while my hex ECID from my other iPad with A-F inside have 14 digits in hex and 16 in dec.

;)

*some* iPhone 5s nonce possible combinations seem to be <1000 and some are 16^40 combinations

Does anyone know what makes some 5s nonce generations have lower possibilities like a 1 out of 1000 chance vs some 5s devices that have almost infinite possibilities? Is this the only device that has this type of potential and is it a chipset thing? (doesnt seem to be firmware related)

Just wondering if anyone had any idea what the differences are to why the nonce collision method would even work for certain devices... Thanks for any help!

iPhone 7 ApNonce without Jailbreak

While saving shsh2 for iPhone 7, iOS 10.2, it told me to manually specify an apnonce with len=32, the problem is how can I get an apnonce on unjailbroken device?

tsschecker crashes on launch

When I try to open tsschecker on my Windows pc it immediately crashes even though all my firewall anti-virus and these kind of things are disabled what do I have to do?

iPhone 4 (model iPhone3,2) with iOS 7.1.2 check fails

Hello, I found that the following command fails, although iOS 7.1.2 is being signed and is the latest supported firmware for the iPhone 4.

$ tsschecker -i 7.1.2 -d iPhone3,1 -s -e <snip> --save-path .
[TSSC] manually specified ecid to use, parsed "<snip>" to dec:<snip> hex:<snip>
[TSSC] opening firmware.json
[DOWN] downloading file https://api.ipsw.me/v2.1/firmwares.json/condensed
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 7.1.2 build 11D257
[TSSC] opening Buildmanifest for iPhone3,1_7.1.2
[LPZP] downloading BuildManifest.plist from http://appldnld.apple.com/iOS7.1/031-4812.20140627.cq6y8/iPhone3,1_7.1.2_11D257_Restore.ipsw
100 [===================================================================================================>]
[TSSC] opening bbgcid.json
[DOWN] downloading file http://api.tihmstar.net/bbgcid?condensed=1
[JSON] counting elements
[JSON] parsing elements
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure

iOS 7.1.2 for device iPhone3,1 IS NOT being signed!

Error getting BasebandGoldCertID for iPhone5,1 and iPad2,2

Hello,

I'm not able to save blobs for baseband for iPhone5,1 and iPad2,2 - having this issue: error getting BasebandGoldCertID.

iPhone 5,1 log:
Version: af9b9f2 - 170
[TSSC] manually specified ecid to use, parsed "00000xxxxxxxxxxx" to dec:xxxxxxxxxxx hex:xxxxxxxxxxx
[TSSC] manually specified apnonce to use, parsed "9f4aeec726e7c682339ddb3c6c2dec
52662dc517" to hex:9f4aeec726e7c682339ddb3c6c2dec52662dc517
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] using cached Buildmanifest for iPhone5,1_10.2.1
[TSSC] opening bbgcid.json
[JSON] counting elements
[JSON] parsing elements
[Error] [TSSC] parsing bbgcid.json failed!
[WARNING] [TSSR] WARNING: there was an error getting BasebandGoldCertID, continu
ing without requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... success
Saved shsh blobs!

iOS 10.2.1 for device iPhone5,1 IS being signed!`

iPad 2,2 log:
`Version: af9b9f2 - 170
[TSSC] manually specified ecid to use, parsed "00000xxxxxxxxxxx" to dec:xxxxxxxxxxx hex:xxxxxxxxxxx
[TSSC] manually specified apnonce to use, parsed "9f4aeec726e7c682339ddb3c6c2dec
52662dc517" to hex:9f4aeec726e7c682339ddb3c6c2dec52662dc517
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] using cached Buildmanifest for iPad2,2_13G36
[TSSC] opening bbgcid.json
[JSON] counting elements
[JSON] parsing elements
[Error] [TSSC] parsing bbgcid.json failed!
[WARNING] [TSSR] WARNING: there was an error getting BasebandGoldCertID, continu
ing without requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... success
Saved shsh blobs!

Build 13G36 for device iPad2,2 IS being signed!`

Both BasebandGoldCertID are in the tsschecker.c

Thanks!

ERROR

[Error] [TSSC] ERROR: device "iPhone8,2" is not in bbgcid.json, which means it's BasebandGoldCertID isn't documented yet.
If you own such a device please consider contacting @tihmstar ([email protected]) to get instructions how to contribute to this project.
[TSSR] WARNING: there was an error getting BasebandGoldCertID, continuing without requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... success
Saved shsh blobs!

iOS 10.2 for device iPhone8,2 IS being signed!

Is this "Error" normal?

Automatic device targetting

It may be beneficial to get the device model and ECID from a connected device, at least on Apple computers, instead of using iTunes to get them. This uses the private framework MobileDevice but I tried looking up how to do it with libimobiledevice without success.

//Unless otherwise noted, code is from https://www.theiphonewiki.com/wiki/ECID#Developer_Instructions

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <CoreFoundation/CoreFoundation.h>

// Cheap aliases to make things compile without headers
typedef void am_device;
typedef void am_device_notification;
typedef void* am_device_notification_callback_info;
extern void AMDeviceNotificationSubscribe(void(*callback)(am_device_notification_callback_info *info, void *arg), int unused1, int unused2, void *unknown, am_device_notification** notification);
extern void AMDeviceConnect(am_device *device);
extern void AMDeviceStartSession(am_device *device);
extern void* AMDeviceCopyValue(am_device *device, int unknown, CFStringRef value);

// From http://stackoverflow.com/a/9166500/1429562
// >>>
char * MYCFStringCopyUTF8String(CFStringRef aString) {
	if (aString == NULL) {
		return NULL;
	}
	
	CFIndex length = CFStringGetLength(aString);
	CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8) + 1;
	char * buffer = (char *)malloc(maxSize);
	if (CFStringGetCString(aString, buffer, maxSize, kCFStringEncodingUTF8)) {
		return buffer;
	}
	return NULL;
}
// <<<

void cb(am_device_notification_callback_info *info, void *arg) {
	am_device *dev = *info; /* info->dev */
	CFRetain(dev);
	AMDeviceConnect(dev);
	AMDeviceStartSession(dev);
	
	CFTypeRef valueRef = NULL;
	valueRef = AMDeviceCopyValue(dev, 0, CFSTR("ProductType")); // correct key found iterating list https://github.com/imkira/mobiledevice/blob/master/mobiledevice.h#L278
	if (valueRef) {
		char * buffer = MYCFStringCopyUTF8String(valueRef);
		printf("Device Model: %s\n", buffer);
		free(buffer);
		CFRelease(valueRef);
	}
	valueRef = AMDeviceCopyValue(dev, 0, CFSTR("UniqueChipID"));
	if (valueRef) {
		uint64_t number;
		CFNumberGetValue(valueRef, kCFNumberSInt64Type, &number);
		printf("ECID: %llX\n", number);
		CFRelease(valueRef);
	}
	
	CFRelease(dev);
	exit(0);
}

int main() {
	uint32_t buf[5];
	am_device_notification *notification = (am_device_notification*)buf;
	AMDeviceNotificationSubscribe(&cb, 0, 0, NULL, &notification);
	CFRunLoopRun();
	return 0;
}

Windows version not work

Hi, tsschecker for windows don't work, the terminal send me a error : "[TSSC] parsing firmware.json failed"
Tested on Windows 7 on Cmder and cmd.exe

When saving iOS 10.2.1 with iPhone8,2 N66mAP an issue occurs.

When saving iOS 10.2.1 with iPhone8,2 N66mAP an issue occurs.

The issue is that when you 'check' the blob via https://tsssaver.1conan.com/ it says the file is valid, BUT, instead of listing N66mAP as the build it lists n56ap, which obviously is the build for the iPhone 6+, not the 6s+.

Is this an issue or just a typo or something? Is it currently possible to save the 10.2.1 blobs for an iPhone 6s+?

Thanks for taking the time to read this and hopefully I'm not wasting your time.

iPhone 6s - Build 14D27 (iOS 10.2.1) and 14E277 (iOS 10.3) - IS NOT being signed problem [SOLVED]

Hi, why do I get this error?

For version 10.2.1
tsschecker_macos -d iPhone8,1 -e 376f451512c -i 10.2.1 --buildid 14D27 -s

Version: 7d26769 - 212
[TSSC] manually specified ecid to use, parsed "376f451512c" to dec:3809439994156 hex:376f451512c
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 10.2.1 build 14D27
[TSSC] opening Buildmanifest for iPhone8,1_10.2.1_14D27
[WARNING] can't unambiguously map model to boardconfig for device iPhone8,1
[Error] [TSSR] cant find boardconfig for device=iPhone8,1 please manuall use --boardconfig
[WARNING] [TSSC] could not get id0 for installType=Erase. Using fallback installType=Update since user did not specify installType manually
[WARNING] can't unambiguously map model to boardconfig for device iPhone8,1
[Error] [TSSR] cant find boardconfig for device=iPhone8,1 please manuall use --boardconfig
[Error] [TSSR] Error: could not get id0 for installType=Update
[Error] [TSSR] faild to build tssrequest
iOS 10.2.1 14D27 IS NOT signed!

Build 14D27 for device iPhone8,1 IS NOT being signed!

For version 10.3
tsschecker_macos -d iPhone8,1 -e 376f451512c -i 10.3 --buildid 14E277 -s

Version: 7d26769 - 212
[TSSC] manually specified ecid to use, parsed "376f451512c" to dec:3809439994156 hex:376f451512c
[TSSC] opening firmware.json
[JSON] counting elements
[JSON] parsing elements
[TSSC] got firmwareurl for iOS 10.3 build 14E277
[TSSC] opening Buildmanifest for iPhone8,1_10.3_14E277
[LFZP] downloading BuildManifest.plist from http://appldnld.apple.com/ios10.3/091-02962-20170327-7584E8B4-0D86-11E7-B580-8CCE122AC769/iPhone_4.7_10.3_14E277_Restore.ipsw

[Error] [LFZP] failed to open url
[Error] [TSSC] ERROR: could not get BuildManifest for firmwareurl http://appldnld.apple.com/ios10.3/091-02962-20170327-7584E8B4-0D86-11E7-B580-8CCE122AC769/iPhone_4.7_10.3_14E277_Restore.ipsw

Build 14E277 for device iPhone8,1 IS NOT being signed!

Am I missing something? Thank you in advance!

P.S.
I'm not finding a boardconfig parameter for my iPhone, where can I find it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.