{"id":152,"date":"2007-08-05T01:02:45","date_gmt":"2007-08-05T07:02:45","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=152"},"modified":"2007-08-05T01:02:45","modified_gmt":"2007-08-05T07:02:45","slug":"programas-tsr-y-los-verdaderos-virus","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=152","title":{"rendered":"Programas TSR y los verdaderos Virus"},"content":{"rendered":"<p>En el 2007 pr\u00e1cticamente 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.<\/p>\n<p>Los virus, los verdaderos virus son an\u00e1logos a los virus biol\u00f3gicos. Como  sabemos los virus biol\u00f3gicos est\u00e1n en la frontera de lo vivo y lo muerto, un virus t\u00e9cnicamente es un autentico zombie, pero microsc\u00f3pico, sin funciones metab\u00f3licas b\u00e1sicas, requiere de una c\u00e9lula 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\u00e1 infectar.<\/p>\n<p>Bueno para que un virus inform\u00e1tico tenga el honor de ser llamado virus tiene que homologar ese comportamiento,  Un virus es un programa que intentara copiar su c\u00f3digo de tal suerte que se asegure que ser\u00e1 ejecutado para luego pasar su c\u00f3digo a otro programa, en este caso anal\u00f3gico el virus invadir\u00e1 a un programa (celula) transfiriendo su c\u00f3digo para luego por medio de ese programa ejecutarse y atacar otros programas a los que intentara transferirle su c\u00f3digo.<\/p>\n<p>al inicio de los 90 cuando ten\u00eda mi flamante 80386 de 40 mghz y 4 mb de ram, un lujaso =) le\u00ed un libro de Norton, si el mismo que hace anti \u201cvirus?? donde explicaba los virus que hab\u00edan hasta esa fecha y el origen de los mismos, norton dec\u00eda 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\u00e1nico a las computadoras, aunque usted no lo crea entre 1985 y 1990 y tal vez 1995, hab\u00eda gente que realmente cre\u00eda que un virus inform\u00e1tico podr\u00eda infectarlos a ellos, o al rev\u00e9s que una persona con gripe podr\u00eda 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 \u201cequivocaban?? como si la computadora pudiera tomar la decisi\u00f3n m\u00e1s simple, en fin ahora o discutir\u00e9 eso.  Otro apartado del libro de norton inclu\u00eda informaci\u00f3n muy \u00fatil, tra\u00eda los c\u00f3digos impresos, en ensamblador de los virus m\u00e1s terribles conocidos hasta esa \u00e9poca, no recuerdo si ah\u00ed vi el c\u00f3digo del SATAN- NATAS. Lo que me causo gran inter\u00e9s en aprender a escribir esos programas de autonom\u00eda sorprendentes, capaz de asegurarse su propia existencia e incluso protegerla, algunos ten\u00edan m\u00e9todos muy elaborados para ocultarse de los antivirus.<\/p>\n<p>Los virus son algo sorprendentes para esa \u00e9poca, eran un reto de pericia y conocimiento elevado de programaci\u00f3n, aun hoy los que escriben gusanos actuales, no son ni la sobra de un programador de virus, \u00bfpor qu\u00e9? 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\u00e1s popular el MS-DOS, hab\u00edan 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\u00e1s de un programa a la vez, si tenias abierto el Word, si hab\u00eda Word para DOS, usabas solo Word, si usabas el edit, equivalente al bloc de notas de Windows, usabas solo el edit, si quer\u00edas usar otro programa tendr\u00edas que cerrar el primero y ejecutar el segundo y as\u00ed. El DOS no es un sistema operativo REENTRANTE por lo que un virus tendr\u00eda que ejecutarse en algunos casos al mismo tiempo que otros programas para proceder a escribir su c\u00f3digo 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\u00e1s de un programa simult\u00e1neamente.<\/p>\n<p>Un virus en su forma inicial b\u00e1sica, es un TSR y \u00bfQu\u00e9 es un TSR? Los TSR Terminate and Stay Resident (Termina y Permanece Residente), El DOS da servicio muy b\u00e1sico el servicio 31h de la interrupci\u00f3n 21h el cual hace que el programa termine, pero quede su c\u00f3digo en RAM, eso es lo m\u00e1s f\u00e1cil, cualquiera puede llamar a ese servicio y m\u00e1gicamente el programa se ir\u00e1 a RAM pero, ahora como recupero ese programa y hago que haga algo y en el caso de un virus que infecte.<\/p>\n<p>Bueno, lo \u00fanico cierto es que dentro de la computadora ocurren eventos que damos por sentados y la mayor\u00eda no sabe que ocurre, una computadora est\u00e1 plagada de interrupciones, y una interrupci\u00f3n no es otra cosa que dejar de hacer lo que haces y prestarle atenci\u00f3n 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\u00f3n 9h, el reloj tambi\u00e9n interrumpe con cada tick y el mouse al moverse y todo, todo interrumpe a todo. Aprovech\u00e1ndonos 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\u00e9n programados para hacer en ese tiempo y devolver sin demora la interrupci\u00f3n original al OS<\/p>\n<p>Lidear con las interrupciones es lo dif\u00edcil, 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\u00e1 haciendo lo que est\u00e9 haciendo con valores que podr\u00edan ser falsos y\u2026. lo catastr\u00f3fico de todo esto es que si lo has interrumpido mientras escrib\u00eda en el disco y le modificas sus vectores, terminara en que la informaci\u00f3n del disco duro quede da\u00f1ada, permanentemente.<\/p>\n<p>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\u00eda el OS completo y con esto delatando su presencia, como ya te imaginas, escribir un verdadero virus como los de la \u00e9poca anterior al 1995, no era cosa f\u00e1cil era cosa de expertos en programaci\u00f3n con conocimientos del sistema operativo y del comportamiento del hardware.<\/p>\n<p>En resumen un virus informatico es anal\u00f3gico a un virus real, lo que actualmente la mayor\u00eda llama err\u00f3neamente virus, no lo son, por que adem\u00e1s requieren de la intervenci\u00f3n del usuario para ejecutarse,  digamos que te llega un correo con un \u201cvirus??, el usuario debe hacerle click al exe para que este se ejecute y el exe luego intentara enviarse a si mismo por correo electr\u00f3nico o Messenger a otras personas, pero depender\u00e1 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<\/p>\n<p>Ese tipo de programaci\u00f3n 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\u00eda TSR molestos que dejaban mensajitos en la pantallas, pero nada que no se arreglara con un CONTROL + ALT \u00fd Suprimir, al inicio de los 90 solo conoc\u00eda 2 lenguajes, no ninguno de esos era el Basic, lenguaje de nenas, conoc\u00eda el C y el Pascal ambos con compiladores de Borland, as\u00ed que mis primeros desarrollos de TSR fueron hechos en esos lenguajes y mayormente en Pascal, que es una delicia programar en el, c\u00f3digo siempre elegante.<\/p>\n<p>A continuaci\u00f3n un ejemplo de un TSR b\u00e1sico, uno de esos TSR de broma como los que hacia, en este caso mi TSR hara un gancho a la interrupci\u00f3n 9h (teclado) y cada que presione una tecla, enviara un molesto mensaje a la pantalla<\/p>\n<p>** Pero esto ser\u00e1 en otro momento<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el 2007 pr\u00e1cticamente 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\u00e1logos a los virus biol\u00f3gicos. Como sabemos los virus biol\u00f3gicos est\u00e1n en la frontera de&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-152","post","type-post","status-publish","format-standard","hentry","category-programacion"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=152"}],"version-history":[{"count":0,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/152\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}