home *** CD-ROM | disk | FTP | other *** search
- *cX Low Level (II)
- *c^
- Los efectos sencillos suelen ser los más
- graciosos (eso dicen al menos :) Buscando en
- nuestros discos hemos encontrado este efecto
- basado en un virus que cambia las letras *cOA*c^
- por *cOO*c^ y viceversa produciendo un efecto de
- extrañeza en el usuario que tarda en darse
- cuenta del error ya que no lee los mensajes
- de pantalla porque se los sabe de memoria.
- No es un código dificil, ni mucho menos,
- pero resulta interesante llegar a compren-
- derlo ya que juega con puntos en la progra-
- mación en assembler que de vez en cuando se
- olvidan (como la sobrescritura de código,
- redireccionamiento de interrupciones, etc).
- Lo primero que se hace es coger y guardar
- el VI de la *cAINT 10h*c^ utilizando la *cAINT 21h*c^ y
- almacenandolo directamente en el código del
- programa para no tener que hacer un *cvJMP DWORD
- PTR*c^. Luego mete su própio vector de interrup-
- ción para activar su subrutina y se queda
- residente en memoria. Tambien es de reseñar
- la facilidad con que se queda en memoria com-
- parando con lo que se complican la existencia
- ciertos programas "profesionales" que se
- cuelgan a cada 2x3.
- La subrutina que se encarga de manejar la
- *cAINT 10h*c^ simplemente comprueba que se use una
- de las funciones de escritura en pantalla
- para ver si tiene que intercambiar el código
- del caracter a mostrar para luego regresar
- al anterior servicio de interrupción.
- A parte de este pedazo de código hay un
- regalito que tambien le hemos estirpado a uno
- de esos pequeños ingenios electrónicos. Hasta
- el próximo número!
-
- *cG Navi Dj.
-