012:software

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Última revisiónAmbos lados, revisión siguiente
012:software [d/m/Y H:i] – [Macedonia de trucos] miguel012:software [d/m/Y H:i] – [Antimerge] miguel
Línea 45: Línea 45:
  
 El segundo truco antiMERGE se basa en unos principios totalmente diferentes. Dado que esta instrucción está pensada originalmente para fusionar programas, es imprescindible que vaya tomando nota de los números de línea. El truco consiste en darle un número «imposible» con lo que la rutina se vuelve loca y se produce el consiguiente bloqueo. Naturalmente, hay que tener la precaución de restablecer las cosas a su estado normal antes de ejecutar el programa. Veamos un ejemplo: El segundo truco antiMERGE se basa en unos principios totalmente diferentes. Dado que esta instrucción está pensada originalmente para fusionar programas, es imprescindible que vaya tomando nota de los números de línea. El truco consiste en darle un número «imposible» con lo que la rutina se vuelve loca y se produce el consiguiente bloqueo. Naturalmente, hay que tener la precaución de restablecer las cosas a su estado normal antes de ejecutar el programa. Veamos un ejemplo:
-1 POKE 23802,0 : POKE 23613,0 + 
-2 GOTO 4 +<code basic> 
-3 POKE 23801,255 : SAVE "programa" LINE 1 : STOP +1 POKE 23802, 0: POKE 23613, 0 
-4 REM principio del programa +2 GOTO 4 
-A la hora de proteger un programa contra MERGE incluiremos estas líneas al principio del mismo y lo grabaremos haciendo GOTO 3. El POKE de esta línea tiene por objeto transformar el número de la línea 2, cambiándolo a 65282, lo que para el Spectrum es imposible, y provocará el bloqueo si intentamos hacer MERGE. Por el contraio, si utiliza- +3 POKE 23801, 255: SAVE "programa" LINE 1: STOP 
-8 MICROHOBBY +4 REM principio del programa 
-mos el LOAD normal, la ejecución comenzará en la línea 1 donde el primer POKE devolverá a la línea 2 su número normal, y el segundo es uno de los de protección que ya hemos visto. Luego la ejecución se transferirá a la línea 4 donde comienza el resto del programa. Al utilizar esta rutinita hay que tener cuidado en no modificar la línea 1 ya que alteraríamos la dirección de la segunda línea con lo que el POKE debería de tener otra dirección. Por el contrario, si utilizamos microdive hay que tener en cuenta que la zona de programa no empieza en el sitio habitual y habrá que modificar las direcciones en consecuencia. La misma advertencia es de tener en cuenta para los siguiente trucos. +</code> 
-Inofensivo y divertido+ 
 +A la hora de proteger un programa contra MERGE incluiremos estas líneas al principio del mismo y lo grabaremos haciendo GOTO 3. El POKE de esta línea tiene por objeto transformar el número de la línea 2, cambiándolo a 65282, lo que para el Spectrum es imposible, y provocará el bloqueo si intentamos hacer MERGE. Por el contrario, si utilizamos el LOAD normal, la ejecución comenzará en la línea 1 donde el primer POKE devolverá a la línea 2 su número normal, y el segundo es uno de los de protección que ya hemos visto. Luego la ejecución se transferirá a la línea 4 donde comienza el resto del programa. Al utilizar esta rutinita hay que tener cuidado en no modificar la línea 1 ya que alteraríamos la dirección de la segunda línea con lo que el POKE debería de tener otra dirección. Por el contrario, si utilizamos microdrive hay que tener en cuenta que la zona de programa no empieza en el sitio habitual y habrá que modificar las direcciones en consecuencia. La misma advertencia es de tener en cuenta para los siguiente trucos. 
 + 
 +==== Inofensivo y divertido ==== 
 Y siguiendo con nuestro panorama de trucos, vamos ahora con uno bastante inofensivo pero que siempre resulta divertido. El archifamoso de la línea 0. Muchos programadores que conocen este truco, lo emplean para crear una línea que no se puede editar y donde colocan su nombre para evitar que otra persona se apropie del programa. No nos parece mal, pero rogamos que no lo pongan en los programas que nos envían ya que luego llueven cartas de lectores justamente indignados quejándose de que no pueden introducir esta línea en su ordenador. Para ello, basta con introducir la línea con un número normal y, posteriormente, modificarlo cambiando los dos primeros bytes de la misma mediante POKEs. Toda la dificultad consiste en conocer la direccTón donde tenemos que POKEAr, si se me permite el barbaris-mo. Supongamos, por ejemplo, que en la primera línea de nuestro programa hemos puesto nuestro nombre. Basta en este caso, con hacer POKE 23756,0 para transformarla en línea 0 que no se puede modificar mientras no hagamos otro POKE para deshacer el efecto. Si el número de esta línea fuese mayor que 255, entonces necesitamos añadir POKE 23755,0 ya que estos números se codifican en dos bytes. Este truco se suele emplear en combinación con los caracteres de control de color para dejar el fondo del mismo color que la tinta con lo que el listado se vuelve invisible hasta que no editemos la línea 0 y eliminemos los caracteres de control. Recordemos que en el número 2 de MICROHOBBY se explica cómo variar los colores de las líneas del programa. Y siguiendo con nuestro panorama de trucos, vamos ahora con uno bastante inofensivo pero que siempre resulta divertido. El archifamoso de la línea 0. Muchos programadores que conocen este truco, lo emplean para crear una línea que no se puede editar y donde colocan su nombre para evitar que otra persona se apropie del programa. No nos parece mal, pero rogamos que no lo pongan en los programas que nos envían ya que luego llueven cartas de lectores justamente indignados quejándose de que no pueden introducir esta línea en su ordenador. Para ello, basta con introducir la línea con un número normal y, posteriormente, modificarlo cambiando los dos primeros bytes de la misma mediante POKEs. Toda la dificultad consiste en conocer la direccTón donde tenemos que POKEAr, si se me permite el barbaris-mo. Supongamos, por ejemplo, que en la primera línea de nuestro programa hemos puesto nuestro nombre. Basta en este caso, con hacer POKE 23756,0 para transformarla en línea 0 que no se puede modificar mientras no hagamos otro POKE para deshacer el efecto. Si el número de esta línea fuese mayor que 255, entonces necesitamos añadir POKE 23755,0 ya que estos números se codifican en dos bytes. Este truco se suele emplear en combinación con los caracteres de control de color para dejar el fondo del mismo color que la tinta con lo que el listado se vuelve invisible hasta que no editemos la línea 0 y eliminemos los caracteres de control. Recordemos que en el número 2 de MICROHOBBY se explica cómo variar los colores de las líneas del programa.
 Un truco canallesco_ Un truco canallesco_
  • 012/software.txt
  • Última modificación: d/m/Y H:i
  • por miguel