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

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

Últimos comentarios

moroz1999
Habi
Habi
Enrique
moroz1999

Calendario

No hay fechas.

Categorías

Chorradas
Paranoias
Posts lúcidos
Tecnoesoterismo
Yuyus

Cenas de Abj

Abj debe 7 cenas.

Frase célebre

Zarith dice: Es como el porno, h 
 
No hace falta que aporte nada nuevo

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