Blog | Archivo | Contacto | Administración |
Blog dice: ¿Dónde está Habi?
Hace tiempo, buscando imágenes de disco del Knight Force para poner los archivos en sus respectivos discos originales, me encontré con una cierta recopilación. Os invito a mirar el siguiente link: [link].
Alguien se ha tomado la molestia de recopilar todas esas imágenes (y otras muchas más que todavía no ha publicado) de discos de juegos de los años del DOS. Me picó bastante la curiosidad, tenía una ADSL en el curro muerta de asco, una cosa llevó a la otra...
Al grano: en efecto esos archivos contienen las imágenes de disco, y estas son correctas. Sin embargo, están hechas con un programa raro, el EPLCopy (de uso interno de IBM y que no conocía hasta hace poco), nada de CopyWrite, DCP, o una simple imagen RAW en crudo. Si hay craqueos en los juegos, no hay disco llave, luego entonces deben ser imágenes estándar, luego lo lógico es usar RAW.
Sólo se encuentra por internet ese programa (v4.21 y v5) en una subida del propio autor a GigaSize. Descarga que me casca siempre que intento bajarla.
Con la v4.21 se baja bastante, así que uso un gestor de descargas, le interrumpo, renombro a .zip y arreglo con el WinRar. Se puede extraer el ejecutable.
Como dice el autor, sólo se puede grabar con el programa a disco, y eso bajo DOS. Ningún programa entiende este formato raro.
¿Qué hizo Habi a continuación? Lo que no haría nadie en su sano juicio: tratar de averiguar el formato del fichero estudiando el programa a partir de su desensamblado.
Pero primero hay que quitarle las compresiones y protecciones (*ays*). Cups, Tron y el debugger del DosBox (versión desarrollador, claro), y queda medio listo para empezar. En el Ida hay que reconstruir el segmento de datos y se puede empezar a trabajar.
Está compilado en MS C, de las primeras versiones. Buen programador, mal compilador; el hombre ha hecho trucos a nivel de FDC, BIOS y DOS todos juntitos, el compilador ni las optimizaciones más básicas.
Pero finalmente, tras dos días, he sacado el formato. Al final del fichero un pie opcinal de 512B con la descripción del disco, seguido de otro variable (18B normalmente, depende de la versión); al principio una o más cabeceras de 80B (normalmente una) CODIFICADAS con una tabla rara. Después, todos los datos están comprimidos con un simple run-length, con el código F1 como prefijo y alguna modificación en las repeticiones.
Estos datos están separados por pistas de disco; cada una empieza con una cabecera de al menos 80B de descripción con los datos de los sectores y después todos los datos en crudo de las pistas. ¡Por fin!
Programita en Delphi, abrir el resultado con mi editor de imágenes o el WinImage o lo que sea, y arrastrar afuera. Ya tengo entretenimiento para este finde con mis emuladores.
No intentéis entenderlo...
...de la ganadería de L. Premio merecido por sacar en algo legible los datos de un antiguo disco, 3" / PCW / LocoScript.
Cena 1:
Esta es la fase hardware. Para leer este disco de 3" usamos un Spectrum +3 (que tiene disquetera de 3" y un µPD765 como controlador), al cual se le ha acoplado una disquetera de 3½" de PC para intercambiar los datos.
En principio el disco recalibró varias veces mientras lo analizaba bajo +3DOS, pero al final se leyó bien. Normal, pues llevaba mucho tiempo sin leerse. En vez de copiar los ficheros al otro disco, opté por hacer una copia sector a sector y luego volcar la imagen en el PC con mi editor de imágenes de disco, para no perder datos. Me dí cuenta de que el tamaño libre no se correspondía con el teórico del disco, esto lo veremos con más detalle en la siguiente fase.
Otra ventaja de la imagen es que la lectura es secuencial, con lo que eliminamos posibles time-outs y fallos del disco (que tiene muuuchos años) bajo un acceso aleatorio.
Cena 2:
Las imágenes por sí solas bastarían para trabajar con esos datos bajo un emulador de PCW, como Joyce o MESS con su driver. Pero nos interesan los archivos, en PC, en algo legible.
Teniendo en cuenta que estos están clasificados en grupos (incluyendo el limbo, posiblemente la primera papelera de reciclaje de la historia) del LocoScript, y éstos están basados a su vez en los usuarios del CP/M, además de existir archivos ocultos y de sistema, usamos de nuevo mi editor de imágenes de disco sobre las imágenes anteriormente creadas. Si los hubiésemos copiado tal cual a otro disco hubiésemos perdido toda esa información.
En cualquier caso se extraen, se borran los de arranque / grupos / configuración del propio LocoScript y luego añadimos la extensión .abj (por ejemplo) a todos los ficheros para que no se confunda el Windows.
Ahora sólo nos falta convertirlos a algo legible.
Cena 3:
Hay por ahí varios conversores de LocoScript a algo, y todos cascan o son de pago. Finalmente me decanto por WinConv, con sus modulitos para LocoScript y RTF.
Es de pago, pero dan una versión demo, la cual sólo convierte hasta 25 archivos, y nunca más de 10.000 bytes en cada uno. Siendo el programa de 37KB, sin compresión / empaquetado / protección, es desprotegido en dos minutos y me salto ambas restricciones.
El programa funciona bien. Sólo tiene una pega: se come unos caracteres del principio de los ficheros. Así que los miro uno a uno, contrastando con el volcado hexadecimal del paso anterior y se corrige.
Moraleja:
Una hora del paso 1, un minuto del paso 2 y media hora del paso 3 = 1:31; y 1:31 de mi tiempo bien vale tres cenas.
Creo que todos sabéis las circunstancias de la gente que me vendió la casa, de los antiguos propietarios que allí habitaban y sus gustos (siguen en el trullo hasta donde sé).
En caso es que todavía me llega correspondencia suya; en concreto la revista "La tienda en casa". No tiene desperdicio, mejor que cualquier comic de Mortadelo y Filemón.
Casi cualquiera de sus productos sería merecedor de un post: el dosificador de cloro para piscinas Pulp’o, el spa hinchable Lay-Z-Spa, el collar de energía positiva I.Ballance, ...
Pero como hay que elegir, me quedo con este:
La sauna portátil Total Sauna (anunciada en TV, nos dice). Esta mochila gigante con agujeros para la cabeza y manos, y silla de plástico de regalo.
Ohlah como-tahmoh...
Todos tenemos algún deporte. El mío es el de poner búsquedas aleatorias y seguir los links aun más aleatoriamente. Así es como a veces encuentro auténticas (e incomprendidas) joyas.
El caso es que hoy he encontrado ALGO. Algo que ni me imaginaba que podía existir. Algo que de hecho, no debería existir.
¡Ni más ni menos que la web oficial del señor Barragán! -> http://www.barragan.tv/
Si no le conocen diré que aproximadamente entorno al 6 A.Ch. (antes de Chiquito) campaba este personaje por la televisión, con su particular humor verde - asqueroso que tanto nos gusta. Yo lo conocí en su época dorada (?), en el programa "No te rías que es (lo puto) peor".
Qué gran personaje. Qué recuerdos cuando lo vi aparecer en algunas de las pelis de Torrente. Y no soy el único; hace tiempo vi en Viruete un review de ese programa precisamente, en el que fue nombrado "El embajador de la ponzoña". No hace falta decir más.
Se lo crean o no, este personaje se encontraba en mi sagrado panteón: en el centro Yo (quién si no), a mi diestra el Inspector Gadget y Einstein, y a la izquierda el Sr. Barragán y Darth Vader.
Y no diré nada más de él; estoy demasiado ocupado saqueando esa web, mucho menos casposa que el propio Barragán.
Cualquier profesional tiene sus herramientas; una de mis preferidas es el IDA pro.
Es un desensamblador interactivo. Cambia los nombres, referencias, etc simultaneamente, analiza código para encontrar más código y datos, infiere las estructuras a partir del API, propaga tipos... todo en tiempo real. Si no entiendes lo que quiero decir: este programa es una de las 3 cosas en el universo conocido que más me ponen. Y no es la número 3.
Ayer me bajé la nueva versión 5.2 (690€ que cuesta, y merecidos; si fuese rico lo compraba), junto con el Hex-Rays. Tenía ganas de probar este plugin descompilante. El descompilador funciona relativamente bien, pero sólo para código x86 de 32b; no vale los 1500€ que cuesta. Cuando maneje código de 16b será medio útil para mí.
Pero vamos al grano; abriendo una BBDD de desensamblado anterior, me ha salido el siguiente cuadro de diálogo:
En efecto, lo hice con una versión pirateada. Igual que con la que la estoy abriendo ahora, debo añadir.
UltraEdit, buscar la cadena en archivos, la localizo (entre otros sitios) en ida.wll; es una DLL realmente, la cargo en el propio IDA, referencia cruzada sobre la cadena, localizo el lugar y parcheo un Jz (74h) por un Jmp (EBh). Listo en menos de 3 minutos.
¿Por qué no se han molestado en esconder las cosas o en añadir protecciones, encriptados... algo? ¿Será porque conocen a la gente que maneja este programa y la eficiencia del mismo?
"Debate" - Habi, 2008
Y dedicado a T. (ya que estaba con el Photoshop):
En su día, mucha gente jugó al Monkey Island; de esa gente, poca jugó la versión CD o la FM-Towns. Estas versiones traían gráficos en el inventario, en vez de los textos de las versiones normales.
Por ello es que siempre surgía la eterna pregunta:
¿Cómo es un pollo de goma con una polea en el medio?
¿Tiene la polea en la tripa? ¿Longitudinalmente? ¿Transversalmente?
Va por ustedes.
¡¡¡Hooooolaaaaa, guapooossss!!!
Soy yo, Richie, vuestro azafato favoritooooo.
Me han pedido que os dé los resultados del concurso "Encuentra a UltraVesti". Así que bueno, aquí os dejo estas tablas y gráficos que he hecho con el Excel. Están todos supercurrados de la muerte.