Adventurer #06: Intercambio de Experiencias: Métodos de Protección de Código

┌─────────────═══════════════───────────┐  
╠─── Métodos de protección del código fuente ───╣
└─────────────═══════════════───────────┘

Artículo de revisión

En la actualidad existen varios métodos de protección del código fuente. Los enumeraré.

1. Protección por inversión de máscara. (En lenguaje coloquial - "КСОРКА")
Método ampliamente conocido y utilizado. A menudo se usa aplicando el registro R como máscara y se caracteriza por una rareza escasa, aunque de vez en cuando se encuentran verdaderas obras maestras de programación. Poco efectivo, aunque a menudo se requiere bastante tiempo para romperlo. Un ejemplo brillante de uso: el copiador L-Copy (autor: Лаптев).

2. Protección mediante diferentes "perversiones".
"La perversion" - código escrito utilizando algoritmos intencionadamente enredados, con el objetivo de ocultar la dirección directa de ejecución de algún subprograma o enredar el propio programa. Se caracteriza por un número ilimitado de variantes, pero se utiliza relativamente poco, ya que está diseñado para un conocimiento débil de ensamblador y principios de programación. Actualmente es poco efectivo. Los ejemplos se encuentran en todas partes, por ejemplo: manipulaciones con la pila, saltos condicionales y salida "implícita" a través de la pila a la dirección deseada.

3. Método utilizando código PI o variantes de código embebido.
El código PI - ensamblador para una máquina abstracta, una especie de etapa intermedia entre el código máquina y un lenguaje de alto nivel. El código embebido - una variante específica del mismo código PI.
Un método de protección muy potente, en general, similar al método 2, pero que se aplica exclusivamente rara vez en PC de clase Spectrum. Desventaja: un tamaño de código "considerable" y un rendimiento más bajo que el del código "limpio". La efectividad del método es muy alta y solo programadores muy experimentados pueden romperlo. Ejemplo: cualquier programa compilado en Pascal, lenguaje Forth. En Spectrum, dicho código puede ser generado por el compilador BLAST (los demás generan "perversiones", ver arriba).

4. Método utilizando algoritmos criptográficos y contraseñas.
Método ampliamente utilizado en potentes PC y en diversas "oficinas" de espionaje. Se basa en los más diversos algoritmos matemáticos, cuyo objetivo es, mediante cálculos complejos, obtener de un bloque de información original y un conjunto clave (contraseña) un archivo que solo puede ser descifrado por quien tenga esa contraseña. Romper un archivo así solo se puede hacer después de estudiar unos cuarenta kilos de literatura matemática especializada, tras lo cual puedes proponer tu candidatura para el puesto de director de la CIA. En Spectrum es ineficaz, ya que la contraseña no se puede mostrar a nadie más que a uno mismo, de lo contrario, en un par de días, todo el país la conocerá.

5. Método basado en el uso de IM2.
A diferencia de los anteriores, no me ha tocado, así que explico de manera teórica. Se basa en la "vinculación" del programa principal y el ISR (del inglés - "rutina de servicio de interrupción" - Interrupt Service Routine) con el fin de organizar el control (por ejemplo, calcular una suma de verificación) del programa principal en busca de intrusiones externas. Aquí se abre un amplio campo para experimentos. Se puede, por ejemplo, organizar la transferencia de datos a través del ISR de un conjunto de datos a otro o utilizar el ISR para codificar dinámicamente subprogramas no utilizados en ese momento, etc. La complejidad del método radica en la necesidad de un profundo trabajo y "vinculación" de los algoritmos del ISR y del programa, para evitar errores y retrasos en el funcionamiento del programa debido al trabajo aperiodico del ISR, relacionado con la dificultad de determinar el tiempo de DI a EI. Método muy prometedor y con gran potencial.

Se piensa que todas las demás variantes de protección del código fuente son no más que casos particulares de los anteriores o sus combinaciones. El uso de comandos no documentados de Z80 no se incluye en el artículo por una razón trivial: últimamente son prácticamente bien conocidos por todos.

Estaré encantado de recibir cualquier información sobre métodos de protección de información y colaboración en este ámbito.
Шпинев Роман Евгеньевич (SHRSOFT).

───────────────────────

Contenido de la publicación: Adventurer #06

  • Presentación
    Esta es una novela de introducción al juego Return to Home 4, que presenta batallas espaciales y una narrativa sobre el piloto Raifus navegando desafíos en un contexto militar.
  • Presentación
    El artículo presenta el nuevo juego de K.KAV software 'DEATH WORLDS: TORISTAG INVADERS RETURN TO HOME 5', una secuela de estrategia en tiempo real de 'RTHЧ'. Los jugadores lucharán contra competidores en planetas ricos en recursos mientras gestionan tecnología y fuerzas militares. La fecha de lanzamiento proyectada es entre finales de primavera y verano de 1997.
  • Actualizaciones de Software del Sistema para ZX Spectrum - Котов А.В.
    El artículo revisa varias actualizaciones y utilidades de software para ZX Spectrum, destacando sus características, facilidad de uso y rendimiento. Proporciona información sobre herramientas de programación, gestión de discos y aplicaciones de bases de datos. El tono mezcla crítica y experiencia personal para informar a los lectores sobre los últimos desarrollos en el software Spectrum.
  • Resumen del Software ZX Spectrum
    El artículo ofrece una visión general del nuevo software para ZX Spectrum, destacando varios juegos, sus características y recomendaciones para los jugadores.
  • Interfaz
    Discusión sobre los problemas de interfaz del ZX Spectrum y las frustraciones de los usuarios con la compatibilidad y las mejoras modernas. El autor critica la presión para que los usuarios modifiquen sus máquinas para características no estándar y expresa insatisfacción con las tendencias actuales. Reflexión sobre el futuro del ZX Spectrum y la necesidad de una mayor participación de la comunidad.
  • Interfaz
    El artículo discute comentarios de los lectores sobre juegos y herramientas de programación para ZX Spectrum. Incluye trucos para un juego, opiniones sobre ensambladores y perspectivas sobre las preferencias de los usuarios para la computación. También se abordan varias consultas de los lectores sobre juegos y software.
  • Interfaz
    El artículo trata sobre los problemas que rodean a OVER FILE GROUP, un desarrollador de juegos conocido por sus ventas por correo, y el impacto en la confianza del usuario en la distribución de software. También plantea la cuestión de si transformar la revista en 128K ONLY, buscando la opinión de los lectores. La pieza refleja la importancia del apoyo del usuario para mantener una comunidad de juegos confiable.
  • Interfaz
    El artículo discute noticias recientes en la comunidad de ZX Spectrum, incluidas actualizaciones sobre el desarrollo de juegos, noticias personales sobre desarrolladores y eventos locales en las áreas de Rybinsk y Yaroslavl.
  • Presentación
    El artículo presenta nuevos lanzamientos de software por SURDAKAR GROUP, incluyendo una demo de ROAD FIGHTER y actualizaciones sobre FONT EDITOR y RAY DISK MONITOR.
  • Promoción de Juegos de Aventura
    El artículo ofrece un análisis detallado de los juegos de aventura 'APOLLO' y 'ЧУЖОЙ', evaluando su jugabilidad, desafíos y deficiencias en el diseño.
  • Ottyag
    Discusión sobre la jerga informática y su impacto en el lenguaje moderno, destacando interacciones humorísticas entre los usuarios.
  • El Desbordamiento
    El artículo presenta una colección humorística de listas absurdas, incluyendo razones para la extinción de los dinosaurios, nombres alternativos para el viernes de Robinson Crusoe y más.
  • Ottyag
    El artículo presenta una prueba para aspirantes a creadores de demos, evaluando sus habilidades y compromiso con la creación de demos en el ZX Spectrum. Evalúa sus enfoques hacia la música, gráficos, efectos y su compromiso general con la escena de demos. Los resultados determinan su nivel desde novato hasta experto en la comunidad de demoscene.
  • Qué No Decir o Hacer Cuando Estás Borracho
    El artículo ofrece consejos humorísticos sobre qué evitar decir o hacer cuando se está borracho, basado en anécdotas personales. Enfatiza las consecuencias de decisiones imprudentes y ofrece consejos de precaución. El contenido es ligero y refleja comportamientos típicos de borrachos y sus repercusiones.
  • Cuestionario sobre la amistad
    El artículo presenta un cuestionario humorístico sobre la amistad, evaluando cómo reaccionarían los amigos en diversas situaciones sociales, culminando en un sistema de puntuación para evaluar la profundidad de las amistades.
  • Ottag
    El artículo es una colección de proverbios chinos con un trasfondo humorístico que refleja diversos aspectos de la vida y las relaciones. Combina elementos de sátira y folclore ligero, utilizando observaciones irónicas sobre el comportamiento humano. El texto incluye alusiones a la sexualidad, juegos de mesa y cuestiones religiosas.
  • El desmadre
    El artículo es un evangelio paródico que presenta los eventos de la vida de Jesucristo en un tono informal y humorístico.
  • Compartiendo Experiencias
    El artículo ofrece una guía detallada sobre cómo crear una versión completa en disco de un programa para ZX Spectrum, incluyendo ejemplos de código y consejos prácticos.
  • Intercambio de Experiencias
    El artículo ofrece un análisis comparativo de las plataformas PC y Amiga, destacando sus respectivas ventajas y desventajas según la experiencia personal.
  • Intercambio de Experiencia
    El artículo discute la existencia y el comportamiento de virus informáticos en el ZX Spectrum, especialmente el virus que infecta archivos BASIC conocido como 'Djinn ebrio', visto por primera vez en el juego Last Battle.
  • Métodos de Protección de Código
    El artículo discute varios métodos de protección del código de software, detallando técnicas como enmascaramiento por inversión, ofuscación, P-código, algoritmos criptográficos y el uso de ISR. Cada método se evalúa por su efectividad y aplicación, particularmente en el entorno de ZX Spectrum. El autor invita a más información y colaboración sobre métodos de seguridad de la información.
  • Aniversario
    El artículo celebra el sexto número de 'ADVENTURER,' marcando un año desde la fundación del grupo AURYN. Reflexiona sobre el año pasado para la comunidad Speccy, incluyendo la aparición de nuevos programas y la primera reunión de demomakers en la CEI. El autor expresa esperanza por el futuro de Speccy y anima a los lectores a apoyar y promover la plataforma.
  • Aniversario
    El artículo celebra el 15º aniversario del Spectrum, reflexionando sobre su legado perdurable y los recientes desarrollos en hardware y software.
  • Novela
    El artículo narra una novela centrada en una misión encubierta que involucra a un programador llamado Gerald O'Brien, quien es contratado por un narcotraficante llamado Swede para infiltrar la red informática de un rival, lo que lleva a una emocionante secuencia de espionaje y violencia.
  • Concurso
    El artículo discute un concurso relacionado con ZX Spectrum, mostrando presentaciones y la creatividad de los participantes.
  • Publicidad
    El artículo es una sección de publicidad en Adventurer #06, invitando a hackers, programadores, artistas y músicos a contribuir a la comunidad de ZX Spectrum. Describe oportunidades de colaboración, ofrece requisitos específicos para envíos de software e incluye información de contacto para publicidad y distribución de juegos. Además, promueve una variedad de software y servicios de ZX Spectrum disponibles en diferentes ciudades.