Giter Site home page Giter Site logo

alwentiu / tsschecker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tihmstar/tsschecker

0.0 1.0 0.0 791 KB

a powerfull tool to check tss signing status of various devices and firmwares

License: GNU Lesser General Public License v3.0

C 96.57% Makefile 0.57% Shell 1.59% M4 1.28%

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

  • Bundled libs

Those don't need to be installed manually

Help

Usage: tsschecker [OPTIONS]

Example: tsschecker -d iPhone10,1 -B D20AP -e <ecid> -i 13.4.1 --generator 0x1111111111111111 -s

option (short) option (long) description
-h --help prints usage information
-d --device MODEL specify device by its model (eg. iPhone4,1)
-i --ios VERSION specify firmware version (eg. 6.1.3)
-Z --buildid BUILD specific buildid instead of firmware version (eg. 13C75)
-B --boardconfig BOARD specific boardconfig instead of device model (eg. n61ap)
-o --ota check OTA signing status, instead of normal restore
-b --no-baseband don't check baseband signing status. Request a ticket without baseband
-m --build-manifest manually specify buildmanifest (can be used with -d)
-s --save save fetched shsh blobs (mostly makes sense with -e)
-u --update-install request update ticket instead of erase
-l --latest use latest public firmware version instead of manually specifying one
especially useful with -s and -e for saving signing tickets
-e --ecid ECID manually specify an ECID to be used for fetching blobs, instead of using random ones.
ECID must be either DEC or HEX eg. 5482657301265 or ab46efcbf71
-g --generator GEN manually specify generator in format 0x%%16llx
--apnonce NONCE manually specify ApNonce instead of using random one (not required for saving signing tickets)
--sepnonce NONCE manually specify SepNonce instead of using random one (not required for saving signing tickets)
--bbsnum SNUM manually specify BbSNUM in HEX for saving valid BBTicket (not required for saving blobs)
--save-path PATH specify path for saving blobs
--beta request ticket for beta instead of normal release (use with -o)
--list-devices list all known devices
--list-ios list all known firmware versions
--nocache ignore caches and re-download required files
--print-tss-request prints TSS request that will be sent to Apple
--print-tss-response prints TSS response that come from Apple
--raw send raw file to Apple's TSS server (useful for debugging)

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.