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

Crackeo preservativo
Restaurando ROMs
Una cosa lleva a la otra
Desbloqueando logros
Teclado en el PCW

Últimos comentarios

genocho
Victor Cortes Abad
Habi
Enrique
Dandare

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 lo mejor habría que meter una tercera dimensión 
 
Zarith: algo así como Caótico Malvado de Letras

Parches de hemoglobina

Habi - 25/01/2011 13:11:44 - Tecnoesoterismo

Hace poco me volví a instalar el Vampire Bloodlines para sacar unas capturas de pantalla comparativas con respecto al Limbo of the Lost. Sólo el juego original con su parche oficial.

Y cuál no sería mi sorpresa al comprobar que me decía que mi ordenador necesitaba al menos 15MB de RAM instalada (ni siquiera libre), y que yo sólo tenía una cantidad negativa. He aquí uno de los más típicos errores: abusar del tipo int, cuando hay cosas que no deben tener signo.

Porque el compilador genera comprobaciones con signo, las cuales nos cascan a partir de los 2GB.

Busco la cadena en un las dlls, la encuentro en Bin\engine.dll. La meto en el IDA, localizo la cadena, referencia cruzada y listo:

El API capa a partir de los 4GB, para que no casquen las aplicaciones antiguas que no usan GlobalMemoryStatusEx, así que no hay peligro de perder bits; por lo tanto cambié el 7D (jge) en 200FA494 (000FA494 en el archivo) por un 73 (jae) para hacerla sin signo. Pero bien podría ponerse un EB (jmp relativo de 8 bits) y que funcione siempre. Y a jugar.

Sé que algunos de los parches no oficiales incluyen esta librería desde el Half-life 2 (mismo engine) o algo más moderno, pero no es plan. Así  al menos, fueron 4 minutos divertidos, mucho más que tener que buscar un parche por internet, bajarlo, instalarlo (sacando backups previos por si acaso), etc.


z - 25/01/2011 14:02:34

Sí, yo habría hecho lo mismo.




Post cerrado