
Dienstprogramm zum Entschlüsseln von App-Store-Apps auf gejailbreakten iOS 11.x.
Dienstprogramm zum Entschlüsseln von App-Store-Apps auf gejailbreakten iOS 11.x
Hier ist ein Beispiel mit https://github.com/BishopFox/bfinject zum Entschlüsseln der Reddit-App auf einem mit Electra gejailbreakten iPhone:
Cs-iPhone:~ root# bash bfinject -P Reddit -l dylibs/bfdecrypt.dylib
[+] Electra detected.
[+] Injecting into '/var/containers/Bundle/Application/BCEBDD64-6738-45CE-9B3C-C6F933EA0793/Reddit.app/Reddit'
[+] Getting Team ID from target application...
[+] Thinning dylib into non-fat arm64 image
[+] Signing injectable .dylib with Team ID 2TDUX39LX8 and platform entitlements...
[bfinject4realz] Calling task_for_pid() for PID 3218.
[bfinject4realz] Calling thread_create() on PID 3218
[bfinject4realz] Looking for ROP gadget... found at 0x1016a5110
[bfinject4realz] Fake stack frame at 0x10a06c000
[bfinject4realz] Calling _pthread_set_self() at 0x181303814...
[bfinject4realz] Returned from '_pthread_set_self'
[bfinject4realz] Calling dlopen() at 0x1810c3460...
[bfinject4realz] Returned from 'dlopen'
[bfinject4realz] Success! Library was loaded at 0x1c03e1100
[+] So long and thanks for all the fish.
Auf deinem Gerät erscheint dieser Bildschirm:
Sobald der Vorgang abgeschlossen ist, wird ein UI-Alert eingeblendet, der dich fragt, ob du einen Dienst starten möchtest, von dem du dein entschlüsseltes IPA herunterladen kannst:
Wenn du auf Yes tippst, wird auf Port 31336 deines Geräts ein Dienst gestartet. Verbinde dich damit und dir wird eine Rohkopie des IPA gesendet, die wie folgt mit netcat heruntergeladen werden kann:
carl@calisto-3 /tmp $ nc 192.168.1.33 31336 > decrypted.ipa
carl@calisto-3 /tmp $ ls -l decrypted.ipa
-rw-r--r-- 1 carl wheel 14649063 Jan 25 16:57 decrypted.ipa
carl@calisto-3 /tmp $ file decrypted.ipa
decrypted.ipa: iOS App Zip archive data, at least v2.0 to extract
Alternativ kannst du das Konsolenprotokoll des Geräts prüfen; dort wird dir angezeigt, wo das entschlüsselte IPA gespeichert ist. Zum Beispiel:
[dumpdecrypted] Wrote /var/mobile/Containers/Data/Application/6E6A5887-8B58-4FC5-A2F3-7870EDB5E8D1/Documents/decrypted-app.ipa
Du kannst das Dateisystem auch wie folgt nach dem IPA durchsuchen:
find /var/mobile/Containers/Data/Application/ -name decrypted-app.ipa
Das .ipa kann mit netcat vom Gerät geholt werden. Richte auf deinem Laptop einen Listener-Dienst ein:
ncat -l 0.0.0.0 12345 > decrypted.ipa
Und auf dem gejailbreakten Gerät:
cat /path/to/decrypted.ipa > /dev/tcp/<IP_OF_YOUR_COMPUTER>/12345
Das .ipa wird ein Klon des ursprünglichen .ipa aus dem App Store sein, mit der Ausnahme, dass die Hauptbinärdatei und alle zugehörigen Frameworks und Shared Libraries entschlüsselt werden. Das CRYPTID-Flag wird in jeder zuvor verschlüsselten Datei den Wert 0 haben. Du kannst das .ipa nehmen, die App extrahieren, sie bei Bedarf modifizieren, sie mit deinem eigenen Entwicklerzertifikat neu signieren und sie bei Bedarf auf nicht gejailbreakten Geräten bereitstellen.
Dies wurde erfolgreich mit Electra und LiberiOS getestet.