Código fuente del primer vídeo juego de aventura conversacional

  • June 4, 2017
  • tuxotron
  • Captura de pantalla de Colossal Cave Adventure

    Captura de pantalla de Colossal Cave Adventure

    Inspirado en DND (Dungeons & Dragons) (1974-75) y Hunt the Wumpus (1972), Colossal Cave Adventure es considerado el primer vídeo juego conversacional de la historia. Fue el primero en su categoría en usar análisis de lenguaje natural para llevar a cabo conversaciones con el jugador.

    Eric S. Raymond ha rescatado y publicado con el permiso de su autor el código fuente de Colossal Cave Adventure. El código publicado corresponde a la versión 2.5 del juego que fue lanzado en 1995, pero éste fue originalmente desarrollado en 1976 por William Crowther y más tarde extendido por el mismo autor y Don Woods, escrito en FORTRAN sobre un PDP-10.

    El código es sin duda alguna una pieza de museo y es muy interesante ver cómo los programadores resolvían ciertos problemas. Si le echas un vistazo al código fuente, verás que está muy bien documentado, pero también esta lleno de GOTOs por todos lados.

    Eric S. Raymond no sólo ha publicado el código por motivos históricos, sino que además quiere limpiarlo, entre otras cosas quitar los GOTOs y mejorarlo. Al proyecto le ha dado el nombre de Open Adventure, básicamente el objetivo final es crear un versión Open Source de dicho juego.

Desarrollo de Aplicaciones con Swift

  • May 31, 2017
  • tuxotron
  • App development with Swift

    App Development with Swift

    Apple ha publicado un libro gratuito sobre desarrollo de aplicaciones usando Swift. El libro, App Development with Swift, no sólo se centra en Swift, sino también en principios básicos sobre programación, herramientas usadas para el desarrollo de aplicaciones en iOS y buenas prácticas de programación.

    El lector irá aprendiendo todos estos conceptos mediante la creación de 5 aplicaciones, desde el desarrollo de una linterna, al desarrollo de una aplicación de compras que se comunica con un servidor web.

    El libro está divido en 6 secciones:

    1. Getting Started with App Development
    2. Introduction to UKit
    3. Navigation and Workflows
    4. Tables and persistence
    5. Working with the web
    6. Prototyping and Project Planning

Explotación de la memoria dinámica

  • May 29, 2017
  • tuxotron
  • Heap Exploitation

    Heap Exploitation

    De manra muy simple, la memoria dinámica es aquella que se maneja en tiempo de ejecución. A esta sección de la memoria se le conoce como Heap. Al igual que la pila (Stack), el Heap también puede ser abusado para ganar control sobre la ejecución de un proceso, y a esto se le conoce como Heap Exploitation.

    La forma de explotar el Heap es muy distinta a la de explotar la pila, y algo más complicada. Además, con las protecciones ofrecidas por los sistemas operativos modernos para proteger la ejecución de código en el segmento de memoria destinado a la pila, la explotación del Heap es prácticamente nuestra única técnica de explotación de la memoria.

    Para aprender más sobre este tipo de técnicas, sólo tienes que preguntar al sabio, pero aquí os dejamos una referencia a un libro (Gitbook) que se acaba de publicar, de hecho, no está terminado aún, pero contiene bastante información:

    Heap Exploitation

    Dicho libro está dividido en 3 secciones: la primera nos enseña cómo la librería glibc maneja la memora, se centra en el uso de las funciones raciones malloc y free. En la segunda, da un repaso a las técnicas más conocidas de la explotación de la memoria dinámica, y la tercera nos da algunos consejos de programación segura, para que nuestro código esté a prueba de este tipo de ataques.