PDA

Ver la versión completa : Ingeniería inversa para firmware de grabadora DVD



Alps
30-01-2017, 02:25
¡Hola a todos!

Tengo una grabadora DVD marcada Pioneer, modelo DVR-K17A (slim para laptops y con la vieja interfaz IDE), de la cual he conseguido extraer el firmware para intentar hacer algunas modificaciones.
Me gustaría incrementar el número de sectores escribibiles en un DVD-5 modificando el código hexadecimal.
Teóricamente, de tal manera habilitaría el overburning para DVD-5 (hablo obviamente de DVD R+ VERBATIM y EMTEC, dos marcas de DVD que, como es sabido, soportan el overburning), ya que el overburning de CD ya está soportado.
Creo que eventualmente sea también el único modo, dado que modelos de grabadoras similares no soportan el overburning de DVD (pues hay que excluir el llamado cross-flashing).
Usando un editor hexadecimal, habría visto diversas cadenas de caracteres que podrían ser objeto de modificaciones, pero necesito alguien que sabe como y que ir a modificar.
Quizás podría tratarse de un simple truquito, de un cambio trivial y dado que me encanta experimentar, haría fácilmente algunos intentos (luego, siempre puedo "reflashar" el firmware original que ya he extraído y, de todos modos, el valor de la grabadora es muy pequeño...).
También podría adjuntar el file del firmware, si alguien estuviera interesado en echarle un vistazo.
¡Sugerencias útiles son muy bienvenidas!
Eventualmente, también podríais aconsejarme herramienta de ingeniería inversa necesaria en estos casos u otros foros de gente que conoce, modifica y programa los firmware de varios dispositivos hardware (incluidas las grabadoras).
¡Gracias a todos!

LUK
30-01-2017, 11:12
Hola Alps,

Segun la info que he encontrado (http://mingersoft.com/blog/2012/05/hacking-a-burners-firmware/), entiendo que el firmware será un .bin o similar; yo si fuese tu lo abriría con hex workshop (http://www.hexworkshop.com/) o hexedit (http://www.hexedit.com/) , buscar criteria=“CMCMAG” y el trabajo de chinos sería encotrnrar el valor de "Media Type ID" o similar, y ponerlo a BB5 que creo que es el que necesitas. Guardas el .bin, y lo flasheas a la grabadora (con http://sourceforge.net/projects/flasher/files/current_stable/ ).

Yo he jugado con alguna impresora, siemrpe que juegas con un firmware y lo flashear corres el riesgo de brickear el equipo (el equipo externo que flasheas) pero bueno, "hemos venido a jugar" :0=

Alps
30-01-2017, 17:29
Hola LUK,
Gracias por tu consejos.
El artículo en mingersoft.com podría ser útil aunque yo necesite otra cosa (ante todo, habilitar el overburning) en comparación con la del artículo (el reconocimiento de soportes ópticos blu ray, una marca en particular).
Suponiendo que quisiera incrementar el número de sectores escribibiles en un DVD-5 marcado VERBATIM, según lo que dice el artículo, debería tomar informaciones del programa "DVD IDENTIFIER" (u otro programa similar) y luego buscar en el firmware "MANUFACTURER ID" y "MEDIA TYPE ID" (los específicos del soporte VERBATIM).
Si, y digo si, en ese punto, el firmware lleva las informaciones que necesito, es decir "LAYER INFO", "RECORDING SPEEDS" y sobre todo "BLANK DISC CAPACITY", entonces podría intentar modificar estas informaciones. Si es así, podría aumentar la capacidad y también introducir una velocidad de grabación más baja, si la grabadora empezase a dar errores (sobre todo cuando se hace overburning en un DVD).
¿Qué dices? ¿Habría mejoras estrategias?
Si no basta con un editor hexadecimal, me temo que deberé utilizar herramienta más específica a nivel de lenguaje ensamblador, ¿me equivoco?

LUK
30-01-2017, 18:17
Yo creo que tu estrategia es buena, pero me quedaría con el editor hexadecimal; no te hace falta nada mas para editar el firmware; el problema es dar con el "hueco" a modificar, es un "trabajo de chinos"; estás investigando a un nivel muy profundo en ese hardware, los conocimientos que adquieras (y necesitas) tras este experimento son los mismos que tiene el personal de Pioneer, será dificil encontrar mucha mas info por internet :(

Alps
01-02-2017, 19:13
En el firmware he probado a ver si se nota algo interesante acerca de "MANUFACTURER ID" y "MEDIA TYPE ID" de VERBATIM (que son "MCC" y "004"), pero no me parece que haya instrucciones específicas allí. Aquellas líneas de código sólo incluyen una lista de productores y soportes.
Las instrucciones que me interesan deberían estar en otra parte del firmware.
Me temo que necesitaría herramienta para ir más en profundidad, como desensambladores y depuradores (según lo que he leído en la guía de nociones básicas de ingeniería inversa en este foro).
Quizás de tal manera sería posible entender la lógica del funcionamento de la grabadora y modificar las instrucciones en modo apropiado.
Entre todos los programas mencionados en la guía, ¿cuáles son los que podrían ser más útiles para mi fin ?

tejón
01-02-2017, 19:38
guenasss, yo no soy experto en el tema pero siempre he oido hablar del IDA Pro, al menos se nombra en un manual aqui en hackhispano, el enlace: IDA Pro Advanced (http://www.hackhispano.com/foro/downloads.php?do=file&id=140)

Alps
04-02-2017, 21:02
Bueno, entonces IDA PRO...
Voy a echarle un vistazo... ;)