mirror of
https://github.com/LukeZGD/Legacy-iOS-Kit.git
synced 2025-02-18 17:36:23 +01:00
Changes to dumping bb and actrec from sshrd (32-bit)
This commit is contained in:
parent
c8118b1d43
commit
c1f2864432
@ -78,7 +78,7 @@
|
|||||||
- iPhone 2G, 3G, 3GS, 4, 4S, 5, 5C
|
- iPhone 2G, 3G, 3GS, 4, 4S, 5, 5C
|
||||||
- iPad 1, 2, 3, 4, mini 1
|
- iPad 1, 2, 3, 4, mini 1
|
||||||
- iPod touch 1, 2, 3, 4, 5
|
- iPod touch 1, 2, 3, 4, 5
|
||||||
- Restoring with SHSH blobs is also supported on some 64-bit devices:
|
- Restoring with SHSH blobs and using SSH Ramdisks are also supported on some 64-bit devices:
|
||||||
- See [SEP/BB Compatibility Chart](https://docs.google.com/spreadsheets/d/1Mb1UNm6g3yvdQD67M413GYSaJ4uoNhLgpkc7YKi3LBs/edit#gid=1191207636) for iOS versions that can be restored to
|
- See [SEP/BB Compatibility Chart](https://docs.google.com/spreadsheets/d/1Mb1UNm6g3yvdQD67M413GYSaJ4uoNhLgpkc7YKi3LBs/edit#gid=1191207636) for iOS versions that can be restored to
|
||||||
- iPhone 5S, 6, 6S, SE 2016, 7 (including Plus variants)
|
- iPhone 5S, 6, 6S, SE 2016, 7 (including Plus variants)
|
||||||
- iPad Air 1, 2
|
- iPad Air 1, 2
|
||||||
|
129
restore.sh
129
restore.sh
@ -4126,7 +4126,7 @@ device_ramdisk64() {
|
|||||||
if [[ $device_type == "iPhone8,1" || $device_type == "iPhone8,2" ]] && [[ $getcomp == "Kernelcache" ]]; then
|
if [[ $device_type == "iPhone8,1" || $device_type == "iPhone8,2" ]] && [[ $getcomp == "Kernelcache" ]]; then
|
||||||
name="kernelcache.release.$device_model"
|
name="kernelcache.release.$device_model"
|
||||||
fi
|
fi
|
||||||
if (( device_proc >= 9 )) || [[ $device_type == "iPad5"* && $ios8 != 1 ]]; then
|
if [[ $build_id == "18C66" ]]; then
|
||||||
case $getcomp in
|
case $getcomp in
|
||||||
"Trustcache" ) name="038-83284-083.dmg.trustcache";;
|
"Trustcache" ) name="038-83284-083.dmg.trustcache";;
|
||||||
"RestoreRamdisk" ) name="038-83284-083.dmg";;
|
"RestoreRamdisk" ) name="038-83284-083.dmg";;
|
||||||
@ -4172,7 +4172,6 @@ device_ramdisk64() {
|
|||||||
reco+=" -A"
|
reco+=" -A"
|
||||||
mv $getcomp.orig $getcomp.orig0
|
mv $getcomp.orig $getcomp.orig0
|
||||||
"$dir/img4" -i $getcomp.orig0 -o $getcomp.orig -k ${iv}${key}
|
"$dir/img4" -i $getcomp.orig0 -o $getcomp.orig -k ${iv}${key}
|
||||||
[[ -e DeviceTree.orig ]] && echo nice
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"Trustcache" ) reco+="rtsc";;
|
"Trustcache" ) reco+="rtsc";;
|
||||||
@ -4437,44 +4436,6 @@ device_ramdisk() {
|
|||||||
|
|
||||||
case $mode in
|
case $mode in
|
||||||
"activation" | "baseband" )
|
"activation" | "baseband" )
|
||||||
local arg="$1"
|
|
||||||
local dump="../saved/$device_type"
|
|
||||||
local opt
|
|
||||||
log "Mounting root filesystem"
|
|
||||||
$ssh -p $ssh_port root@127.0.0.1 "mount.sh root"
|
|
||||||
sleep 1
|
|
||||||
#log "Let's just dump both activation and baseband tars"
|
|
||||||
log "Creating baseband.tar"
|
|
||||||
$ssh -p $ssh_port root@127.0.0.1 "cd /mnt1; tar -cvf baseband.tar usr/local/standalone"
|
|
||||||
log "Mounting data partition"
|
|
||||||
$ssh -p $ssh_port root@127.0.0.1 "mount.sh pv"
|
|
||||||
#log "Creating activation.tar"
|
|
||||||
#$ssh -p $ssh_port root@127.0.0.1 "cd /mnt1; tar -cvf activation.tar private/var/root/Library/Lockdown"
|
|
||||||
log "Copying tars"
|
|
||||||
#$scp -P $ssh_port root@127.0.0.1:/mnt1/baseband.tar root@127.0.0.1:/mnt1/activation.tar .
|
|
||||||
$scp -P $ssh_port root@127.0.0.1:/mnt1/baseband.tar .
|
|
||||||
print "* Reminder to backup dump tars if needed"
|
|
||||||
if [[ -s $dump/baseband.tar ]]; then
|
|
||||||
read -p "Baseband dump exists in $dump/baseband.tar. Overwrite? (Y/n)" opt
|
|
||||||
if [[ $opt != "N" && $opt != "n" ]]; then
|
|
||||||
cp baseband.tar $dump
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
cp baseband.tar $dump
|
|
||||||
fi
|
|
||||||
: '
|
|
||||||
opt=
|
|
||||||
if [[ -s $dump/activation.tar ]]; then
|
|
||||||
read -p "Activation records dump exists in $dump/activation.tar. Overwrite? (Y/n)" opt
|
|
||||||
if [[ $opt != "N" && $opt != "n" ]]; then
|
|
||||||
cp activation.tar $dump
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
cp activation.tar $dump
|
|
||||||
fi
|
|
||||||
'
|
|
||||||
$ssh -p $ssh_port root@127.0.0.1 "rm -f /mnt1/baseband.tar /mnt1/activation.tar; nvram auto-boot=0; reboot_bak"
|
|
||||||
log "Done, device should reboot to recovery mode now"
|
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -4639,7 +4600,7 @@ menu_ramdisk() {
|
|||||||
menu_items+=("Dump Blobs")
|
menu_items+=("Dump Blobs")
|
||||||
reboot="/sbin/reboot"
|
reboot="/sbin/reboot"
|
||||||
fi
|
fi
|
||||||
if (( device_proc >= 9 )) || [[ $device_type == "iPad5"* && $1 != "12"* ]]; then
|
if [[ $1 == "18C66" ]]; then
|
||||||
menu_items+=("Install TrollStore")
|
menu_items+=("Install TrollStore")
|
||||||
fi
|
fi
|
||||||
menu_items+=("Reboot Device" "Exit")
|
menu_items+=("Reboot Device" "Exit")
|
||||||
@ -5756,8 +5717,11 @@ menu_other() {
|
|||||||
menu_items+=("Get iOS Version")
|
menu_items+=("Get iOS Version")
|
||||||
fi
|
fi
|
||||||
menu_items+=("Clear NVRAM")
|
menu_items+=("Clear NVRAM")
|
||||||
if [[ $device_type == "iPhone"* && $device_mode == "Normal" ]]; then
|
case $device_type in
|
||||||
menu_items+=("Dump Baseband")
|
iPhone* | iPad2,[67] | iPad3,[56] ) menu_items+=("Dump Baseband");;
|
||||||
|
esac
|
||||||
|
if [[ $device_mode != "Normal" ]]; then
|
||||||
|
menu_items+=("Activation Records")
|
||||||
fi
|
fi
|
||||||
if [[ $device_type != "iPod2,1" ]]; then
|
if [[ $device_type != "iPod2,1" ]]; then
|
||||||
menu_items+=("Just Boot")
|
menu_items+=("Just Boot")
|
||||||
@ -5910,18 +5874,22 @@ device_dump() {
|
|||||||
local dump="../saved/$device_type/$arg.tar"
|
local dump="../saved/$device_type/$arg.tar"
|
||||||
local dmps
|
local dmps
|
||||||
local dmp2
|
local dmp2
|
||||||
|
local acts
|
||||||
|
local act2
|
||||||
case $arg in
|
case $arg in
|
||||||
"baseband" ) dmps="/usr/local/standalone";;
|
"baseband" ) dmps="/usr/local/standalone";;
|
||||||
"activation" )
|
"activation" )
|
||||||
dmp2="private/var/root/Library/Lockdown"
|
act2="private/var/root/Library/Lockdown"
|
||||||
case $device_vers in
|
case $device_vers in
|
||||||
[34567]* ) dmps="/$dmp2";;
|
[34567]* ) acts="/$act2";;
|
||||||
8* ) dmps="/private/var/mobile/Library/mad";;
|
8* ) acts="/private/var/mobile/Library/mad";;
|
||||||
* )
|
* )
|
||||||
dmps="/private/var/containers/Data/System/*/Library/activation_records"
|
acts="/private/var/containers/Data/System/*/Library/activation_records"
|
||||||
dmp2+="/activation_records"
|
act2+="/activation_records"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
dmps="$acts"
|
||||||
|
dmp2="$act2"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -5964,10 +5932,73 @@ device_dump() {
|
|||||||
cp $arg.tar $dump
|
cp $arg.tar $dump
|
||||||
elif [[ $device_mode == "DFU" ]]; then
|
elif [[ $device_mode == "DFU" ]]; then
|
||||||
device_ramdisk $arg
|
device_ramdisk $arg
|
||||||
if [[ $mode != "baseband" ]]; then
|
dump="../saved/$device_type"
|
||||||
|
log "Mounting filesystems"
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "mount.sh pv"
|
||||||
|
sleep 1
|
||||||
|
log "Getting iOS version"
|
||||||
|
$scp -P $ssh_port root@127.0.0.1:/mnt1/System/Library/CoreServices/SystemVersion.plist .
|
||||||
|
if [[ $platform == "macos" ]]; then
|
||||||
|
rm -f BuildVer Version
|
||||||
|
plutil -extract 'ProductVersion' xml1 SystemVersion.plist -o Version
|
||||||
|
vers=$(cat Version | sed -ne '/<string>/,/<\/string>/p' | sed -e "s/<string>//" | sed "s/<\/string>//" | sed '2d')
|
||||||
|
plutil -extract 'ProductBuildVersion' xml1 SystemVersion.plist -o BuildVer
|
||||||
|
build=$(cat BuildVer | sed -ne '/<string>/,/<\/string>/p' | sed -e "s/<string>//" | sed "s/<\/string>//" | sed '2d')
|
||||||
|
else
|
||||||
|
vers=$(cat SystemVersion.plist | grep -i ProductVersion -A 1 | grep -oPm1 "(?<=<string>)[^<]+")
|
||||||
|
build=$(cat SystemVersion.plist | grep -i ProductBuildVersion -A 1 | grep -oPm1 "(?<=<string>)[^<]+")
|
||||||
|
fi
|
||||||
|
if [[ -z $vers ]]; then
|
||||||
|
warn "Something wrong happened. Failed to get iOS version."
|
||||||
|
print "* Please reboot the device into normal operating mode, then perform a clean \"slide to power off\", then try again."
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "reboot_bak"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
local tmp="/mnt1/private/var/tmp"
|
||||||
|
log "Dumping both baseband and activation tars"
|
||||||
|
log "Creating baseband.tar"
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "cd /mnt1; tar -cvf $tmp/baseband.tar usr/local/standalone"
|
||||||
|
act2="private/var/root/Library/Lockdown"
|
||||||
|
case $vers in
|
||||||
|
[34567]* ) acts="$act2";;
|
||||||
|
8* ) acts="private/var/mobile/Library/mad";;
|
||||||
|
* )
|
||||||
|
acts="private/var/containers/Data/System/*/Library/activation_records"
|
||||||
|
act2+="/activation_records"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
log "Creating activation.tar"
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "mkdir -p /$act2; cp -R /mnt1/$acts/* $tmp/$act2"
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "cd $tmp; tar -cvf activation.tar $act2"
|
||||||
|
log "Copying tars"
|
||||||
|
$scp -P $ssh_port root@127.0.0.1:$tmp/baseband.tar root@127.0.0.1:$tmp/activation.tar .
|
||||||
|
print "* Reminder to backup dump tars if needed"
|
||||||
|
if [[ -s $dump/baseband.tar ]]; then
|
||||||
|
read -p "$(input 'Baseband dump exists in $dump/baseband.tar. Overwrite? (Y/n) ')" opt
|
||||||
|
if [[ $opt != "N" && $opt != "n" ]]; then
|
||||||
|
cp baseband.tar $dump
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cp baseband.tar $dump
|
||||||
|
fi
|
||||||
|
opt=
|
||||||
|
if [[ -s $dump/activation.tar ]]; then
|
||||||
|
read -p "$(input 'Activation records dump exists in $dump/activation.tar. Overwrite? (Y/n)' )" opt
|
||||||
|
if [[ $opt != "N" && $opt != "n" ]]; then
|
||||||
|
cp activation.tar $dump
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cp activation.tar $dump
|
||||||
|
fi
|
||||||
|
$ssh -p $ssh_port root@127.0.0.1 "rm -f $tmp/*.tar; nvram auto-boot=0; reboot_bak"
|
||||||
|
log "Done, device should reboot to recovery mode now"
|
||||||
|
if [[ $mode != "baseband" && $mode != "actrec" ]]; then
|
||||||
|
log "Put your device back in kDFU/pwnDFU mode to proceed"
|
||||||
device_find_mode Recovery
|
device_find_mode Recovery
|
||||||
device_enter_mode DFU
|
device_enter_mode DFU
|
||||||
device_enter_mode pwnDFU
|
device_enter_mode pwnDFU
|
||||||
|
else
|
||||||
|
log "Just exit recovery mode if needed: Other Utilities -> Exit Recovery Mode"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
kill $iproxy_pid
|
kill $iproxy_pid
|
||||||
|
Loading…
x
Reference in New Issue
Block a user