@Colin tiene una gran respuesta para el jailbreak de Yulu, pero hice cosas un poco diferentes que pueden ser útiles para las personas. Su respuesta se centra en crear un nuevo demonio con un nuevo nombre para que efectivamente tengas dos demonios ejecutando SSH. Uno para el USB y otro para otras conexiones TCP. Quería un oyente que escuchara en todas las interfaces. También estaba en Windows y necesitaba algo que funcionara con eso, que Galdolf no necesitaba. Como resultado, utilicé un Python Script , que bifurqué para asegurarme de que nunca desapareciera.
Para usar esto, ejecute:
python usbmuxd\pythonclient\tcprelay.py -t 22:2222
Lo anterior asigna el puerto local 2222 al puerto remoto 22. Una vez que esté configurado, puede usar su utilidad SSH favorita para conectarse. Usé Putty .
- Anfitrión: 127.0.0.1
- Puerto: 2222
El nombre de usuario predeterminado de "root" y la contraseña de "alpine", pero un nombre de usuario de "mobile" y una contraseña de "alpine" también se pueden utilizar para conectarse.
NOTA: Si no conoce la contraseña de root, use Filza para cambiar los permisos de /etc/master.passwd a 666, luego a través de SSH como usuario móvil, o utilizando su editor de archivos favorito, edite ese archivo para copiar el hash de "móvil" a "raíz" para que las contraseñas sean las mismas. (El hash para "alpine" es "/ smx7MYTQIi2M", si es necesario). Entonces debería poder iniciar sesión como root, o usar su.
Una vez que haya iniciado sesión, querrá encontrar las copias de droplist.plist que están actualmente en su máquina. Probablemente hay formas más eficientes de hacer esto, pero utilicé el siguiente comando:
find . | grep dropbear.plist
Que rindió:
./Library/LaunchDaemons/dropbear.plist
./private/var/containers/Bundle/Application/023FF836-8A0A-4593-A578-6801F2A3F34D/yalu102.app/dropbear.plist
La primera entrada es el demonio activo, pero la segunda es más importante. Es el demonio que Yulu establece cada vez que ejecutas el jailbreak (que tienes que hacer con cada reinicio). Si solo edita /Library/LaunchDaemons/dropbear.plist, se reemplazará cada vez que reinicie.
Como resultado, vamos a editar el que viene empaquetado con Yulu, pero si atrapa el archivo, notará que está en un formato PLIST binario. Para solucionar esto, necesitamos Erica Utilities para obtener plutil. Luego puedes ejecutar:
plutil -xml dropbear.plist
Esto convertirá dropbear.plist a formato XML. Una vez hecho esto, puede editar el archivo en cualquier editor de texto. Solía nano para hacer la edición real.
p.ej
nano dropbear.plist
Cuando está editando el archivo que desea deshacerse de "localhost:" de la última entrada de cadena. Esto hará que el oyente se ejecute en todas las interfaces en lugar de solo la interfaz de bucle invertido (que solo está disponible a través de USB). Como resultado, su archivo se convierte en:
<?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>
Una vez que haya hecho eso, querrá volver a colocar el archivo en formato binario:
plutil -binary dropbear.plist
En este punto, le sugiero que reinicie el dispositivo y valide que el archivo Yalu dropbear.plist se copia correctamente cuando vuelve a hacer jailbreak:
p.ej
reboot
Después de reiniciar, debería poder utilizar SSH utilizando la dirección IP de su teléfono y el puerto estándar 22.
p.ej
- Anfitrión: (IP desde Configuración -> WiFi -> (NOMBRE WIFI)
- Puerto: 22