@Colin Ma świetną odpowiedź na łamanie więzienia w Yulu, ale zrobiłem coś trochę inaczej, co może być przydatne dla ludzi. Jego odpowiedź koncentruje się na stworzeniu nowego demona o nowej nazwie, aby skutecznie działały dwa demony z SSH. Jeden dla USB i jeden dla innych połączeń TCP. Chciałem jednego słuchacza, który słuchał na wszystkich interfejsach. Byłem także na Windowsie i potrzebowałem czegoś, co z tym działałoby, czego nie zrobił Galdolf. W rezultacie skorzystałem ze skryptu Python , który rozwidliłem, aby mieć pewność, że nigdy nie zniknie.
Aby tego użyć, uruchom:
python usbmuxd\pythonclient\tcprelay.py -t 22:2222
Powyższe mapuje lokalny port 2222 na zdalny port 22. Po skonfigurowaniu możesz użyć swojego ulubionego narzędzia SSH, aby się połączyć. Użyłem Putty .
- Host: 127.0.0.1
- Port: 2222
Domyślna nazwa użytkownika „root” i hasło „alpine”, ale nazwa użytkownika „mobile” i hasło „alpine” mogą być również użyte do połączenia.
UWAGA: Jeśli nie znasz hasła roota, użyj Filza, aby zmienić uprawnienia /etc/master.passwd na 666, a następnie przez SSH jako użytkownik mobilny lub korzystając z ulubionego edytora plików, edytuj ten plik, aby skopiować skrót od „mobilnego” do „rootowego”, aby hasła były takie same. (Hash dla „alpine” to „/ smx7MYTQIi2M”, jeśli jest potrzebny). Następnie powinieneś być w stanie zalogować się jako root lub użyć su.
Po zalogowaniu będziesz chciał znaleźć kopie droplist.plist, które są obecnie na twoim komputerze. Prawdopodobnie są na to bardziej wydajne sposoby, ale użyłem następującego polecenia:
find . | grep dropbear.plist
Co dało:
./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist
Pierwszy wpis to aktywny demon, ale drugi jest ważniejszy. Jest to demon, który Yulu instaluje za każdym razem, gdy uruchamiasz jailbreak (co musisz zrobić przy każdym ponownym uruchomieniu). Jeśli edytujesz tylko /Library/LaunchDaemons/dropbear.plist, zostanie on zastąpiony przy każdym ponownym uruchomieniu.
W rezultacie będziemy edytować ten, który jest dostarczany z Yulu, ale jeśli złapiesz plik, zauważysz, że ma on binarny format PLIST. Aby to naprawić, potrzebujemy Erica Utilities , aby uzyskać plutil. Następnie możesz uruchomić:
plutil -xml dropbear.plist
Spowoduje to konwersję dropbear.plist do formatu XML. Po zakończeniu możesz edytować plik w dowolnym edytorze tekstu. Użyłem nano do faktycznej edycji.
na przykład
nano dropbear.plist
Podczas edycji pliku chcesz pozbyć się „localhost:” z ostatniego wpisu ciągu. Spowoduje to, że detektor będzie działał na wszystkich interfejsach zamiast tylko interfejsu pętli zwrotnej (który jest dostępny tylko przez USB). W rezultacie Twój plik staje się:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>ShaiHulud</string>
<key>Program</key>
<string>/usr/local/bin/dropbear</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/dropbear</string>
<string>-F</string>
<string>-R</string>
<string>-p</string>
<string>22</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Gdy to zrobisz, będziesz chciał ponownie umieścić plik w formacie binarnym:
plutil -binary dropbear.plist
W tym momencie sugeruję ponowne uruchomienie urządzenia i sprawdzenie, czy plik dropbear.plist Yalu został poprawnie skopiowany po ponownym uruchomieniu jailbreak:
na przykład
reboot
Po ponownym uruchomieniu powinieneś mieć możliwość SSH wykorzystując adres IP twojego telefonu i standardowy port 22.
na przykład
- Host: (adres IP z ustawień -> WiFi -> (NAZWA WIFI)
- Port: 22