viernes, 14 de julio de 2017

Eliminar la lista blanca (whitelist) de las tarjetas WiFi de Lenovo (Z50-70)

Recientemente me agencié un portatil Lenovo Z50-70, a pesar de lo que mi profesor de una asignatura de la universidad decía (básicamente era Anti-Lenovo), yo los encontraba bastante interesantes, ya que al fin y al cabo, son IBM y ya tenía alguna experiencia por que hace un año, le compramos un Lenovo a mi padre, y la experiencia no fue mala.

El caso es que la tarjeta WiFi interna empezó a fallar (se ve que este problema es normal en este modelo) y aprovechando que estaba fuera de garantía, le cambié la tarjeta, ya que no quería usar una externa.

Pero, ¡oh problema! Lenovo cuenta con una lista blanca de tarjetas wifi internas que son aceptadas en sus ordenadores, y no hay más que hablar, todo lo que se salga de ahí, no será reconocido por el equipo.

La solución pasa por modificar la BIOS de nuestro equipo para hacer un bypass de la lista blanca y lograr así que acepte cualquier tarjeta interna que le metamos.

Como dato, el tipo de la nueva tarjeta que elijamos tiene que ser Mini PCI-E half shaped (M2). El half shaped quiere decir que no nos vale una tarjeta de tipo full shaped, ya que es el doble de grande y el hueco que tenemos es muy pequeño (al menos en mi modelo).

Sin más que decir, empezamos:

ADVERTENCIA

Este es un procedimiento PELIGROSO y puede dañar su ordenador si comete errores. A mí me ha funcionado, por eso lo comparto. No me responsabilizo de cualquier daño ocurrido.

Requisitos:
- Tener instalado Windows (sic)
- Tener instalada la bios 9BCN26WW (En mi caso, Lenovo Z50-70, si tu tienes otro modelo, esto puede que te sirva, pero tendrás que usar tu propia bios)
- Universal BIOS Backup ToolKit 2.0
- Andy's Phoenixtools
- Editor Hexadecimal (Yo uso Free Hex Editor Neo)
- Fptw o fptw64 dependiendo de la version de tu sistema operativo (32 o 64 bits), no uses otra versión, está probado que esta funciona, he probado otras versiones (posiblemente anteriores) y no funcionaban correctamente para hacer este proceso.

Si tienes una bios actualizada, puedes hacer un downgrade a una versión anterior, solamente en la configuración de tu bios tienes que habilitar la opción "Bios Back Flash" e instalar la versión requerida, en mi caso es la que hay más arriba.

No modifiques ningun parámetro de la bios despues de instalarla, por seguridad, ya que aún hay que hacer algunas modificaciones.

Ejecuta Universal BIOS Backup ToolKit como administrador y haz una copia de seguridad de tu bios actual (al darle a Read), te hará un archivo llamado LENOVO-9BCN26WW.rom, guarda este archivo en una carpeta nueva vacía, ya que la usaremos como espacio de trabajo.


Ahora, tenemos que decompilar y modificar nuestro archivo rom que acabamos de obtener, iniciaremos PhoenixTool.exe y abriremos la imagen de la bios.


En este paso, tu imagen está siendo extraida, hay que ser paciente, ya que tardará un rato y presionar "OK" o "Aceptar" en los dos dialogos de información que nos saldrá en pantalla. Cuando finalice el proceso, en la lista desplegable del fabricante, tenemos que seleccionar Lenovo (en caso de que tu fabricante sea otro, elige el tuyo) y una vez hecho esto pulsaremos "Advanced".

Se nos abrira una nueva ventana llamada "Options", de ella, tendremos que dejar las casillas ya marcadas y marcar aquellas que os resalto en amarillo.


Pulsa "Done", volveras a la ventana anterior, aquí tienes que pulsar "Go". Espera. Cuando termine el proceso, te saldrá una nueva ventana con un boton OK, NO DEBES PULSARLO TODAVIA. Es una ventana que te notifica que puedes hacer cambios en el backup que le hemos cargado, si pulsas OK ahora, empezará a compilar y tendremos que rehacer este punto desde el principio.

En la carpeta donde habias dejado la rom, aparte de ella, ahora hay una carpeta llamada "DUMP", dentro de ella tienes que buscar un archivo llamado 11D378C2-B472-412F-AD87-1BE4CD8B33A6_xxxx.ROM  (xxxx significan 4 digitos aleatorios), puede haber más de un archivo con el mismo nombre, excepto por la parte xxxx, tiemes que abrir el más grande (7k, los demás son de 1k) con el editor hexadecimal.

En mi caso fue el 1911

Procederemos a modificar la bios, asegurate de editar los bytes correctos, ya que un fallo aquí puede inutilizar completamente el ordenador cuando le instales la bios modificada.

Tienes 3 desplazamientos 2F9, 322 Y 366, en los que encontraras el valor 74. Este numero representa una instrucción de salto condicional (beq, bne,beqz...), en la cual "detecta" (en realidad da la orden para saltar a otra parte del programa si toma en cuenta X parametros) que no tenemos una tarjeta wifi "legal" para el equipo y no la arranca. Para evitar esto, cambiamos el valor 74 en los 3 desplazamientos por el valor EB. EB es un valor que representa una instrucción de salto incondicional (jmp) y en nuestro caso, modifica la ejecución del programa de bios haciendo que si o si, salte a la siguiente parte del programa, haciendo un bypass a la lista blanca de tarjetas WiFi de nuestro equipo e impidiendo así que la lista llegue a comparar nuestra tarjeta con su "base de datos" y que nos la deshabilite.

Antes de edición

Después de edición, los eb en rojo están en los offset que hay que cambiar

Si has logrado hacer los pasos sin ningún fallos hasta este punto, guarda el archivo y cierra el editor hexadecimal. Ya puedes presionar OK en la ventana de PhoenixTool. Una vez hecho esto, reempaquetara la bios en un archivo llamado LENOVO-9BCN26WW_SLIC.rom. Esta es la imagen de tu bios con el bypass de la lista blanca.

Renombralo a bios.bin, llegados a este punto, tienes que copiar el .bin a la carpeta donde está fptw64 (usa uno u otro según tu sistema) y abrir una ventana de comandos con permisos de administrador.

Ahora, tienes que usar un error en (al menos este modelo) de los portátiles Lenovo, que es el "error del sueño". Básicamente consiste en que al bajar la tapa del portátil y dejar que este entre en estado en suspensión, tienes que abrir otra vez la tapa, y sólo haciendo esto, desactivas la protección contra escritura de la bios del equipo. A que mola.

Lo dicho anteriormente es opcional, pero a veces necesario (yo lo hice por si acaso). Ahora, en la ventana de comandos, escribimos:

Fptw64.exe -f bios.bin -bios
Pulsamos intro y esperamos a que acabe.

La prueba de fuego, cruza los dedos y reza lo que sepas que toca reiniciar.

Si todo ha salido correctamente, se reiniciará normalmente y tu portátil está liberado de su lista blanca.

Llegados a este punto, lo único que queda es entrar a la configuración de la bios y marcar "Habilitar WiFi"

Nota: La bios que has creado solo vale para tu ordenador, ya que al modificar tu propia instalación tienes parametros propios como el numero de serie. Si quieres hacerlo en otro ordenador tendrías que hacerlo de nuevo, a no ser que quisieras un ordenador "clon".

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...