@@ -2038,7 +2038,13 @@ device_enter_mode() {
20382038 log " Device seems to be already in pwned DFU mode"
20392039 print " * Pwned: $device_pwnd "
20402040 case $device_proc in
2041- [56] ) device_send_unpacked_ibss;;
2041+ [56] )
2042+ if [[ $device_pwnd == " meowing" ]]; then
2043+ device_send_meowing_ibss
2044+ return
2045+ fi
2046+ device_send_unpacked_ibss
2047+ ;;
20422048 [789] | 10 )
20432049 if [[ $device_proc == 7 && $device_pwnd == " checkm8" ]]; then
20442050 warn " Device is not pwned with ipwnder or updated gaster. Restoring/ramdisk booting will fail."
@@ -2104,11 +2110,12 @@ device_enter_mode() {
21042110 tool_pwned=$?
21052111 log " gaster reset"
21062112 $gaster reset
2107- # elif [[ $device_proc == 6 && $platform == "macos" && $platform_arch == "x86_64" ]]; then
2108- # A6 intel mac use ipwndfu
2109- # device_ipwndfu
2110- # tool_pwned=$?
2111- elif [[ $device_proc == 4 && $platform == " macos" ]] ||
2113+ elif [[ $device_proc == 6 && $platform == " macos" && $device_type == " iPhone5," * ]]; then
2114+ # A6 mac use a6meowing
2115+ log " Placing device to pwnDFU mode using a6meowing"
2116+ " $dir /a6meowing"
2117+ tool_pwned=$?
2118+ elif [[ $device_proc == 4 && $platform == " macos" ]] || # && $platform_arch == "arm64" ]] ||
21122119 [[ $device_proc == 6 || $device_type == " iPhone2,1" || $device_type == " iPod3,1" ]]; then
21132120 # A6/3gs/touch 3 use ipwnder32 libusb
21142121 log " Placing device to pwnDFU mode using ipwnder"
@@ -2135,6 +2142,10 @@ device_enter_mode() {
21352142 log " Found device in pwned DFU mode."
21362143 print " * Pwned: $device_pwnd "
21372144 if [[ $device_proc == 6 ]]; then
2145+ if [[ $device_pwnd == " meowing" ]]; then
2146+ device_send_meowing_ibss
2147+ return
2148+ fi
21382149 device_send_unpacked_ibss
21392150 fi
21402151 fi
@@ -2189,6 +2200,20 @@ device_send_unpacked_ibss() {
21892200 fi
21902201}
21912202
2203+ device_send_meowing_ibss () {
2204+ log " gaster reset"
2205+ $gaster reset
2206+ sleep 1
2207+ patch_ibss
2208+ log " Sending iBSS..."
2209+ $irecovery -f pwnediBSS.dfu
2210+ local tool_pwned=$?
2211+ if [[ $tool_pwned != 0 ]]; then
2212+ error " Failed to send iBSS. Your device has likely failed to enter PWNED DFU mode." \
2213+ " * You might need to exit DFU and (re-)enter PWNED DFU mode before retrying."
2214+ fi
2215+ }
2216+
21922217ipwndfu_init () {
21932218 local ipwndfu_comm=" 624763e9903e523bcc0de8a9b44e35053ce72ac6"
21942219 local ipwndfu_sha1=" 398b1e74317373d0c9fdd2711581913810ced270"
0 commit comments