Spectrum:Cómo buscar pokes?

Foro de los juegos de la Edad de Oro (también de los no españoles). || Talk about classic games.

Moderadores: Neville, CEZ

Responder
arkos
16 bits
16 bits
Mensajes: 69
Registrado: 08 Ene 2007 15:31
Ubicación: Barcelona

Spectrum:Cómo buscar pokes?

Mensaje por arkos »

Buenas!!! :D

Ante todo decir que soy profano en este tema.

La verdad es que tengo curiosidad por saber cómo encontrar pokes en los juegos de spectrum.
Se ha de usar un desensamblador para ello?
Uso el Spectaculator y no sé si éste emulador viene con dicha herramienta incluida.Hay una opción que pone Debugger, pero no sé lo que es exáctamente.

Sé que este emulador tiene multiface donde pones los pokes, o directamente en la opcion "Poke memory".

La verdad es que me gustaría encontrar los pokes por mí mismo.

Un saludo!!! :D
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

Muy buenas.
Buscar pokes es bastante complicado y hay que tener muy buenos conocimientos de ensamblador asi como del funcionamiento del spectrum. Con el debugger de spectaculator puedes hacerlo perfectamente. Sobre este tema son muy interesantes los articulos de La biblia del hacker de la revista Todospectrum. Estan escaneadas, pero no encuentro el enlace.
Suerte. La vas a necesitar :)
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
Avatar de Usuario
salvacam
8 bits
8 bits
Mensajes: 37
Registrado: 16 May 2011 12:43

Re: Spectrum:Cómo buscar pokes?

Mensaje por salvacam »

Sin ir muy lejos estan en world of spectrum
ftp://ftp.worldofspectrum.org/pub/sincl ... ospectrum/
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

Muchas gracias. Hace tiempo me bajé todas de no sé dónde y en un pete del disco duro se me fue todo al garete. Eso me pasa por hacer copias de seguridad :)
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
arkos
16 bits
16 bits
Mensajes: 69
Registrado: 08 Ene 2007 15:31
Ubicación: Barcelona

Re: Spectrum:Cómo buscar pokes?

Mensaje por arkos »

Gracias,les hecharé un vistazo :D
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: Spectrum:Cómo buscar pokes?

Mensaje por na_th_an »

Lo mejor para buscar pokes es hacerlo en http://www.the-tipshop.co.uk/ ;) ;) :D
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

Hay que enseñar a pescar, no dar el pescado...
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
Avatar de Usuario
Metalbrain
128 bits
128 bits
Mensajes: 1717
Registrado: 16 Oct 2005 15:56
Ubicación: Sevilla
Contactar:

Re: Spectrum:Cómo buscar pokes?

Mensaje por Metalbrain »

arkos escribió:Se ha de usar un desensamblador para ello?
Uso el Spectaculator y no sé si éste emulador viene con dicha herramienta incluida.Hay una opción que pone Debugger, pero no sé lo que es exáctamente.

Sé que este emulador tiene multiface donde pones los pokes, o directamente en la opcion "Poke memory".

La verdad es que me gustaría encontrar los pokes por mí mismo.
El Debugger es un depurador, o lo que es lo mismo, un desensamblador en tiempo real que aparte de desensamblar te enseña el estado actual de los registros y permite además ir ejecutando el programa paso a paso para ver que es lo que hace exactamente cada parte. Es por esto que es la herramienta más importante para encontrar pokes, prácticamente imprescindible.

La Biblia del Hacker es una gran fuente de información, pero que yo recuerde se centraba sobre todo en reventar las protecciones de las cargas, no en encontrar los pokes. Hoy dia con los emuladores basta con esperar a que el programa se ejecute para poder examinarlo por dentro, así que no hay necesidad de desproteger nada.

En un principio la búsqueda de pokes se basa en localizar el código, examinarlo y modificarlo para que haga lo que tú quieras. En un principio puede parecer una locura ponerse a examinar todo el código, pero existen algunas técnicas para agilizar la búsqueda.

Por ejemplo, para encontrar un poke de vidas infinitas, graba un estado de la memoria (lo mejor sería en formato .SNA, ya que no está comprimido), cuando te maten una vida grabas otro, y cuando te maten otra vida, grabas otro. Luego compararas los archivos descartando la cabecera del .SNA y la memoria de video (que son 6912 bytes), y búsca posiciones que varían de un snapshot a otro, y dentro de esas posiciones, aquellas donde
aparezca el valor del número de vidas (o este valor menos 1), y en cada estado de la memoria debe haberse decrementado dicho valor en 1. Así conseguiras la dirección de memoria donde se guardan las vidas, y ahora es cuestión de buscar esa dirección de memoria en el código, de forma que si encuentras algo así:

ld hl,direccion_vidas
dec (hl)

o bien esto:

ld a,(direccion_vidas)
dec a
ld (direccion_vidas),a

ya has localizado la parte donde se quitan las vidas, parcheas la dirección del dec con un nop (valor 0), y ahí tienes el POKE.

Aparte del poke de vidas infinitas, es posible que este valor te valga para modificar el número inicial de vidas.

Otros pokes como el de invulnerabilidad (que suelen consistir en poner un RET (valor 201) en la rutina que comprueba la colisión con el enemigo) pueden ser más complicados.
SevenuP se escribe con u minúscula y P mayúscula.

I need Speed - Kein Aufruf zu Drogenkonsum.
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: Spectrum:Cómo buscar pokes?

Mensaje por na_th_an »

climacus escribió:Hay que enseñar a pescar, no dar el pescado...

Y los emoticonos se usan para algo...
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

Tienes razón, lo siento :oops:
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: Spectrum:Cómo buscar pokes?

Mensaje por na_th_an »

No problem, era una gracia muy mala ;)
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

Metalbrain tenia razon. La biblia del hacker era de la Microhobby y era para las protecciones. Yo me referia a la guia del hacker de Todospectrum. Es que hace muchos años.
Por cierto, cacharreando por internet encotre algunos articulos que explicaban como buscar pokes. Como ya he dicho lo perdi todo, pero no fue muy dificil poniendo en Google palabras sobre el tema en ingles.
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
climacus
8 bits
8 bits
Mensajes: 49
Registrado: 21 Oct 2011 21:48

Re: Spectrum:Cómo buscar pokes?

Mensaje por climacus »

He encontrado parte de lo que te decía.
Es interesantillo

ftp://129.241.210.18/pub/sinclair/docs/ ... -games.txt
Retroinvaders+Gimme Bright en formato físico
http://www.matranet.net/boutique/zx/zx.php

Knightmare
http://www.bytemaniacos.com/?page_id=2197
arkos
16 bits
16 bits
Mensajes: 69
Registrado: 08 Ene 2007 15:31
Ubicación: Barcelona

Re: Spectrum:Cómo buscar pokes?

Mensaje por arkos »

Pos si que es complicado buscar los pokes,si :?
Los que mas me interesaban eran los de inmunidad,ya que hay juegos que cuando te matan,por mucha vida infinita que tengas,vuelves a empezar desde el principio.

Me parece que seguiré usando los de Tipshop

Gracias a todos! :D
Responder