We hebben onlangs gemeld dat sommige van de .shsh2-blobs die zijn opgeslagen met eerdere versies van TSSChecker van tihmstar defect waren. Eén probleem trof alle blobs van de iPhone 7 en iPhone 7 Plus, waardoor ze onbruikbaar werden. Dit probleem is nu opgelost in de toekomst, hoewel blobs uit het verleden ongeldig zijn.
Het andere probleem was complexer en had alleen betrekking op bepaalde modellen van bepaalde apparaten. Het is ook opgelost voor blobs die vanaf nu zijn opgeslagen, maar gezien deze gebeurtenissen is het belangrijk om te kunnen controleren of de blobs die je in het verleden hebt opgeslagen, daadwerkelijk geldig zijn en geschikt zijn voor gebruik met Prometheus.
In dit artikel zullen we doornemen hoe een ander hulpmiddel uit de Prometheus-suite van tihmstar te gebruiken, img4tool, om te controleren of uw .shsh2-bestanden goed zijn. Deze methode zal duidelijk maken of u last hebt van het tweede probleem dat hierboven wordt genoemd, maar zal ook in het algemeen werken wanneer u in de toekomst de geldigheid van uw blobs controleert.
Voorwaarden
Hiervoor heb je nodig:
- Uw blobs opgeslagen met TSSChecker / TSSSaver, in .shsh2-formaat.
- tihmstar's img4tool, beschikbaar om te downloaden in de beschrijving van deze YouTube-video.
- Het IPSW-bestand voor elke combinatie van apparaat / iOS-versie waarvoor u uw blobs wilt verifiëren. Download de exacte IPSW die overeenkomt met de blob die u wilt verifiëren. Dit betekent dat u een verschillende IPSW moet downloaden voor elke iOS-versie en elk ander apparaat dat u wilt verifiëren.
Dit duurt even, dus ik raad aan om alleen de iOS 10.1.1 (14B150) en iOS 10.2 blobs voor uw apparaten te verifiëren om tijd te besparen. Dit zijn de belangrijkste blobs. Als u geen (14B150) hebt, doet u in plaats daarvan (14B100).
In de zelfstudie wordt het proces op een Mac beschreven en wordt de Terminal-toepassing gebruikt, maar er zijn ook Windows- en Linux-versies beschikbaar, waarvoor het proces vrijwel hetzelfde is. Ik ga iOS 10.1.1 (14B150) en iOS 10.2 blobs voor twee iPhone 5s verifiëren.
Voordat we met img4tool beginnen te werken, moeten we een stap uitvoeren op onze iOS-apparaten, degene waarvan we de blobs willen verifiëren.
iOS instructies
1) Open de App Store op uw apparaat en zoek naar "BMSSM". Installeer de app die verschijnt: "Batterijgeheugen Systeem Status Monitor".
2) Open de gedownloade app en ga naar het tabblad 'Systeem' bovenaan.
3) Zoek naar het item op deze pagina met de titel "Apparaat - Model". Het zal zoiets zijn als "N53AP". Noteer deze waarde en van welk apparaat u deze hebt gekregen.
4) Herhaal dit proces voor al uw andere apparaten.
img4tool instructies
1) Download de IPSW voor de blobs die u wilt verifiëren. Als u bijvoorbeeld wilt controleren of uw iOS 10.1.1 (14B150) iPhone 5s (GSM) blobs goed zijn, downloadt u de iOS 10.1.1 (14B150) iPhone 5s (GSM) IPSW. Zorg ervoor dat je de juiste IPSW voor de blobs downloadt, anders zal img4tool het onjuist verifiëren. Vergeet niet dat er twee versies van iOS 10.1.1 zijn en dat sommige apparaten (bijv. IPhone 5s) verschillende modellen met verschillende IPSW's hebben.
2) Kopieer de blobs die u wilt verifiëren en plak ze in een map op uw bureaublad. Roep de map TSS aan.
3) Neem het bestand img4tool_macos uit de map img4tool (gedownload van de YouTube-videobeschrijving in het gedeelte 'Vereisten') en plaats dat in de map TSS.
4) Plaats uw gedownloade IPSW's ook in de map TSS.
5) Klik voor elke IPSW in de map om de naam te wijzigen en de bestandsextensie te wijzigen van .ipsw in .zip. Selecteer "Use .zip" in het dialoogvenster dat verschijnt.
6) Dubbelklik op alle hernoemde .zips om ze uit te pakken. Na voltooiing verschijnen ze als mappen.
7) Start Terminal via Spotlight of vanuit / Applications / Utilities.
8) Typ "cd" bij de Terminal-prompt, gevolgd door een spatie en sleep uw TSS-map naar het Terminal-venster.
9) Druk op de toets "Enter" om de opdracht in te voeren. Terminal wordt nu naar uw TSS-map geleid.
10) Voer de volgende opdracht in Terminal in en druk op "Enter":
sudo chmod + x img4tool_macos
Voer indien nodig uw beheerderswachtwoord in.
11) We zullen nu de volgende opdracht in Terminal invoeren:
./ img4tool_macos -v BuildManifest.plist -s YOUR_SAVED_BLOB.shsh2
We moeten echter de uitdrukking "BuildManifest.plist" vervangen door een zin uit onze uitgepakte IPSW-mappen en "YOUR_SAVED_BLOB.shsh2" door onze blob. De eenvoudigste manier om dit te doen, is door de bestanden naar het Terminal-venster te slepen op het juiste deel van de opdracht.
Hier is een voorbeeld voor iOS 10.1.1 (14B150) op een iPhone 5s. Typ eerst in Terminal “./img4tool_macos -v”, gevolgd door een spatie. Navigeer vervolgens naar de IPSW-map voor iOS 10.1.1 (14B150) iPhone 5s. U moet voor deze stap de juiste IPSW-map hebben, gebruik niet per ongeluk een van de andere IPSW-mappen. In de map bevindt zich de juiste "BuildManifest.plist". Sleep dit bestand naar het Terminal-venster na "./img4tool_macos -v" en het vult het bestandspad voor u in.
Typ vervolgens "-s" gevolgd door een spatie en sleep uw .shsh2 blob die u wilt verifiëren, naar het Terminal-venster. Terminal vult het bestandspad voor u in. U moet de .shsh2-blob hebben die overeenkomt met de BuildManifest.plist die u zojuist hebt geselecteerd. Gebruik niet per ongeluk een van de andere blobs.
12) Nu het commando is voltooid, drukt u op "Enter" om het uit te voeren. Terminal zal het resultaat uitvoeren. Het interessante gedeelte bevindt zich onderaan; u kunt een voorbeeld hieronder zien:
Zoals u in de afbeelding kunt zien, is deze blob geldig, wat betekent dat deze alle juiste hashes bevat en de IPSW-versie (10.1.1) overeenkomt met de iOS-versie waarvoor de blob is opgeslagen.
Er is echter nog een ding dat we moeten controleren om te controleren of de blob ECHT correct is. Onthoud het apparaatmodel dat we eerder van BMSSM hebben opgemerkt?
Zoek in de Terminal-uitvoer naar de regel "DeviceClass" (zie bovenstaande afbeelding voor een voorbeeld). Het zal zoiets zijn als "N53AP". Vergelijk het nu met de waarde die u van BMSSM op het overeenkomstige iOS-apparaat hebt gekregen (stap 3 van de sectie iOS-instructies). Als de waarden zijn niet hetzelfde is de blob niet geldig, zelfs als img4tool onderaan zegt dat "bestand geldig is". Dit komt omdat de blob technisch geldig is (bevat alle benodigde componenten), maar de verkeerde BuildIdentity heeft. Omdat img4tool niet weet welk apparaat je echt hebt, controleert het simpelweg of het bestand alle benodigde onderdelen heeft en als het dat doet, zegt het dat het geldig is. Het is daarom mogelijk om een "juiste" blob te hebben, opgeslagen voor het "verkeerde" apparaat, dat daarom nutteloos is. Controleer dus altijd dat:
- img4tool zegt dat de blob geldig is.
- De "DeviceClass" -waarde van de Terminal-uitvoer van img4tool is hetzelfde als het veld "Device Model" voor datzelfde iOS-apparaat in BMSSM.
Als beide waar zijn, dan zijn jullie allemaal goed.
13) Herhaal de opdracht voor uw andere apparaten, met elke keer een nieuwe bijpassende set BuildManifest.plist en .shsh2 blob. Zorg er ook altijd voor dat u telkens het juiste BMSSM "Device Model" controleert.
Voorbeelden
In deze afbeelding zegt img4tool dat mijn blob voor iOS 10.2, voor een iPhone 5s die ik heb, geldig is. Maar er staat ook dat de blob alleen geldig is voor Model N53AP. Ik heb BMSSM op die iPhone 5s gecontroleerd en goed nieuws! Er staat ook N53AP, dus deze specifieke blob is echt geldig.
Bekijk nu dit voorbeeld:
Hier meldt img4tool dat mijn blob voor iOS 10.1.1 (14B150) voor een verschillend iPhone 5s, is ook geldig. En opnieuw zegt het dat het alleen geldig is voor Model N53AP. Wanneer ik echter BMSSM aanvink deze iPhone 5s, ik zie dat het in feite Model N51AP is, niet N53AP. In dit geval, hoewel img4tool zegt dat de blob intern goed is, kan ik het niet gebruiken omdat het is opgeslagen met de verkeerde BuildIdentity, en dat is ook zo ongeldig. Dit is de fout die TSSChecker eerder had en degene die je het meest zorgvuldig moet controleren in je oude blobs.
En tenslotte:
Dit is wat er gebeurt wanneer u probeert een iOS 10.2-blob te verifiëren tegen de verkeerde BuildManifest.plist (ik heb in plaats daarvan per ongeluk een van iOS 10.1.1 geselecteerd). Hier meldt img4tool onmiddellijk dat de blob ongeldig is, zoals u hebt gevraagd of een 10,2 blob geldig is voor 10.1.1, wat het duidelijk niet is. Zorg ervoor dat u identieke iOS-versieparen van BuildManifest.plist en .shsh2-bestand selecteert om deze fout te voorkomen.
Zoals u ziet, is het proces vrij diepgaand, maar het zou een onfeilbare manier moeten zijn om uw oude blobs te controleren zonder valse fouten te krijgen, waardoor u denkt dat ze geldig zijn als ze dat niet zijn. Omdat het downloaden van IPSW's tijd kost, is het misschien alleen de moeite waard om dit te doen op belangrijke blobs zoals iOS 10.1.1 en iOS 10.2.
En vergeet niet, nieuwere versies van TSSChecker / TSSSaver hebben dit probleem niet meer, dus voor iOS 10.2 wilt u misschien gewoon uw blobs opnieuw opslaan, dit verificatieproces vermijden. Deze gids is vooral nuttig voor het verifiëren van blobs die zijn opgeslagen op nu niet-ondertekende firmwares, die niet opnieuw kunnen worden opgeslagen.
Als een kanttekening, sprak ik met de onschatbare 1Conan, de maker van TSSSaver, terwijl ik onderzoek deed naar dit artikel. Hij bevestigde wat ik vermoedde, dat zijn Blobs Checker-site dat niet doet nog controleer dit probleem en het kan dus zijn dat uw blobs als geldig gelden als ze dat niet zijn, precies zoals img4tool doet. Als u dit apparaat niet vergelijkt met uw apparaatmodel, weet u het niet zeker.
Hij zei echter ook dat hij op de hoogte was van het probleem en met zijn gebruikelijke snelheid werkt aan het bijwerken van de Blobs Checker-site, zodat deze dit probleem in de toekomst kan identificeren.
Kijk daar binnenkort naar uit!
Update: 1Conan's Blobs Checker-site is nu bijgewerkt om de DeviceClass van de blobs te vergelijken met uw geselecteerde apparaat. Deze tool maakt het gemakkelijk om uw blobs te controleren en heeft het voordeel dat u geen IPSW's hoeft te downloaden!
Zijn je klodders goede klodders of verrot tot op het bot? Opheldering nodig? Laat het me hieronder weten.