Programas TSR y los verdaderos Virus
By: Date: agosto 5, 2007 Categories: Programación

En el 2007 prácticamente podemos decir que los virus han sido extintos, los antivirus no son mas antivirus y solo conservan ese nombre. Ahora mismo los podemos catalogar como antiworms o antitroyanos cuando mucho.

Los virus, los verdaderos virus son análogos a los virus biológicos. Como sabemos los virus biológicos están en la frontera de lo vivo y lo muerto, un virus técnicamente es un autentico zombie, pero microscópico, sin funciones metabólicas básicas, requiere de una célula viva para tenerlas y reproducirse, por lo se entiende que un virus no puede autoreproducirse si no es con la ayuda de una celula que deberá infectar.

Bueno para que un virus informático tenga el honor de ser llamado virus tiene que homologar ese comportamiento, Un virus es un programa que intentara copiar su código de tal suerte que se asegure que será ejecutado para luego pasar su código a otro programa, en este caso analógico el virus invadirá a un programa (celula) transfiriendo su código para luego por medio de ese programa ejecutarse y atacar otros programas a los que intentara transferirle su código.

al inicio de los 90 cuando tenía mi flamante 80386 de 40 mghz y 4 mb de ram, un lujaso =) leí un libro de Norton, si el mismo que hace anti “virus? donde explicaba los virus que habían hasta esa fecha y el origen de los mismos, norton decía que los virus eran un experimento de laboratorio tratando de crear un programa de inteligencia artificial capaz de asegurar su propia existencia, en el libro se intentaba calmar el pánico a las computadoras, aunque usted no lo crea entre 1985 y 1990 y tal vez 1995, había gente que realmente creía que un virus informático podría infectarlos a ellos, o al revés que una persona con gripe podría infectar una computadora, algunos llegaban a creer gracias a programas de TV tipo jetson, que las computadoras eran entes pensantes y que estos nunca se “equivocaban? como si la computadora pudiera tomar la decisión más simple, en fin ahora o discutiré eso. Otro apartado del libro de norton incluía información muy útil, traía los códigos impresos, en ensamblador de los virus más terribles conocidos hasta esa época, no recuerdo si ahí vi el código del SATAN- NATAS. Lo que me causo gran interés en aprender a escribir esos programas de autonomía sorprendentes, capaz de asegurarse su propia existencia e incluso protegerla, algunos tenían métodos muy elaborados para ocultarse de los antivirus.

Los virus son algo sorprendentes para esa época, eran un reto de pericia y conocimiento elevado de programación, aun hoy los que escriben gusanos actuales, no son ni la sobra de un programador de virus, ¿por qué? Bueno porque no hace falta decir que al inicio de los 90 y antes del Windows 95, el sistema operativo importante era el simple DOS y el más popular el MS-DOS, habían otros como DR-DOS, IBM-DOS y varios Doses =) y bueno para los de la vieja escuela del PC x86 el DOS es un sistema operativo mono tarea, es decir incapaz de ejecutar más de un programa a la vez, si tenias abierto el Word, si había Word para DOS, usabas solo Word, si usabas el edit, equivalente al bloc de notas de Windows, usabas solo el edit, si querías usar otro programa tendrías que cerrar el primero y ejecutar el segundo y así. El DOS no es un sistema operativo REENTRANTE por lo que un virus tendría que ejecutarse en algunos casos al mismo tiempo que otros programas para proceder a escribir su código en los programas y archivos .EXE y .COM y eso era una tarea monumental para programarse en DOS, como hacer que un sistema operativo NO REENTRANTE ejecute más de un programa simultáneamente.

Un virus en su forma inicial básica, es un TSR y ¿Qué es un TSR? Los TSR Terminate and Stay Resident (Termina y Permanece Residente), El DOS da servicio muy básico el servicio 31h de la interrupción 21h el cual hace que el programa termine, pero quede su código en RAM, eso es lo más fácil, cualquiera puede llamar a ese servicio y mágicamente el programa se irá a RAM pero, ahora como recupero ese programa y hago que haga algo y en el caso de un virus que infecte.

Bueno, lo único cierto es que dentro de la computadora ocurren eventos que damos por sentados y la mayoría no sabe que ocurre, una computadora está plagada de interrupciones, y una interrupción no es otra cosa que dejar de hacer lo que haces y prestarle atención a un nuevo evento, por ejemplo, cada que dan un teclazo la computadora deja de hacer lo que sea que haga para atender el teclado, la cual es la interrupción 9h, el reloj también interrumpe con cada tick y el mouse al moverse y todo, todo interrumpe a todo. Aprovechándonos de esto podemos hacer que un TSR y los virus hagan un gancho o hook a las interrupciones del sistema operativo y que aprovechen a hacer, lo que estén programados para hacer en ese tiempo y devolver sin demora la interrupción original al OS

Lidear con las interrupciones es lo difícil, porque el DOS al no ser un OS reentrante, lo que significa que si lo interrumpes y modificas su vectores y servicios, pues el DOS seguirá haciendo lo que esté haciendo con valores que podrían ser falsos y…. lo catastrófico de todo esto es que si lo has interrumpido mientras escribía en el disco y le modificas sus vectores, terminara en que la información del disco duro quede dañada, permanentemente.

Pues bien un virus en el DOS tiene que lidiar con todo ese ambiente realmente hostil y tiene que hacerlo bien pues una falla y colapsaría el OS completo y con esto delatando su presencia, como ya te imaginas, escribir un verdadero virus como los de la época anterior al 1995, no era cosa fácil era cosa de expertos en programación con conocimientos del sistema operativo y del comportamiento del hardware.

En resumen un virus informatico es analógico a un virus real, lo que actualmente la mayoría llama erróneamente virus, no lo son, por que además requieren de la intervención del usuario para ejecutarse, digamos que te llega un correo con un “virus?, el usuario debe hacerle click al exe para que este se ejecute y el exe luego intentara enviarse a si mismo por correo electrónico o Messenger a otras personas, pero dependerá de que el usuario final sea tan ingenuo para ejecutarlo. Un virus, no depende del usuario, el virus se ocupa de su propia existencia y de ejecutarse para mantenerse vivo en la ram

Ese tipo de programación me gusto mucho y pues nunca me intereso hacer maldad con los virus, mis intenciones solo llegaban a ser inofensivas bromas en los centros de computo, escribía TSR molestos que dejaban mensajitos en la pantallas, pero nada que no se arreglara con un CONTROL + ALT ý Suprimir, al inicio de los 90 solo conocía 2 lenguajes, no ninguno de esos era el Basic, lenguaje de nenas, conocía el C y el Pascal ambos con compiladores de Borland, así que mis primeros desarrollos de TSR fueron hechos en esos lenguajes y mayormente en Pascal, que es una delicia programar en el, código siempre elegante.

A continuación un ejemplo de un TSR básico, uno de esos TSR de broma como los que hacia, en este caso mi TSR hara un gancho a la interrupción 9h (teclado) y cada que presione una tecla, enviara un molesto mensaje a la pantalla

** Pero esto será en otro momento

32 thoughts on “Programas TSR y los verdaderos Virus

  1. Internet Explorer 6.0 Windows XP

    yo en los años 95 cuando ya existia el win 95 recuerdo que los juegos eran ejecutados por el MS-DOS, un dia me pregunte y que pasa si selecciono todos los juegos y apreto “enter”? lo hize, la pc se quedo sin respuestas reinicie y wow, tuve que reistanlar windows ^^, eso me llevo a ser un poco mas explorador en el lenguaje de programacion, me tome el trabajo de crear un programa en Pascal para que ejecute todo lo que era de MS-DOS y los lleva por los Cybers-Cafe ^^ xD

    Buen articulo, pero mesclas muchas cosas de la vida real con la informatica.
    Recuerda, Microvirus =)

    El Dia Que Naci Celebraron En Los Cielos, Porqe Nacio El Lider De Este Movimiento.

  2. Internet Explorer 7.0 Windows Vista

    interesante artículo, desconozco si la opinión de Red-Point (será Red-Point aquel que llevaron preso? es pregunta…) sea cierta o no, ya que no conozco sobre lenguajes de programación. sin embargo, mi pregunta es, ¿que se requiere actualmente entonces para que se pueda desarrollar un auténtico virus tomando en cuenta los aances en programación y detección de códigos maliciosos? Saludos Last!

  3. Internet Explorer 7.0 Windows Vista

    En estos días ya es muy difícil lograr hacer un VIRUS, si fuera posible aun se seguirían haciendo, porque, si un virus por su característica de legitimo virus se podía reproducir y viajar por el mundo en medios lentos, como un disquete, CD que eran los medios comunes de antes del 2000, pues imagínate esos mismos virus ahora que existe el internet de banda ancha. Seria desastroso.

    Afortunadamente para nosotros un virus lleva consigo mismo en su supervivencia la semilla de su propia destrucción.

    Con inteligencia artificial heurística quedan totalmente erradicados los virus. No importa que misión tenga programada un virus, hay un patrón que siempre se repite.

    1 Código de TSR
    2 Código de infección
    3 Sede control
    Hay mas pero solo con esos 3 ya tienes el 99% de tener un virus aun sin clasificar, los antivirus heurísticos verifican el código y si se mantiene residente, intenta afectar a otros programas entonces, probablemente es un virus y lo bloqueara, algunos virus vienen encriptados, pero al final tendrán que desencriptarse para ejecutarse en código maquina y es ahí donde la heurística los encontrara y eliminara.

    Así que si huele a pollo y sabe a pollo es pollo =) si parece un virus y actúa como uno, pues es uno.

    Así que actualmente seguiremos viendo puros gusanos y troyanos, los virus prácticamente están aniquilados por que su sistema de reproducción es su misma perdición

  4. Internet Explorer 7.0 Windows Vista

    El ejemplo de un programa TSR.

    {$M $800,0,0 }   { 2K stack, no heap }

    uses Crt, Dos; (*Librerias de monitor y de Sistema operativo en
    Pascal*)
    var
      KbdIntVec : Procedure;
    {$F+}
    procedure Keyclick;
    interrupt; (*  Procedimiento keyclick que sera activado con la interruocion
    del teclado*)
    begin
      if Port[$60] < $80
    then
       
        begin

       (*Codigo del programa residente activado por teclas*)

     writeln (‘Reinicia tu PC y visita https://www.lastdragon.net =) ‘);

        end;
     
      inline ($9C);

      KbdIntVec;
    end;
    {$F-}
    begin
     
     
    GetIntVec($9,@KbdIntVec); (*Captura y respalda la info del vector original del
    teclado*)
      SetIntVec($9,Addr(Keyclick)) (*Enganchando la funcion
    keyclick al vector*);

      Keep(0); (*Llama al servicio de DOS para dejar residente el
    programa TSR*)
     
    end.

    Como notaron es codigo pascal, queria poner un video de su efecto y darles un exe compilado, pero no encontre mi compilador de pascal de borland

  5. Mozilla Firefox 2.0.0.6 Windows XP

    Hola, disculpen la ignorancia jeje pero los TSR son los programas residentes verdad?? Asu que padre poder saber tantas cosas!!!

  6. Debian IceWeasel 2.0.0.3 Debian GNU/Linux

    Buen articulo… lastima que digas que basic es de nenas… yo le tengo mucho cariño 🙁

    Hay un punto que no entiendo:

    Decís:

    En resumen un virus informatico es analógico a un virus real, lo que actualmente la mayoría llama erróneamente virus, no lo son, por que además requieren de la INTERVENCION DEL USUARIO para ejecutarse, digamos que te llega un correo con un “virus?, el usuario debe hacerle click al exe para que este se ejecute y el exe luego intentara enviarse a si mismo por correo electrónico o Messenger a otras personas, pero dependerá de que el usuario final sea tan ingenuo para ejecutarlo. Un virus, no depende del usuario, el virus se ocupa de su propia existencia y de ejecutarse para mantenerse vivo en la ram

    Ahí no estoy para nada de acuerdo… los antiguos virus tambien se ocultaban en los ejecutables.. y tambien requerian la INTERVENCION DEL USUARIO. La diferencia está en que hoy, es más común ver un archivo puramente malicioso que no haga nada más que infectar, y antes SIEMPRE venian de regalo con algun programa o juego…

    Hoy es mucho mas simple crear un programa que infecte y se propague, aunque es menos eficiente debido al extenso uso de antivirus (por lo menos, de parte de los usuarios novatos). Pero aún así, no es muy complicado escribir un codigo que mate los procesos de los antivirus comunes y luego desencripte la parte virica. Sigue siendo posible escribir un virus y me atrevo a decir que más de un malware serviria de ejemplo.

    De todas formas, coincido en casi todo y despertaste mi curiosidad respecto a estos viejos codigos… tendré que buscar y echarles un ojo (cuando el trabajo me lo permite!)

    Saludos Last Dragon, espero que pongas más articulos como este y menos tonterias hablando de mbyte (que llega a aburrir)..

    MurdeR KinG

  7. Internet Explorer 7.0 Windows Vista

    los virus infectaban EXE y COM, tambien DLLs en fin. el virus escribia su codigo dentro de estos programas, por ejemplo en el Word.exe, asi cuando abrias tu Word de Office se ejecutaba el virus, actualmente los codigos ya no vienen ocultos, todo el programa es el virus, es decir, ya no es virus es malware por que todo el exe esta diseñado para ser malo desde su codigo fuente.

    hay que tomar en cuenta que en el caso de los virus actuales, se ejecutan por la ingenuidad del usuario, un virus de archivo que son los que modifican los exe, pues estos no se ejecutaban por ingenuidad, se ejecutaban por que se tenia que trabajar en word o en cualquier otro programa. Ahora aunque esta modalidad de virus dependia un poco del usuario

    los virus mas eficientes no dependian de que el usuario ejecutara un exe infectado, los mas canijos guardaban copias o inicializadores en el MBR del disco duro o disquette, asi literalmente infectaban el disquette y/o los programas que contenia, d esta forma, con solo introducir el disquette a una computadora y leerlo, solo con eso bastaba para la infeccion por que lo primero que se lee siempre es el MBR

  8. Opera 9.22 Windows XP

    Segun tu:

    “En el 2007 prácticamente podemos decir que los virus han sido extintos, con inteligencia artificial heurística quedan totalmente erradicados los virus.”

    ahhahah no me agas reir, una vez mas si no sabes mejor CALLATE!!, no te pongas en ridiculo, la heuristica es una de las mayores mentiras de los AVs, para un buen programador no es ningun problema saltarse la heuristica. Lo de los TSR no lo se, no son de mi epoca.

    Por favor investiga antes de venir a decir estupideses Lastdragon 😉

  9. Internet Explorer 7.0 Windows Vista

    JAJAJAJAJAJa bien hecho K6U, me tengo que callar porque un lamer me lo dice, que valor te da venirme a decir eso.

    Al menos deja en tu comentario el porqué, porque la heurística es fácilmente saltable, pon código de ejemplo, al menos el concepto.

    Qué fácil es sentirse hacker y decir sandeces, así que antes de mandarme a investigar averigua que es un TSR, ¿no fue en tu tiempo? AJAJAJAJAJA. Suerte.

    Ya me imagino a todos los lamersitos que no estuvieron en la “época? felices programado keylogers usando Apis de Windows, pero si quisieran hacer un keyloger para otro sistema operativo, donde las Apis win32 no significan nada ¿acaso podrían?, si conocen el comportamiento del hardware, con un poco de imaginación el código que puse anteriormente podría ser fácilmente convertido en un keyloger de DOS y de algunos otros OS en arquitectura x86

    JAJAJAJA cualquier chango es hacker en estos días. Qué suerte que yo no soy hacker

  10. Internet Explorer 7.0 Windows Vista

    Mmmm, hay algo que no entiendo… si los virus informáticos son análogos a un virus biológico, no requieren la intervención del usuario, ya que por ejemplo, uno no decide enfermarse de gripa, o de alguna enfermedad que se transmita por el aire, por tanto, imagino que un virus informático auténtico se envía directamente a una computadora y actúa, ¿cierto? Ahora bien, si asi sucedía, ¿como ocurría la propagación? ¿se podía esocger una computadora o servidor específico o se propagaba indiscriminadamente? Saludos, y coincido con Murder, estos temas son más interesantes que hablar de otras personas…

  11. Internet Explorer 7.0 Windows Vista

    oye last, por cierto, el código que pusiste como se lo puedo aplicar a otra persona? es decir, se corta y pega en donde y como se ejecuta? como se podrá notar y lo he repetido, no sé de estas cosas, pero siempre es bueno saber un poco… gracias!

  12. Internet Explorer 7.0 Windows Vista

    Para ejecutarlo, requieres un compilador de Borland Turbo Pascal 7, no se si FreePascal también pueda compilarlo, seria cosa de que descargaras el compilador libre o consigas el BTP 7

    La infección ocurría indiscriminadamente, los medios de infección eran tan lentos como eficiente el método para propagarse.

    Lento por que no había redes como ahora que todo se conecta con todo, mayormente se propagaba con disco y una vez en la computadora se propagaba tanto como pudiera en nuevos discos que llegaran o si había red, normalmente de NOVELL vía unidad virtual, empezaba una infección en el servidor que a su vez infectaba todo lo de la red, todo esto ocurría por que el DOS no tiene protección de memoria, no hay derechos de usuario, todos son root

    Sin un buen antivirus la infección estaba asegurada, no como ahora que si no ejecutas basura no te sucede nada, en ese entonces tan solo por insertar un disquete en la disquera era suficiente para que un virus entrara en la computadora.

    Era sorprendente lo elaborado que eran esos virus creado por verdaderos genios, antes no se acuñaba el termino hacker como ahora que lo puede ostentar cualquier wey.

    Había virus que podían infectar sin modificar la CRC de un archivo que seria el equivalente al HASH MD5 actual y todo eso ocupando una cantidad misera de byte en RAM

    Alguna vez leyeron el chiste de Windows Vs Virus

    Cuando el 95 salio era tal basura de OS que hubieron canciones alusivas a eso, y chistes diciendo que Windows era un virus, contra chistes diciendo que los virus son eficientes en memoria y hacen bien sin fallar lo que fue programado en ellos y que Windows no podía ser un virus por que no era eficiente, mal gastaba ram y claro no hacia lo que tenia que hacer =)

  13. Opera 9.22 Windows XP

    Que me da valor?

    El conocimiento!! ah y tienes razon porque te vengo a decir eso, a mi no me corresponde venir a eseñarte a ti y a tus fans, lame webos o lo que sean. Me doy cuenta que niviel aqui no hay.

    Yo el lammer?
    jajajaja

    Nota: Tienes razon no eres un hacker eres lastdragon que ni un lammer es. Si fueras hacker no andarias posteando sandeces.

  14. Internet Explorer 7.0 Windows Vista

    jajaja recuerdos vienen a mi, asi que fui a google a buscar

    – ?Cual es el virus mas extendido del mundo?
    – El sistema MS-DOS.
    – ?Pero no era el Windows 95?
    – No, los virus hacen algo.

    ——————————————————————————

    ¿Es Windows un virus?

    Despues de un profundo estudio, encontramos que necesitamos realizar
    una simple pregunta del sistema operativo Windows, y adjuntamos nuestra
    conclusion basica…

    Pregunta : Es Windows un virus ?

    Respuesta :

    No, Windows no es un virus. He aqui lo que los virus realizan…

    1. Los virus se replican rapidamente… ok, Windows tambien lo hace.
    2. Los virus agotan rapidamente los recursos de sistema, haciendo el s
    istema mas lento… ok, Windows tambien lo hace.
    3. Los virus de vez en cuando acaban con el disco duro. Ok, Windows tambien lo hace.
    4. Los Virus son usualmente transportados (sin que el usuario se de cuenta ),
    tambien con valiosos programas y sistemas. oh oh, Windows tambien hace
    lo mismo.
    5. Los Virus ocacionalmente hacen creer al usurio que sus sistema es
    muy lento (ver 2) y el usuario tendra que comprar nuevo equipo. uups,
    Windows tambien….

    Atencion, tal vez Windows es un Virus.

    No, hay una diferencia !!!!

    Los virus estan muy bien soportados por sus autores, son frecuentemente
    actualizados y tienden a convertirse en codigo mas sofisticado cuando
    maduran.

    Entonces señores/as, hay una conclusión… Windows NO es un Virus.

    —————————————————————–

    Esto es un experimento de los americanos de comprobar si es perjudicial para la salud estar mas de 3 meses frente a un ordenador, de modo que se introducen 3 ratas en una cupula frente a un ordenador durante 3 meses.

    Resultado del experimento:
    -Test superado
    -Disfunciones 0
    -Observaciones: se han creado 4 versiones mejoradas de Windows 95

  15. Internet Explorer 7.0 Windows Vista

    Ku6

    En mi epoca la que tu novato obviamente no viviste, todo se arreglaba con un

    Show me the Code.

    Anda muestrame tu conocimiento y te dire que tan lamer eres.

    Deberia existir una ley anti lamers, ojo, no hacker, anti lamers

  16. Internet Explorer 6.0 Windows XP

    Aplicale la de hielo David jajaja .

    Recuerdo cuando usaba W95 y W98 los virus castrosos de esa epoca eran el que entraba residente en raiz (C:\ ) y duplicaba informacion a mas no poder, saturandote el disco duro, nada ofensivo, solo la molestia, y el mas actual fue el Blaster y el Sasser, no fueron virus, fueron gusanos, pero como castraban.

  17. Internet Explorer 7.0 Windows Vista

    Despues de 5 años del Blaster aun quedan remanentes de el, aun tengo los primeros discos de Windows 2003 y el disco de mi XP sin service Pack, tambien un Windows 2000 Server creo que anterior al Service Pack 4, en fin

    si esos OS son instalados en una pc con conexion homologada a internet y sin firewall no duran ni 5 minutos y se infectan de blaster, aun me resulta increible que quede remanente de esos gusanos, de entre los gusanos son los mas cercanos a un virus autentico y tal vez podrian ser considerados legitimos virus de internet

  18. Internet Explorer 7.0 Windows Vista

    ya que estamos entrados en el tema, cuáles han sido los virus más famosos y los que mas daño han causado? digo, solo por cultura general…

  19. Debian IceWeasel 2.0.0.3 Debian GNU/Linux

    A día de hoy sigue siendo posible infectar un exe… por ende, siguen existiendo los virus. Es más, hoy día hay codigos tan sofisticados que ni siquiera pudieron soñarlo en la epoca de DOS. Sino que me digan a mi…

    No se puede generalizar tanto.

  20. Mozilla Firefox 2.0.0.6 Windows XP

    Koincido kon Murder

    “Saludos Last Dragon, espero que pongas más articulos como este……..”

    Aunke klaro tu eres el dueño de la pagina y tu sabes lo ke haces….

  21. Internet Explorer 7.0 Windows Vista

    El tema de la infección del EXE fue un tema algo extenso tratado en el MSG con Murder, pero bueno, el habla de Joiners para juntar 2 exe, pero pues eso es intervención, requiere de alguien que haga la unión de los 2 archivos EXE, el virus no requiere eso.

    En fin, si entendí el punto de Muder, que muchos de las características de los virus siguen vigentes, por separados y es cierto por separado sigue ahí, pero, el virus debe poder hacerlo el solo y por supuesto debe ser autónomo, no requerir de auxilio externo

  22. Internet Explorer 7.0 Windows Vista

    oye last, pues a ver si tienes chance de conseguir tu compilador para poder ver el efecto de tu script… saludos!

  23. Internet Explorer 7.0 Windows Vista

    o sea, lo que hace el script es anular cualquier función al repetirse de manera ininterrumpida cuando activas cualquier tecla? si le quiero hacer esa bromita a un amigo imagino que debo descargar el programa, instalarlo en su maquina y ejecutar el script? saludos! está chido el video…

  24. Internet Explorer 7.0 Windows Vista

    ja! se perdió mi comentario, sin querer cliquee dos veces. rapido pregunto otra vez: para aplicarle esto a un amigo necesito compilar el programa y ejecutar el script en su máquina? o es necesario algun SO en específico? solo quiero ver como funciona en vivo y en directo, yo no podría programar algo así… jeje, está chido el video…

  25. Internet Explorer 7.0 Windows Vista

    byrus

    No tendria mucho sentido ahora mismo instalarlo en alguna maquina, como sea solo es un TSR sin ninguna capacidad de infeccion y su efecto solo se ve en la consola de simbolo del sistema, GRAN DESCONOCIDA para la mayoria de usuarios actualmente, aunque algo similar se podria programar usando las apis win32 para que ocurra algo similar dentro de Windows

    este TSR no pasa de ser un simple ejercicio el EXE esta ahi solo para probarse lo que hubiera sido una buena broma que no dejaria trabajar a nadie al inicio de los 90, donde los programas importantes no eran windows, sino de DOS

Responder a MurdeR Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *