Habi Hablóg
Declaro:
XML válidoXHTML válido800x600 +
RSS válidoCSS válidoNavegador digno
  Blog   Archivo   Contacto   Administración  

Acerca de

Matemático, informático, aficionado a la electrónica, friki... y otras cosas que no vienen a cuento ni pasan los filtros de palabras.

¿Queríais un blog? Ahí va.

Red antisocial

¡Me van a volver loca! 2.0
La Fragata Portuguesa

Z
¡Me van a volver loca!

Últimos posts

El expediente X que nadie pidió
eNigma
La cuadratura del píxel
Portando desde Spectrum
Inexorable

Últimos comentarios

Habi
NoSupoResolverLaFuncion
Edu
Habi
EnriqueGG

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Zarith (a Habi): pues no te tengo en spam. Qué raro, deberías estar ahí

Crackeo laboral

Habi - 08/07/2008 16:00:07 - Tecnoesoterismo

En un departamento de Isolux, de cuyo nombre no quiero acordarme, no ha mucho tiempo que contrataron a un Gañán de los de nula informática, gañanucia superlativa y creimiento ingenieril.

El caso es que ese ser se trajo de su antigua empresa un programa para calcular cutremente el hormigonado de una presa. Un programa para DOS del año de la Polka, hecho en Clipper (una especie de extensión sobre el lenguaje de dBase III+, compilado sobre una máquina virtual). Un programa que, según pregonaba a los cuatro vientos henchido de orgullo, había hecho él.

Y aquí comienza mi historia; me dice el GF que tienen un problema, que no pueden sacar listados (lógicamente, ya que bajo Windows hay que capturar la impresión), y que se vendrán a ver si puedo hacer yo algo. Nosotros estábamos haciendo las documentaciones técnicas de una presa y su variante para ellos. Anteriormente ya les habíamos tenido que dar las áreas de las secciones cubicadas, tema que merecería un post aparte.

En cualquier caso, llegaron por la tarde el supuesto autor del programa y su jefe. Normalmente soy una persona poco empática, y nada más ver a alguien no siento nada (aparte de la repulsión que me causan los humanos, claro), pero este caso fue distinto, supe que su formación informática era nula. Y sus palabras y sus hechos me lo confirmaron.

El programa no sacaba los datos por pantalla ni nada porque estaba PROTEGIDO, algo que este proyecto de lechón ignoraba. Durante esa tarde me dediqué a lo que más me gusta: dejarle mal delante de todos y especialmente de su jefe. Al final admitió que el programa "lo hicimos los que estábamos allí"; el muy chorizo había borrado el archivo de la base de datos con los nombres de los creadores (y por eso da un casque el programa si le das a los créditos, no llegaban sus conocimientos a editar una sencilla BBDD en formato .dbf).

Conclusión: teniendo en cuenta que lo de la impresora era trivial, y que el supuesto fallo ocurría por el propio programa, siendo él el "programador" bien podría coger el código fuente y corregirlo, así que a mí que me dejen en paz. Ni que decir tiene que al final tuvieron que pasar del programa no sólo porque no daba los listados sino porque calculaba mal (la protección borra ciertas tablas).

Pero me quedé una copia, y ese fin de semana me dio por ahí y me lo llevé a casa. Teniendo en cuenta que estaba hecho en Clipper y tenía información de depuración, le di una pasadita por Valkirie, agrupé módulos y... código descompilado al 99%. Un poco de corrección, retirado de las dos protecciones que tenía, borrado de código muerto (hice un analizador), corrección de casques, del consumo de CPU vía OsLib, eliminado tema de impresión, añadido enlace a Windows, compilación con CA-Clipper 5.3b y tengo la aplicación funcionando bajo Windows perfectamente.

Pero esta no es la primera vez que abro algo relacionado con el curro. El mejor ejemplo de esto es el Cardim.

El Cardim es un programa que, hasta hace poco, no tenía versión para Windows (ahora existe una .NET) no sólo por el tema de portarlo, sino para que no se lo abriesen. Hay cientos de herramientas para desensamblar y depurar código "plano" de 32 bits bajo Windows, pero para un ejecutable de 16 bits en modo protegido la cosa está difícil, y requiere de alguien que se conozca y bien estas cosas.

Me llevó un par de tardes enteras retirarle la protección con pastilla a una versión que me bajé del Emule que alguien había puesto para ver si alguien era capaz de abrirlo, el IDA y al Turbo Debugger para modo protegido (nada de Soft-Ice) se portaron como campeones. En breve, un conocido nos trajo la versión 2000 con soporte para DXF y estuvo lista en un par de horas. Detalle curioso: está hecho en Borland Pascal (no hace falta decir más).

La diferencia con el anterior es que en esta ocasión fue el jefe el que me lo propuso; teníamos que hacer un trabajo de señalización, era imposible de hacer por los delineantes, el programa costaba entre kilo y medio y tres kilos (y recordemos: es una patata en DOS que sólo hace carteles), y estaban en juego los beneficios de diciembre.

Así que pudimos repartir beneficios y además me llevé un plus por reventarlo. ¿Cuál es la moraleja?

15


Metrosexualidad

Habi - 30/06/2008 1:13:51 - Posts lúcidos

Esta primera historia es de hace poco, de cuando alguien me regaló una bolsa llena de bombas de baño. No tenía ni idea de lo que eran hasta que las recibí, son una especie de aglomerado de bicarbonato sódico con esencias, sales de baño, aromas y otras mariconadas que se echan en la bañera una vez estás dentro y se van deshaciendo por efervescencia. Y por lo visto son caras, alrededor de 4€ cada una.

Mejor que poner una foto de las bombas (en su web las hay mejores) pondré una del folleto de las instrucciones:

Me decidí finalmente a probar una. Me recordó al anuncio de las Oreo, entre las instrucciones de arriba y la forma de la bomba con la que hice la prueba (una "happy pill").

Así que la saqué del envase (la bomba), la miré (la bomba), la olí (la bomba), me metí en el agua sin dejar de observarla (la bomba) y la dejé caer dentro (la bomba y la otra).

Una vez dentro, la pastilla flota y se disuelve poco a poco en una especie de baba blanquecina. Se puede hundir, con lo que se disuelve más rápido y se libera el dióxido de carbono más rápido, pero no es ese su uso oficial. Las burbujas son pequeñas, no os esperéis un jacuzzi.

Al cabo de un rato el baño queda saturado de sales de baño, de esencias de cítricos exóticos y de un color anaranjado que, si bien podría pasar por Fanta naranja en un baño blanco vacío, conmigo dentro parecía que me estaba bañando en mi propia... salsa.

En cualquier caso es bastante recomendable si te gustan los baños calientes de al menos una hora, como me pasa a mí. Además, no sé si fue por las sales o las esencias, pero me dejó el pelo bastante manejable, y más ahora que lo tengo largo y parezco un cruce entre Son Goku y Amy Winehouse con resaca (en su estado natural, vamos).


Esta segunda historia es algo más antigua, pero sobre este tema es lo único que me queda por contar. Empieza cuando fui a acompañar a alguien a un centro de belleza; previamente me había convencido para que me hiciese una "limpieza" de cutis. Total, por probar...

Recuerdo que me dieron varias capas de distintos productos, y luego las retiraban y a otra fase. Una de ellas era algún tipo de exfoliante, por el tacto a lija que tenía. Recuerdo otra que era algún tipo de ácido, a juzgar por la reacción y el picorcillo (quizás fuese láctico o glicólico), y la tuve que tener un rato. Otras eran meramente hidratantes, creo.

También usaron en algún momento un cacharro que me echaba vapor sobre la cara, y luego se dedicaron no sólo a pellizcarme la cara sino a (¡atención!) hacerme microcortes en la cara con una pequeña cuchilla desechable. Supongo que será lo mejor para quitar puntos negros y coñas de esas, pero a mí esto me parece un tanto gore.

Pero el momento estelar vino después de eso; me dieron un potingue en la cara, y mi sucesión de pensamientos fue: "snifff... es un compuesto iónico, alcalino a juzgar por la sensación en la piel, y huele exactamente igual que el electrolito de una pila seca -> joder, estás fatal de lo tuyo, Habi; ¿no puedes descansar un momento? Será una crema para limpiar la cara". Justo en la conclusión de este monólogo interno la señorita usó un aparato que había montado sobre un brazo de metal, un aparato que... ¡lanzaba descargas eléctricas sobre mi cara! ¡Era un puto electrolito, tenía razón!

Di un pequeño bote en la primera descarga, así que me dijo "huy, es culpa mía, tendría que habértelo advertido" y siguió como si nada. Y al final cuando ya nos íbamos a ir, me lanzo la siguiente amenaza: "...y el próximo día podemos depilar un poco las cejas...".

Y así fue la primera vez y la última que entré en un centro de belleza.

1


300... /2

Habi - 04/05/2008 2:53:54 - Chorradas

150 posts.

Otras vacaciones.

Y la camiseta más friki que me han regalado hasta la fecha:

2


Batería Frankenstein

Habi - 03/05/2008 15:18:09 - Tecnoesoterismo

¿Pagar 200€ por una batería para un PC obsoleto? Buscando mejor las encontré por 100€ desde un sitio sospechoso que vi en Canadá y por casi 300€ desde otro de Inglaterra. Añádansele gastos de envío y puñetas varias.

Sale caro, así que como esta ya está jodida he decidido abrirla, mirar las celdas de litio que contiene e intentar sustituirlas por otras nuevas, iguales o compatibles.

*ATENCIÓN* Esta batería, como todas las que se usan actualmente, es de litio. El litio es peligroso; por un lado contamina, con lo que debe ser depositado en lugares de recogida, y por otro lado, si una celda de litio se sobrecarga más allá de su capacidad EXPLOTARÁ violentamente. Y lo mismo puede pasar si se calienta de más, así que nada de quemarlas en una fogata. Resumiendo: si no sabes lo que haces, no intentes hacer nada parecido.

Una vez abierto el paquete vemos que son ocho celdas individuales US18650GR: capacidad de 2200 mAh, voltaje nominal de 3,788 V.

En esta imagen se ve mejor: primero se agrupan las celdas de dos en dos en paralelo, para doblar la corriente (capacidad), y luego todas en serie para cuadruplicar la tensión.

El paquete exterior anuncia: 14,8 V, 3200 mAh, valores más conservadores que los teóricos 15,152 V, 4400 mAh resultantes.

El pequeño circuito que vemos en la foto se encarga de varias cosas. Le dice al ordenador el modelo de batería que es, la carga que le queda, si está en carga o no, etc. Pero sobre todo, regula la corriente que entrega la batería (el litio se sube a la parra a veces) y deja de cargar cuando la batería ya está cargada, para que no explote.

Fin del capítulo 1

2


3, 1

Habi - 02/05/2008 23:59:59 - Yuyus

0


ReHabiLitado

Habi - 02/05/2008 0:15:40 - Posts lúcidos

 ¿Qué tiene Habi dentro de esa bolsa vieja, roñosa y rota?

¡Coño! Un portátil que funciona. Pero no siempre ha estado así, llegó a mis manos también viejo, roñoso y roto.

Este es el portátil viejo del trabajo. Este miércoles fui a prepararlo para que se lo llevase Emilio y al ir a encenderlo me di cuenta que no arrancaba. Disco duro pocho, aparentemente; así que me lo endosaron, para que aprovechase lo que pudiese.

Hace años ya se le murió la batería, y teniendo en cuenta que una nueva sale como unos 200€ decidimos que dejaría de ser portátil. Por otro lado, no sé cuándo porque no me lo habían dicho, se le había muerto la pila (que no batería) de la CMOS; una 1220 y no una 2032, al menos es fácil de encontrar, es la de botón aplastada.

Ya con más tiempo y medios, en casa, vi cual era el problema con el portátil: un buen ostión. ¿Quién sería? ¿El que limpia la oficina? En cualquier caso, se había jodido el conector del disco duro al ordenador. Afortunadamente es un conector raro de Acer, el conector PATA-44 del disco estaba intacto porque va en una bahía con conversor a ese conector raro. En fin, nada que no arregle con unas pinzas, masilla epóxica, lima, cúter y algo de paciencia.

De paso limpié la lente del lector y corregí el enfoque de la misma para que leyese como Dios manda el CD de instalación del XP. Porque el sistema que viene con el portátil es Windows 98, la primera edición. Y de paso mandar a paseo el PHDisk, un sistema de la ROM para hibernar el ordenador, de cuando los sistemas operativos no lo hacían (modo SMM del micro, volcado, blabla, independiente de SO, blabla).

En fin, el ordenador no está del todo mal: Pentium II a 333Mhz, 128 MB de RAM, algo más de 6GB de HD, disquetera, lector de CD, puertos serie, paralelo, USB (uno y sólo uno -___-!), conectores de audio / video / monitor, su TouchPad y micrófono integrados. Y de regalo, una tarjeta de red PCMCIA un tanto vapuleada y una bolsa que se cae a cachos. Buen negocio.

Así que lo he llamado "ReHabiLitado", y lo tengo en red ahora. ¿Qué mejor nombre? También he comprobado que se puede robar Internet en mi casa nueva con el adaptador WiFi USB.

0


Resoluciones

Habi - 22/04/2008 14:08:02 - Tecnoesoterismo

Hace poco me ha dado otro de mis yuyus. Me he vuelto a instalar el Dungeon Keeper, el primero, el original, el único e inimitable.

Funciona perfectamente en vista, al contrario que XP. Sólo tenía un pequeño detalle: no se veían los videos, el monitor se salía de rango.

Así que nada, me hago un programilla para comprobar los modos de video, y veo que desde 320x200 hasta 400x300 no funcionan, para cualquier frecuencia vertical.

"Ya estamos", pensé. Me bajé drivers nuevos y pasé de la 163.leches a la 169.mierdas.

Pongo el DK… ¡y no funciona! Trozo de pantalla negra (la ventana de fondo, para DX, bajo un thread dedicado que tarda en cerrarse) y adiós.

Lanzo de nuevo el programita, y esos modos han desaparecido. Entonces lo entiendo todo: no están duplicando scanlines, luego claro está, es imposible lograr 320x200 en cualquier monitor de EGA para arriba, modo que utiliza el juego para los videos, que por cierto, son smacker.

"¿Pero qué dices? Yo he jugado juegos 320x200 en mi ordenador", dirán algunos. En efecto, pero el monitor NO lo soporta, es la tarjeta gráfica la que lo arregla.

Un cálculo rápido nos dice que 320x200 requiere una frecuencia horizontal de unos 15Khz; mira el manual de tu monitor, como cota inferior tendrá 30Khz o así.

En los tiempos de la CGA, el monitor tenía las frecuencias de una televisión NTSC, de ahí los 60hz y los 15KHz. Pero era una frecuencia fija.

Para evolucionar y permitir más modos hay que usar una frecuencia variable. Y eso implica estar entre ciertos valores. Para hacer los modos de poca resolución, la BIOS hace que la tarjeta gráfica duplique scans: el modo 320x200 es realmente 320x400, sólo que cada scanline se envía dos veces: doble pixel clock, misma frecuencia  vertical -> doble frecuencia horizontal, y pasamos de 15 a 30Khz, valor permitido por casi cualquier monitor.

Volviendo al problema con los drivers, esto rompe la compatibilidad con muchas aplicaciones antiguas (vale, juegos retro). Mi primera solución fue añadir a mano los modos de video en el registro, pasando de tocar el .inf del driver y reinstalar. Reinicio y funciona, volvemos al caso de las 163.leches. Funciona, pero fuera de rango.

Finalmente, miro las versiones beta y me bajo la 174.pollas. ¡Aleluya! Han vuelto a poner la opción de añadir modos de video a mano. Pongo los valores físicos para el hard del modo 640x480x75hz pero los lógicos del de 320x200... No sólo funciona, sino que estira el trozo de pantalla para que ocupe todo. Qué detalle, permiten spanning negativo automático. De nuevo ese DK de moda y videos a pantalla completa.

Y todo esto porque no me dan la opción de doblar scanlines en el secuenciador (puerto 3C4h; índice 1, bit 3). De paso añadí 320x240, 640x400, etc. basados en 640x480 y 400x300 y tal basados en 800x600.

0


Acedía

Habi - 17/04/2008 21:24:28 - Yuyus

Blog dice: ¿Dónde está Habi?

 

0


HAL

Habi - 03/04/2008 2:33:07 - Tecnoesoterismo

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.

9


MeduShow

Habi - 21/03/2008 2:47:30 - Yuyus

No intentéis entenderlo...

3


Reglas del 10:
10 últimos   10 después   10 antes   10 primeros