home *** CD-ROM | disk | FTP | other *** search
/ PCMania 64 / PCMania CD64_1.iso / phy / phy003 / files / articulo.005 < prev    next >
Encoding:
Text File  |  1997-04-12  |  1.6 KB  |  40 lines

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