A veces las computadoras son demasiado impredecibles, y eso lo aprendí por la mala.
Hace algunas semanas compré un iPod Touch 5, aproximadamente por 10 dólares, el cual estaba bloqueado por iCloud, supuestamente por una contraseña olvidada (A estas alturas, aseguro que cualquiera que haya sido el dueño no tiene nada más que sacar de ahí, a parte de que ya estaba reiniciado).

No ví ningún problema, a parte, por el precio era irresistible, más si llevo un par de meses deseando un iPod Touch.
Había investigado previamente cómo desbloquear el iPod, vi que era demasiado fácil y solo necesitaba una computadora, así que me arriesgué.
Lamentablemente, descubrí muy tarde que era iPod Touch 5, ya que en la publicación se mencionaba iPod Touch 6.
El problema era que para desbloquear el 5, necesito un Arduino con USB Host Shield. Honestamente, no vi mucho problema y simplemente ordené el Host Shield, el cual me salió en los mismos 10 dólares, el Arduino me lo prestaría una amiga.
Ahí es cuando comienzan los contratiempos. Primero, al llegar mi paquete a mi ciudad, hay un bloqueo civil en mi Aeropuerto, por lo cual se retrasa 2 días mi envío, y después, cancelan clases múltiples días por culpa de lluvias en mi escuela, así que también me quedé sin acceso al Arduino.
Después de un arduo par de semanas esperando tener acceso a las placas de desarrollo, finalmente llegaron ambas placas, creí que por fin podría desbloquear el iPod sin problemas y de manera rápida.
Que equicovado estaba...
En primer lugar, para hacerle bypass correctamente, necesito utilizar el modo DFU, para el cual se usan los botones de bloqueo e inicio. El problema es que el iPod, como pueden observar, venía con el cristal quebrado, por lo cual, desafortunadamente quedó atorado el botón de inicio. Hay otra manera de entrar a modo DFU, un programa llamado redsn0w; funciona modificando una version de software programada para entrar a modo DFU inmediatamente después de ser flasheado por iTunes. Tardé aproximadamente una hora y media creando esta version de software, ya que originalmente estaba en Windows 11, pero este programa NO funcionaba correctamente en W11, así que tuve que compartir el archivo de software original a otra computadora con Windows 7, proceso que tomó 20 minutos por algun motivo ᕙ(⇀‸↼‶)ᕗ. Después de un largo proceso de modificación del software (redsn0w me crasheó 2 veces), finalmente lo pude pasar a la PC principal (otros 20 minutos). Ahí estuve sabrá Dios cuantas decenas de minutos intentando flashear el software y otro tanto esperando a que termine iTunes.
Cuando FINALMENTE entró en modo DFU, pude proceder al Arduino.
Tuve que aprender los básicos de Arduino; como funciona el código, cómo compilarlo y subirlo al Arduino, como monitorear el código, etc.
Procedí a subir el código y llego a la punta del iceberg; las librerías.
Tuve que aprender adicionalmente a buscar las librerías necesarias. Después procedí a subir el código y...
'Usb not defined' (ᗒᗣᗕ)՞
Resulta que, tenía que soldar unos pads en la placa para que pudiera pasar corriente eléctrica a el controlador y el puerto USB, por alguna razón no venía previamente soldada, pero tuve que proceder. No encontraba mi estaño y como ya era noche tuve que utilizar esaño que quedó en puntas de destornilladores (no pregunten porfi).

Cuando por fin quedó la mafufada, procedí a conectarlo al arduino y por fin reconoció el puerto.
Faltaba aplicar un parche a la librería de USB ٩(⌯꒦ິ̆ᵔ꒦ິ)۶
No tenía ni idea que se puede parchar librerías, así que tuve que buscar tutoriales hasta debajo de las piedras, pero no encontré nada porque aparentemente GitHub lo hace solo, y los otros tutoriales que encontraba me mandaban a hacerlo manualmente y honestamente no tenía ni las ganas ni la voluntad de aprender minimamente a hacer eso. Después de buscar con diferentes términos, encontré una publicación en Stack Overflow (GRACIAS ಥ‿ಥ) donde explicaba como hacerlo. Lamentablemente, la solución que daban ahí únicamente podía hacerla en Linux.
Tuve que volver a iniciar mi computadora con Windows 7, la cual la tengo en Dual Boot con Ubuntu, ahí pude finalmente parchar la librería; lo más tardado, afortunadamente, fue el tiempo de encendido de Ubuntu, que a pesar de estar en disco mecánico se me hizo muy largo tomando en cuenta el tiempo que tomó bootear W7, pero me estoy saliendo del tema.
POR FIN TENÍA EL ARDUINO FUNCIONAL, CON LIBRERÍAS Y CÓIGO FUNCIONAL
(Y ese era el problema (ಥ﹏ಥ)
El setup del Arduino venía con un pequeño LED, el cual no tuve tiempo de comprar porque llegué tardísimo a mi casa, así que me tuve que conformar con la consola del Arduino IDE, la cual por algún motivo solo podía mostrar "checkm8 started", los demás caracteres se mostraban como cuadritos, así que no podía saber exactamente que problemas surgirían. Intenté por aproximadamente 40 minutos iniciar el pwnage a ciegas, incluso llegué a usar Sliver sin haber visto la consola de Arduino IDE para ver que haya quedado el iPod, pero lamentablemente no funcionaba nada. Me estaba desesperando así que recurrí a volver a revisar los tutoriales.
Resulta que tenía que conenctar el iPod al arduino primero, y DESPUÉS iniciar modo DFU.
Este era un problema enorme, ya que para iniciar modo DFU sin el botón de inicio, el iPod tenía que estar conectado a la computadora (y no puede estar conectao a ambos al mismo tiempo!)
En este punto ya era demasiado tarde y necesitaba dormir, así que procedí a hacer lo que todo buen desesperado haría; arrancar la maldita pantalla hasta sacarle el botón atorado para tener acceso directo al botón físico y finalmente poder iniciar modo DFU sin necesidad del exploit de iTunes.
Quité la pantalla de la peor manera posible, literalmente casi la arranco (creo que incluso dañé otras cosas), pero nada importaba porque ahora tenía acceso al botón necesario.
Así que continué ◝(^⌣^)◜
Finalmente el Arduino reconoció el iPod y comenzó el proceso (aún que la consola seguía dibujando cuadritos, mínimo podía verlos moviéndose y ver líneas nuevas). Cuando terminó pude saberlo porque la consola mostraba un pequeño signo de admiración al final. Lo conecté a la Macintosh y esta vez si funcionó el exploit. la pantalla finalmente mostraba texto y el logo de Apple tech 752, sabía que todo estaría bien

Antes de que me diera cuenta, el iPod se estaba reiniciando, y cuando terminó, mostró finalmente la gloriosa (pero muy accidentada) pantalla de inicio.
Era demasiado glorioso, era casi medianoche y el iPod finalmente estaba desbloqueado. Desafortunadamente desbaraté la pantalla casi entera y me tuve que conformar con ver la mitad de la pantalla y tener 10% del area touch.