Todas las entradas de: MD

Ya volvió a terminar (por un tiempo) mi obsesión por descompilar

Todos tenemos alguna obsesión que viene de vez en cuando (a mi me viene cada año mas o menos), no se si cuando consigues ganarla y salir victorioso ya no vuelve y te sientes bien, porque a mi cada vez que me viene me deja en un estado desolación y hundido.

No se cuando volverá la obsesión, se que empezó en tiempos universitarios y me viene de vez en cuando, lo único bueno que saco a esta mierda es que cada vez que salgo de una crisis de obsesión he aprendido algo nuevo de bajo nivel (de la informática de verdad, la baremetal donde te cortas y sangras con afilados trozos de ordenadores) y así voy juntando trocitos de sabiduría después de salir ahostiado cada vez que me obsesiono con esta mierda.

En mi caso, la obsesión viene por liberar viejos juegos de msdos que gracias a DosBox podemos seguir jugando, pero hablando con un amigo aunque suene a bravuconada solo existen dos tipos de juegos:

  • los que puedes liberar completamente, porque los ficheros o como se guarden de datos del juego (imágenes/sprites, músicas, sonidos, niveles/mapas, modelos 3D….) no tienen ningún peso en lo que define juego. Ejemplos de eso es el OpenTTD que es la versión libre del Transport Tycoon y ya tiene como dije hace años todo libre (en OpenTTD es libre desde hace 4 años ) no creo que haya ningún frikazo en la faz de la tierra que se queje de noseque tren de vapor no tiene un pixel de un color o al original o que la generación de mapas no es fiel a la original. Y otro que se libera o reimplementa libre fácilmente es el Tetris por mucho que le joda al cabrón de Alexey Pazhitnov que ya en el 2008 puso a parir al software libre (ni olvido, ni perdón Pajinov) porque quién se va quejar de que una ficha del tetris es de color amarillo en vez blanco como el original o mierdas parecidas.
  • los que no puedes liberar completamente, porque el código del juego no es lo que le da la entidad al juego y lo que lo hace recordado y que la gente dice es que el juego Piticlin es Piticlin porque tiene ese comienzo con ese nivel y ese personaje icónico. Y aunque es elogiable y espectacular la liberación del videojuego de la Nint€ndo (ya están sus jodidos abogados afilando cuchillos) del Mario64 en https://github.com/sm64pc/sm64ex y que ya hable de el en Vídeo de las instrucciones para compilar Super Mario 64 para GNU/Linux y es que si coges ese motor y le pones un pingüino en 3D rechulón y te haces unos niveles a cualquiera que se lo muestres va decir «pues eso no es el mario64» .

Y es que hay muchos juegos viejos de msdos que podrían liberarse y que se podrían sustituir los ficheros de datos del juego por unos libres y la gente seguiría sintiendo que es el mismo juego pero libre.

El problema es que le he añadido mas capas de complejidad a esta mierda de obsesión, y quiero hacerlo usando herramientas libres, nada de IDA Pro piratones.

Bueno vayamos por partes, ya ha pasado esta semana de obsesión y como siempre me acerco un pasito mas.

Descompilar, es la fantasía que antes salía mucho en las películas era como desencriptar al vuelo. Recuerdo en mis tiempos mozos que creía que podía ser posible, pero lo mas cercano a las pelis es si se han dejado muchos datos de depuración en el fichero binario o si es un lenguaje interpretado. Porque cuando me obsesione (en tiempos de win98) por primera vez, descubrí que los compiladores optimizan y cambian los nombres de variables, desenrollan bucles y incluso incrustan funciones y mil cosas mas que dejan el código ideal para la maquina. Entonces la fantasía de un programa que te unos ficheros C a partir de un binario no existe.

Desensamblar, es pasar un binario a un fichero en lenguaje ensamblador. Este es menos fantasía pero también algo porque ya en binarios que de winXX o GNU/Linux tienes librerías dínamicas y no van a caer dentro del fichero. Y luego no se si las mierdas raras que hagas en el código rollo interrupciones o partes ejecutables guardadas en forma de datos (en z80 se que se puede y creo que en 386 también después ya no) es capaz de encontrarlas.

Por desgracia mi obsesión cogió mas fuerza por culpa del OpenRCT2 que viví (uff hará años mas) en el viejo y desparecido git su liberación con una descompilación, y solo  han quedado los siguientes consejos Decompiling Tips IDA .

Pues hace un año me dio y probe con la mierda de IDA, nada.

Yo lo que buscaba esta vez es si existe una herramienta que te dado un exe viejote autocontenido de msdos te devuelva un puñado de ficheros .c/.h con nombre autogenerado, funciones con nombres autogenerados y variables con nombres autogenerados pero con un int main (int argc, char argv**) de mierda que pudiera compilar todo otra vez y te generada un exe que aunque tuviera distinto tamaño y CRC hiciera lo mismo que el original.

Esta vez incluso he disparado una pregunta infructuosa al stackoverflow de reverse engineering is there a tool to decompile old exe to C? lo peor es que me ha venido el autor del engendro llamado Reko (manda cojones porque no lo haces en un lenguaje de verdad en vez del puto mono/.net ) diciendo que podría valer su mierda, pues primero arregla tu mierda para que use la última versión estandar de mono  y después hablamos, porque lo único que he aprendido de ti es ha trabajar con distintas versiones de paquetes deb con apt en linea de comando.

Hace 2 años cuando me obsesione (junto con otra obsesión con tener un fichero plano para Goxel un editor libre 3D de voxels)  aprendi a usar y me molo mucho la herramienta Kaitai Struct que te permite definir como yml un formato de fichero binario y crear parseadores en lenguajes tan variados como Python y tiene inventos como un editor web para ir haciendo el famoso fichero para definir el tipo de fichero binario. Una delicia.

En mis pruebas he tirado un holamundo en C compilado con Turbo C dentro de un DosBox y el juego de Alley Cat.

Esta última vez me aventure a usar (dentro de una maquina virtual porque son los malos no de la peli si no del planeta Ghidra de la NSA supongo que incluso metido dentro de una maquina virtual ya me han visto hasta la talla de cazoncillos, pues no es tan bueno.

Y probé que tiene muy buena pinta Radare2, ese si que es el futuro.

Y gracias a Ru (Ruben Santos) y su repo de Ru me volvio abrir los ojos a otra forma de descompilar pasandome el link del subreddit https://www.reddit.com/r/REGames/ y ahí encontre un post/meneo sobre la descompilación de un ruso del juego de Tube de Bullfrog este te lleva a un github que tiene un link a un foro ruso en ruso sobre como ha ido haciendo la descompilación (benditos traductores).

No esta al detalle todo, pero habla de algo que yo también pensé un poquito, y es envolver en un C tuyo el juego para ir poquito a poquito quitando el ensamblador y que sea C puro.

Entonces como notas para el Miguel del futuro, tienes que volver al ASM que es otra de mis obsesiones, aprenderlo bien bien. Y darle vueltas a ver como puedo envolver un binario viejo en un C.

Creo que voy a volver a mi obsesión de picar un juego en Spectrum…la crisis de los 40 en el mundo friki…

Video muy divulgativo de «Con una raspberry y un pedal mi coche del GTA va a pedales»

Me han pasado este vídeo por un chat grupal en telegram, y lo iba a ver con asco pensando ya veras que tontada…pero no, es muy muy bueno y divulgativo. Y encima otro youtuber que no es un chillón y habla tranquilamente.

La pena que no es para algún videojuego libre…pero bueno…

Al rico hardware libre, una versión hipervitaminada del Power Glove

Hacia mucho que no me encontraba con un «proyecto maker» que me sorprendiera…porque últimamente el tema del cacharreo parece un hobby de warhammer o magic u otro modelo consumista friki…donde la única forma de hacer cacharros es comprar y comprar y comprar y después pegarlos con cinta de carrocero. Hace muchos años hice un articulo para los compas del proyecto colaborativo el binario con el nombre de Soy ateo Friki.

Pero buceando en los vídeos de la gente de Fediverse.tv he encontrado de un nodo federado (es lo que mola de las redes no centralizadas) un proyecto muy chulo tanto el software libre que mueve todo esto como el proyecto de los compas de fediverse…como el proyecto de hardware libre que os pongo el vídeo:

Así lo de pronto, lo que mas destaco…es primero los electrodos secos «caseros», si hijo si….yo también ando dándole vueltas al VR o a la AR, a los interfaces cerebro-maquina….y por eso conozco un poquito el mundo de las conexiones no invasivas y sin vaselina (en serio que hay unos húmedos que van con eso…no hablo de conexiones por el puerto de atrás) para que el ordenador te comprenda como una novia enamorada esos primeros meses de romance. Y lo siguiente que destaco es que la gente común esta aplicando ya las redes neuronales para hacer rápido y sencillo el trabajo de limpiar de ruido una señal. Finalmente lo mas destacable es que el vídeo es muy divulgativo (es que te enteras de como va el tinglado) aunque no tenga una voz en off…es como el de primitive technologies pero a lo cyberpunk.

Mis dudas es saber si los electrodos se ponen en una posición distinta del brazo, vamos se te mueven unos centímetros…es saber si la red neuronal entrenada sigue sacando mas o menos el impulso nervioso. Y si…el lag…que yo he sufrido un mando bluetooth para móvil con un emulador de gameboy y se nota el paso del tiempo.

Por cierto si has llegado a estas lineas y te preguntas ¿Qué coño es un power glove (link a la wikipedia inglesa)? Fue un mando de videojuegos que saco Mattel para la Nintendo de 8 bits justo en los 90 que detectaba cual WiiMote (si otro mando de Nintendo) la inclinaciones de la mano y como de doblados tenias los dedos (era curioso el mecanismo porque los artículos describen que era por fibras «opticas» y como perdían luz al doblarse). Es un invento muy muy curioso e iconico, que se comió un mojón….como casi todo lo revolucionario en tecnología…yo nunca lo vi en vivo…soñaba con el por el rollo VR (que los jóvenes flipamos con la pantalla táctil de los coches de Parque Jurásico) como el hexágono de Megadrive. Y poco mas que decir del powerglove mas que salio (con unos colores chillones y también salio un Arduino) en series de dibujos como Capitan N o en la pelí de serie B (serie B, te lo repito hipster de mierda que a todo lo que no es hollywood lo llamas Cine Indie…) Turbokid:

 

 

Video de la Filmoteca Maldita hablando del remake de Oldboy

Me acuerdo hace muchos años cuando empece el blog que youtube no era google y era novedoso y tenía cosas muy frescas…y de vez en cuando hacia un articulo con un puñado de videos interesantes.

Pero ahora youtube no es lo que era…como Barrapunto…que ya ni es…

Pues he encontrado un video muy muy bueno que habla de una peli que no he visto el remake bastardoamericano de Oldboy, muy muy interesante, recomendable esos minutitos de video y su arenga final sobre los remakes bastardoamericanos:

xj: herramienta para traducir html (no muy pocho) a json

De casualidad en algún portal de estos de noticias (no se si newsycombinator u otro) he encontrado el proyecto xj que convierte cualquier html a json.

Me parece muy útil cuando lo conjugas con jq para parsear el html y sacarle algún dato sin tener que tirar de xpath o inventos similares.

Aunque en el este awesomelist en github listan muchas alternativas: https://github.com/dbohdan/structured-text-tools

Después de instalado es bastante sencillo de usar:

$ echo "<html><head><title>prueba 1</title></head><body style='background: red;'><h1>TITULO</h1><p>aaa <b>bbb</b> ccc</p><p>ddd</p></body></html>" | xj | jq '.html[] | select(.body) | .[] | .[] | select(.h1) | .[] | .[0]' -r

TITULO

Entrevista a Pablo Ruiz de Kaleidos (empresa del software libre Penpot y Taiga)

Hace muchos años cierto personaje que por desgracia nunca el karma se la devolverá pero ojala, malas personas disfrazadas de corderos.

Me soltó una mentira de esta empresa, lo curioso es que las mentiras (que no voy a reproducir porque las mentiras la mejor forma de matarlas es no volverlas a decir), lo triste de el, es que esas mentiras eran sus propias mentiras sobre el que el construyo el infierno en la tierra.

Bueno dejando a ese cabrón (si porque no decir la palabra cuando se la gano con todas las letras), volviendo a la empresa de Kaleidos esta y sus proyectos, le han entrevistado sobre Penpot.

Muy, muy interesante entrevista que explica la empresa y sus proyectos:

Juegos de mesa del tipo Roll&Write (o lanzar y escribir) libres (Parte 2)

Continuando con el articulo que empecé hace una semana y publique hace poco:

Juegos de mesa del tipo Roll&Write (o lanzar y escribir) libres (Parte 1)

Vamos a listar la siguiente mitad de «juegos lanzar y escribir» que sean imprimir y jugar y además que sean libres.

Y siguiendo el orden de la anterior lista, que era de juegos de mesa mas libres a menos libres:

CC BY-NC

Los juegos con esta licencia creative commons, al igual que con CC By-Sa se puede hacer lo que se quiera…excepto comercializarlos.

Covid-19

Juego de un solo jugador en español donde simulas la cuarentena por coronavirus.

Print and Play: Covid-19

CC BY-NC-SA

Los  juegos con esta licencia creative commons, aunque no permite comercializarlos, es bastante libre porque permite hacer mejoras, arreglos y o traducciones.

20 Years

Un juego de 1 solo jugador en ingles donde tienes que construir un imperio al mas puro estilo espada y brujería.

Print and Play: 20 Years

Lockdown 2.0 and 3.0 Polyominoes

Un juego en ingles de 1 a varios jugadores en los que por medio del azar de los dados van a ir apareciendo piezas parecidas a las del Tetris y debe llenar la cuadricula para ganar.

Print and Play: Lockdown 2.0 and 3.0 Polyominoes

Introduction to (Drawing) Graph Theory

Complejo juego en ingles de dibujar gráficos de 1 a varios jugadores donde el objetivo es hacer gráficas.

Print and Play: Introduction to (Drawing) Graph Theory

Highland Dice Games

Juego de varios jugadores en ingles de dados en los que juegas a unas olimpiadas rusticas rollo como las olimpiadas vascas.

Print and Play: Highland Dice Games

Rayos y Truenos

Otro curioso juego de 1 a 3 jugadores en español donde tienes que quemar una ciudad con tu rayo dibujandolo por el cielo hacia el suelo.

Print and Play: Rayos y Truenos

CC BY-NC-ND

Estos juegos se pueden descargar y compartir, pero no modificar (mejorar o arreglar o traducir), no vender. No es lo mas libre pero por lo menos $GA€, C€DRO o gente malévola se come un nordo, porque puedes compartirlos.

Dice in Space

Un juego de 1 solo jugador en ingles donde tomas un papel parecido al de Star Trek, no tengo mucho mas que decir porque no lo he jugado.

Print and Play: Dice in Space

El Viaje de Zemo

Un juego de 1 jugador en español, donde tienes que explorar el mar busca de tesoros.

Print and Play: El Viaje de Zemo

Cat Nap

Un juego en ingles de 1 a varios jugadores donde en plan puzzle tienes que ir situando en el suelo cuales piezas de tetris a los gatos para que hagan la siesta.

Print and Play: Cat Nap

Catchup & Mousetard – ¡Batalla de Bocatas!

Un divertido y simpático juego en español para 1 a 4 jugadores en el cual estas al mando de un bar de bocatas (de los de antes que estaban tan buenos).

Print and Play: Catchup & Mousetard – ¡Batalla de Bocatas!

When Pigs Shall Fly

Complejo juego en ingles de 1 a varios jugadores donde eres un granjero ayudando a tu cerdo a volar.

Print and Play: When Pigs Shall Fly

Roll and Shoot

Juego de 1 a 4 jugadores en ingles donde tienes que hacer la labor profesional de un fotógrafo de los de antes analógico.

Print and Play: Roll and Shoot

Juegos de mesa del tipo Roll&Write (o lanzar y escribir) libres (Parte 1)

Agrada encontrar cosas nuevas (o casi porque me suena de pequeño de ver algo parecido en las páginas de un tebeo de DonMiki o Pulgarcito pero bueno no es tema de debate…o si…).

Pues el genero Roll&Write son juegos que se juegan en un papel (que normalmente tiene alguna ilustración, tablero, mapa…), dados y un bolígrafo/lápiz/rotulador, el juego implica usar los dados (u otros elementos de azar) y apuntar cosas en ese tablero de papel o cartón o lo que sea. Y a partir de ahí, los juegos de este tipo pues pueden engordar con otros mecanismos adicionales.

Un vídeo muy explicativo de la gente de Juegos Roll & Write explicando los juegos y su historia:

Por cierto, suelen ser juegos de un solo uso…salvo que uses goma de borrar y lápiz, o los metas en los plásticos de estos de portafolios o los plastifiques y uses rotuladores de pizarra blanca (esos que tienen ese aroma tan adictivo). Los juegos roll&write (o lanza&escribe) comerciales suelen venir plastificados y en la caja un rotulador de pizarra blanca.

Pues hay una comunidad muy sana y fuerte sobre juegos de mesa de tipo roll & write en español (aunque tiene alguno en ingles e incluso francés) en concreto esta Juegos Roll & Write .

Tiene inmensos listados de juegos Print&Play (articulo wikipedia francesa), ya sabéis otra de mis pasiones, pues buceando en ellos he encontrado una lista de los juegos de mesa print & play & roll & write & libres (menudo chorrazo de aspersans), os la pongo ahora mismo, explicando cada juego. Y los organizo de los mas libres a los menos libres:

CC 0

La licencia es parecida a la española de dominio público, es decir que puedes hacer lo que quieras con ella. Es la mas libre de todas.

ASCII Planets

Un complejo juego de 1 a 7 jugadores en el que cada jugador toma el papel de un civilización cada una en su propio planeta, son 12 páginas de reglamento (que estoy todavía leyendo) tiene muy buena pinta.

Y de las cosas curiosas es que el esta «el código fuente» (esta hecho en latex) en https://github.com/jacobsalmela/ascii-planets .

Print and Play: ASCII Planets

CC BY-SA

La mas libre de las licencias creative commons, porque puedes arreglar, mejorar, traducir, e incluso vender el juego. Pero lo bueno que tiene es el SA (share alike) que significa que lo que hagas tiene que seguir siendo libre.

Karate Fight es para 2 a 8 jugadores, se necesita 2 dados normales y un lapicero.

Este juego tiene dos fases, una de entrenamiento donde se usa los dados en público para todos y en secreto cada uno rellena su tabla de técnicas con el mismo número la fila en cada turno hasta que alguien grita para comenzar el combate.

Y la segunda fase es en plan piedra papel o tijera, comparar tu entrenamiento con los contrincantes cual torneo de karate y ver quien va ganando en cada combate.

Print and Play: Karate Fight

CC BY-NC

Los juegos con esta licencia creative commons, al igual que con CC By-Sa se puede hacer lo que se quiera…excepto comercializarlos.

Seek and Destroy

Un juego de 2 jugadores en el cual se enfrentan uno a otro en un campo de batalla con un ejercito.

Print and Play: Seek and Destroy

CC BY-NC-SA

Los  juegos con esta licencia creative commons, aunque no permite comercializarlos, es bastante libre porque permite hacer mejoras, arreglos y o traducciones.

Nile Flood

Juego de 1 a varios jugadores en ingles donde al mas puro 0 A.D. tomas el control de el imperio egipcio.

Print and Play: Nile Flood

Santa’s Southern Cross

Curioso y simple juego que esta en español de 1 jugador en el que tienes que por medio de dados rellenar todos lo puntos de un mapa (el de Nueva Zelanda) y después trazar una ruta para que lleve los regalos Santa Claus.

Novedades 2019: Santa’s Southern Cross

Maneuvers

Juego en ingles de 1 a varios jugadores en los que por medio de dados normales tienes que conducir un cohete a su vuelo.

Print and Play: Maneuvers

CC BY-NC-ND

Estos juegos se pueden descargar y compartir, pero no modificar (mejorar o arreglar o traducir), no vender. No es lo mas libre pero por lo menos $GA€, C€DRO o gente malévola se come un nordo, porque puedes compartirlos.

Der Clou – Roll Heist

Un juego de 1 a varios jugadores en ingles donde tienes que planificar robos al mas puro estilo de La Casa de Papel.

Print and Play: Der Clou – Roll Heist

Potions

En este juego de varios jugadores tienes que hacer pociones en 10 lunas usando varios dados de colores que son los ingredientes.

Print and Play: Potions

 

13 Ovejas

Un curioso juego de 1 a varios jugadores, en varios idiomas incluido el español, donde varias tarjetas de posibilidades de ovejas esparcidas por el campo, tu objetivo es vallar el mayor número de ovejas, la forma de la valla te la da la puntuación del dado y tienes varios turnos para hacerlo hasta que lleguen los lobos (en los últimos turnos hay un números malditos de dado) o terminen los turnos.

Print and Play: 13 Sheep

 

XII Century

Juego en ingles de 1 a varios jugadores donde tienes que gestionar la inglaterra del siglo XII.

Print and Play: XII Century

75 To Go

Juego en ingles de 1 jugador de temática de futbol americano. Quizá una cosa que destaca de este juego es que es necesario dados no estándar o de rol (como se decía antes) de mas caras.

Print and Play: 75 To Go

Starline Industries

Un juego de 1 a varios jugadores en ingles donde tomas el papel de camionero espacial, a diferencia de otros de los aquí listados en vez de usar dados para generar el azar, este viene de unas cartas que imprimes también.

Print and Play: Starline Industries

In Cold and Dicey Waters

Un juego para varios jugadores en ingles que nos pone en la situación marítima de la guerra fría.

Print and Play: In Cold and Dicey Waters

Y hasta aquí la parte 1º, me quedan otro 14 que listar…y supongo que la página de Juegos Roll & Write pondrá mas juegos nuevos con licencias libres, pero bueno revisarlo vosotros…que ya me he cansado que ha sido mirar al píe de 600 y pico juegos (usando un script python para «escrapear la web» y después con un csv en libreoffice mirando cada uno de esos 600 y pico), y solo sacar 28 que eran claramente y explicitamente en el PDF como libres.

One Dungeon Card video explicación del juego de mesa

Ya sabéis que soy fan de los juegos de mesa, pero si a eso le sumas que sean print and play (o en español imprimir y jugar). Y ya si le sumas que sea cultura libre (rollo Creative Commons u otras) eso ya es un inmenso goze.

Pues One Dungeon Card es casi casi un gran juego, porque es imprimible, es curiosamente un juego solitario, es de rol, pero no es un juego libre, tiene su asqueroso copyright, pero eso no implica que no esta mal.

Y bueno es bastante sencillo de jugar. el señor Donnie Darko (que no es el de la peli si no del canal El Dado Oscuro) ha hecho un videotutorial muy corto (se agradece) y directo de como se juega al juego, dentro vídeo:

Video que hace un análisis de Blender en 2021 por parte de un profesional del cine

He encontrado en las sugerencias el siguiente video:

Me ha gustado pese al rollito te susurro al oído cariñosamente del autor cual locutor de programa de radio, pero realmente prefiero que me susurren al oído que el típico video adrenalinico anfetaminico de un youtuber dando voces.

Expone sus vivencias cuando en el estudio que trabajaba decidieron pasarse a Blender, hace un análisis de las cosas malas y buenas de Blender.

Aun recuerdo la primera vez que usamos Blender en un win98, era feo como pegar a un padre pero ahí estaba el futuro…tengo que buscar el CD que seguro que lo tengo en algún sitio con la revista viejuna.