014:software

Diferencias

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

Enlace a la vista de comparación

Próxima revisión
Revisión previa
014:software [d/m/Y H:i] – creado miguel014:software [d/m/Y H:i] (actual) – [El sistema «TURBO» en clave] miguel
Línea 19: Línea 19:
 ==== Los artífices de una desprotección ==== ==== Los artífices de una desprotección ====
  
-Pablo, Santiago y Emilio, decidieron aceptar el reto de ser los primeros en desproteger un conocido programa: «De-cathlon», pero cometieron un error, quizá guiados por la alegría lógica de haber conseguido romper la «muralla Turbo», decidieron bautizar su éxito y poner su nombre en el programa. Lo que ellos no sabían es que, pasado algún tiempo, iban a aparecer gran cantidad de cintas en las que se podía leer su nombre, y lo que era más grave, éstas se estaban vendiendo en comercios dedicados a la venta de Software.+Pablo, Santiago y Emilio, decidieron aceptar el reto de ser los primeros en desproteger un conocido programa: «Decathlon», pero cometieron un error, quizá guiados por la alegría lógica de haber conseguido romper la «muralla Turbo», decidieron bautizar su éxito y poner su nombre en el programa. Lo que ellos no sabían es que, pasado algún tiempo, iban a aparecer gran cantidad de cintas en las que se podía leer su nombre, y lo que era más grave, éstas se estaban vendiendo en comercios dedicados a la venta de Software. 
 De esta forma, lo que empezó siendo un sano deseo de superar un reto, se había acabado convirtiendo en una actividad ilegal por culpa de aquellos que, sin escrúpulos, aprovecharon su amistad con ellos para conseguir copias que más tarde iban a llegar a los piratas comerciales. De esta forma, lo que empezó siendo un sano deseo de superar un reto, se había acabado convirtiendo en una actividad ilegal por culpa de aquellos que, sin escrúpulos, aprovecharon su amistad con ellos para conseguir copias que más tarde iban a llegar a los piratas comerciales.
-La piratería sigue siendo un grave pro+ 
-protección se están convirtiendo, poco a poco, en un distintivo de la calidad del programa. Estamos llegando a un punto en que antes de saber de qué va el programa, nos interesamos por el sistema de protección que lleva. +La piratería sigue siendo un grave pro [blema, los sistemas de(falta texto en el original)] protección se están convirtiendo, poco a poco, en un distintivo de la calidad del programa. Estamos llegando a un punto en que antes de saber de qué va el programa, nos interesamos por el sistema de protección que lleva. 
-Sistema Turbo+ 
 +==== Sistema Turbo ==== 
 + 
 +{{ :014:software_02.gif|El sistema Turbo: un sistema roto}} 
 El sistema Turbo es el que se ha hecho más famoso de todos, hasta el punto de que, hoy día, se hace una distinción entre los programas que incorporan este sistema y los que no. Para entenderlo mejor, se ha convertido un poco en el coco del mercado de software. El sistema, en realidad, se basa en una doble protección: a nivel Basic y de código máquina. El sistema Turbo es el que se ha hecho más famoso de todos, hasta el punto de que, hoy día, se hace una distinción entre los programas que incorporan este sistema y los que no. Para entenderlo mejor, se ha convertido un poco en el coco del mercado de software. El sistema, en realidad, se basa en una doble protección: a nivel Basic y de código máquina.
-Dentro del sistema de protección, junto a los conocidos métodos de invisibili-dad de tinta y papel, la creación de líneas 0 y la incorporación del sistema de carga rápida, hay otros tan sofisticados, como hacer el programa inmanejable desde el BASIC, o crear una línea por encima de la 9999, la máxima que admite este sistema. La rutina de carga rápida tiene además, diversas protecciones en su ejecución, en distintos puntos de la misma. Otro detalle importante es que no existe Basic en la parte de código máquina, por lo que resulta inútil buscar ningún listado. + 
-Sin embargo y, a pesar de todo esto, nuestros amigos de Zaragoza fueron dando con las claves, una por una, hasta lograr desenmascarar el misterio, y no só- +Dentro del sistema de protección, junto a los conocidos métodos de invisibilidad de tinta y papel, la creación de líneas 0 y la incorporación del sistema de carga rápida, hay otros tan sofisticados, como hacer el programa inmanejable desde el BASIC, o crear una línea por encima de la 9999, la máxima que admite este sistema. La rutina de carga rápida tiene además, diversas protecciones en su ejecución, en distintos puntos de la misma. Otro detalle importante es que no existe Basic en la parte de código máquina, por lo que resulta inútil buscar ningún listado. 
-lo eso, además, según ellos, han logrado mejorar el sistema de protección Turbo. + 
-Cuando se pusieron en contacto con nosotros, mantuvimos una larga conversación con uno de los componentes del grupo, el cual insistió en ocultar su identidad. Durante el transcurso de nuestra ENTREVISTA hizo hincapié, en repetidas ocasiones, en el hecho de que habían afrontado el reto de forma sana, sin ningún afan de lucro, y mucho menos de pirateo. Lo que si es cierto es que no hay ninguna ley que prohiba a un usuario coger el programa que ha comprado y ha- +Sin embargo y, a pesar de todo esto, nuestros amigos de Zaragoza fueron dando con las claves, una por una, hasta lograr desenmascarar el misterio, y no sólo eso, además, según ellos, han logrado mejorar el sistema de protección Turbo. 
-cer con él lo que le venga en gana, siempre y cuando no lo utilice con fines comerciales.+ 
 +Cuando se pusieron en contacto con nosotros, mantuvimos una larga conversación con uno de los componentes del grupo, el cual insistió en ocultar su identidad. Durante el transcurso de nuestra entrevista hizo hincapié, en repetidas ocasiones, en el hecho de que habían afrontado el reto de forma sana, sin ningún afan de lucro, y mucho menos de pirateo. Lo que si es cierto es que no hay ninguna ley que prohiba a un usuario coger el programa que ha comprado y hacer con él lo que le venga en gana, siempre y cuando no lo utilice con fines comerciales. 
 Hay que terminar insistiendo en la necesidad imperiosa de abaratar el software, como única medida que acabe, de una vez por todas, en el pirateo. Cuando deje de resultar rentable dejará de existir. Hay que terminar insistiendo en la necesidad imperiosa de abaratar el software, como única medida que acabe, de una vez por todas, en el pirateo. Cuando deje de resultar rentable dejará de existir.
 +
 A continuación publicamos una carta de Pablo, Santiago y Emilio en la que se dan las pistas necesarias para que los más entendidos descifren el misterio, y los menos entendidos comiencen a interesarse por el tema. A continuación publicamos una carta de Pablo, Santiago y Emilio en la que se dan las pistas necesarias para que los más entendidos descifren el misterio, y los menos entendidos comiencen a interesarse por el tema.
-EL SISTEMA «TURBO» EN CLAVE+ 
 +==== El sistema «TURBO» en clave ==== 
 Intentamos describir telegráficamente, sin orden lógico, algunos de los puntos en que se apoya el sistema. Anticipamos que tiene un doble sistema de protección: Intentamos describir telegráficamente, sin orden lógico, algunos de los puntos en que se apoya el sistema. Anticipamos que tiene un doble sistema de protección:
-a) A nivel de basic. + 
-b) A nivel de código máquina.+  * A nivel de basic. 
 +  A nivel de código máquina. 
 Los puntos en que se basa son los siguientes: Los puntos en que se basa son los siguientes:
-1.°) El BASIC cargador contiene enmascarada la rutina de carga rápida, junto con los datos de carga del programa. + 
-2.°) La rutina de carga representa la última línea (aparente) del programa BASIC. Su número de línea es superior a 9999, por lo que no se ejecuta. +  - El BASIC cargador contiene enmascarada la rutina de carga rápida, junto con los datos de carga del programa. 
-3.°) La rutina de carga está enmascarada con la función OR exclusive, de modo que cada octeto original se obtiene de hacer el OR exclusive entre dos octetos adyacentes del código enmascarado. +  La rutina de carga representa la última línea (aparente) del programa BASIC. Su número de línea es superior a 9999, por lo que no se ejecuta. 
-4.°) La rutina específica para desenmascarar la rutina de carga y trasladarla a su zona de ejecución, ocupa la zona de variables del BASIC. Su comienzo está en la dirección a la que apunta la variable VARS. +  La rutina de carga está enmascarada con la función OR exclusive, de modo que cada octeto original se obtiene de hacer el OR exclusive entre dos octetos adyacentes del código enmascarado. 
-5.°) La rutina de desenmascaramiento está, a su vez, enmascarada mediante una utilización especial del registro indexado IY. Este registro se utiliza normalmente como registro doble de 16 bits. Los códigos son los mismos que los de los registros H y L, salvo con un FD delante de cada código. +  La rutina específica para desenmascarar la rutina de carga y trasladarla a su zona de ejecución, ocupa la zona de variables del BASIC. Su comienzo está en la dirección a la que apunta la variable VARS. 
-6.°) Todas las líneas BASIC tienen número de línea 0 y PAPER 0, INK 0, ocultos o implícitos en cada lí- +  La rutina de desenmascaramiento está, a su vez, enmascarada mediante una utilización especial del registro indexado IY. Este registro se utiliza normalmente como registro doble de 16 bits. Los códigos son los mismos que los de los registros H y L, salvo con un FD delante de cada código. 
-nea. Ello los hace invisibles en el listado. +  Todas las líneas BASIC tienen número de línea 0 y PAPER 0, INK 0, ocultos o implícitos en cada línea. Ello los hace invisibles en el listado. 
-7.°) Las líneas BASIC no aportan nada esencial, salvo la 4.a, que contiene oculta, en los códigos hexa-decimales que siguen al indicativo 0E, la verdadera asignación en la pila de máquina directamente, de la dirección de retorno en caso de error, y que es la contenida en la variable VARS. +  Las líneas BASIC no aportan nada esencial, salvo la 4.a, que contiene oculta, en los códigos hexadecimales que siguen al indicativo 0E, la verdadera asignación en la pila de máquina directamente, de la dirección de retorno en caso de error, y que es la contenida en la variable VARS. 
-8.°) La puesta en marcha de todo el proceso, tiene lugar al finalizar la ejecución del BASIC, momento en el que en lugar de imprimir en pantalla el mensaje O.K., salta automáticamente al comienzo de la rutina de desenmascaramiento. +  La puesta en marcha de todo el proceso, tiene lugar al finalizar la ejecución del BASIC, momento en el que en lugar de imprimir en pantalla el mensaje O.K., salta automáticamente al comienzo de la rutina de desenmascaramiento. 
-9.°) La rutina de carga rápida tiene protecciones diversas en su ejecución. En distintos puntos de la misma, comprueba los resultados de la carga y salta a la dirección 0 de la memoria ROM si no son los esperados. Antes de saltar al comienzo del juego, se borra ella misma. +  La rutina de carga rápida tiene protecciones diversas en su ejecución. En distintos puntos de la misma, comprueba los resultados de la carga y salta a la dirección 0 de la memoria ROM si no son los esperados. Antes de saltar al comienzo del juego, se borra ella misma. 
-El programa DEC ATHLON, además, tiene una protección adicional en su código máquina: + 
-a) No tiene BASIC. Es inútil buscar ningún listado. +El programa Decathlon, además, tiene una protección adicional en su código máquina: 
-b) Sólo tiene definidas las variables del sistema que necesita el juego, como la de BORDER; por ejemplo. + 
-c) Al no estar definida la zona BASIC (puede estar definida pero vacía), el programa es inmanejable desde el BASIC; sólo puede examinarse con un monitor de código máquina o similar (Acondicionar el BASIC supondría destruir parte del juego).+  * No tiene BASIC. Es inútil buscar ningún listado. 
 +  Sólo tiene definidas las variables del sistema que necesita el juego, como la de BORDER; por ejemplo. 
 +  Al no estar definida la zona BASIC (puede estar definida pero vacía), el programa es inmanejable desde el BASIC; sólo puede examinarse con un monitor de código máquina o similar (Acondicionar el BASIC supondría destruir parte del juego).
  • 014/software.1292448410.txt.gz
  • Última modificación: d/m/Y H:i
  • por miguel