Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

**Windows Vista PANIC Pack 1**

¡Hoy en la mañana tuve una de las experiencias mas aterradoras (relacionadas con la programación) que he tenido en los últimos años!

Resulta que me llegó la notificación de que tenía que actualizar mi sistema con Windows Vista con el Service Pack 1. Luego de leer detenidamente el contrato entre cuyas amenazas no mencionaba nada como lo que me pasó. Bueno, corrí la instalación y reinicié el sistema deseoso de ver las nuevas actualizaciones que me había traido el Tio Bill Gates. Y fue ahí cuando la pesadilla comenzó:

Lo primero que apareció en la pantalla, aún antes que la barra de tareas fue una advertencia de que 3 programas de Ensamblador que habían sido detectados como virus y serían eliminados. Asustado, ejecuté el antivirus F-PROT. Esa fue la estupidez mas grande, pues esta mierda de programa identificó muchos de los ejecutables como virus y ¡los borró!. ¡En total murieron mas de 150 programas que había hecho en Ensamblador en el último año! El mismo tiempo que llevo con esta computadora. Furioso, decidí cancelar el análisis e inhabilitar el antivirus y salvar lo que pudiera. Pero cuando entraba a las carpetas donde tenía los programas… ¡Estos desaparecieron ante mis ojos!. Por suerte, los códigos fuente, que no son otra cosa que archivos de texto ascii con extensión .ASM, no fueron eliminados. Así simplemente volví a ensamblar los códigos con el FASM. ¡Pero los programas eran eliminados instantaneamente después de ser creados por el compilador! Estaba tan asustado que estuve a punto de usar restaurar sistema.

El problema fue que este no funcionó porque casi no me quedaba espacio en disco y luego de eliminar algunos gigas de video (video que dicho sea de paso no se relaciona con el Ensamblador) quise repetir la operación. ¡Pero todos los puntos de restauración habían desaparecido! Así que creyendo que ya no tenía salida, me puse a borrar muchos programas que a mi juicion no eran importantes. Entre ellos, desinstalé el F-PROT de raíz y reinicié el sistema. En espera de que algo se solucionara solo.

Afortunadamente, luego de arrancar el F-PROT de raiz, pude volver a compilar los códigos en Ensamblador y esta vez si se ejecutaron. Espero que esto sea el fin de la pesadilla y no me lleve una sorpresita cuando regrese a programar de nuevo. Espero que esto sirva de advertencia para quienes se inician en la programación en Ensamblador. Ahora la cuestión a discutir es ¿Porqué demonios los programas antivirus atacan de esa manera a los programas en Ensamblador? He aquí algunas de las respuestas, algunas oficiales y otras simples teorías:

1.- Los programas en ensamblador son extremadamente pequeños. Si alguno de ustedes ensambló el programa PEDEMO.EXE se habrá dado cuenta que el ejecutable mide ¡Menos de 3000 bytes! No megabytes, no kilo bytes, ¡BYTES! Y la mayor parte de ellos son espacio vacío necesario para que el Windows lo ejecute. Comparado con los 100 kilobytes que el mismo programa mide en C, esto es muy poco. Los antiguos virus eran así muy pequeños para poder invadir otros programas sin ser detectados. Los antivirus se confunden por este hecho.

2.- Algunos programas en ensamblador son capaces de modificarse a si mismos, se llama Códgo Automodificable y solo es hecho por algunos de los mejores programadores. Los virus atacan a los programas de este modo, integrándose a su código y modificando sus estructura. Aún recuerdo hace años un juego que escribía en su propio ejecutable las puntuaciones mas altas. En cuanto uno marcaba una puntuación, los antivirus detectaban esta actividad como peligrosa y lo borraban instantaneamente.

3.- Los compiladores de Ensamblador como el Fasm, que generan ejecutables a partir de código, tienen rutinas que manipulan los encabezados de los ejecutables de Windows. Eso es considerado por los antivirus como una actividad peligrosa.

4.- Existen funciones de la propia API de Windows que permiten descargar contenido de un sitio remoto. Con estas, uno puede descargar código de otro sitio y ejecutarlo. Los antivirus detectan esto como una amenaza, aunque un verdadero delincuente cibernético (que nada tiene que ver con un Hacker) no tendría problemas para enmascarar este tipo de llamadas a función.

5.- Porque la gente que hace los antivirus cree que nadie programa en Ensamblador y no les importa que 3 nerds se lleven sustos como el que me acabo de llevar.

La moraleja de este cuento es: Los antivirus crean mas problemas de los que resuelven a aquellos que programan en Ensamblador. Por lo que mi consejo es que desactiven los sistemas de defensa en tiempo real y efectúen análisis periódicos de su sistema de manera manual. Y antes de eso respalden toda su información relacionada con el Ensamblador en un dispositivo sin conexión a la PC. Por cierto, muchas de las herramientas de la programación son detectadas por estos antivirus como peligros potenciales.

Por cierto, todos los programas creados en el FASM eran confundidos con este virus: W32/Zbot.I.gen!Eldorado

incluso los programas recien creados por el compilador

Estos son entre muchos otros, uno de los cocos que asustan a los programadores de Ensamblador. Tendremos que vivir con eso y a quien no le guste ahí está el .NET.

enero 25, 2009 - Posted by | Uncategorized

1 comentario »

  1. Tienes razon mario, los antivirus crean mas problemas de los que solucionan, para gente como nosotros los programadores. En la empresa donde trabajo si ayudan, porque nunca falta uno que otro bestia que se pone a bajar archivos con virus, con un nombre tan obvio como foto_mujer_desnuda.jpg.exe!!! jajaja… aunque hay todo un departamento de soporte que vive de esa gente.

    Aun hoy, la gente siempre se queda sorprendida cuando me preguntan por un buen antivirus, que cual les recomiendo.. y les contesto que.. Yo no uso!!.. jaja me quitan memoria, ocupan espacio en disco, aveces no detectan bien, y siempre hay gente que me dice que les llego un virus y que utilizan no se cual antivirus….al final, cuando deben ayudarles en algo no sirven para nada…

    hace poco vino un tio mi a decirme que si podia ayudarle con su USB, porque le llego virus y desaparecieron todos los archivos… meti el USB en mi computadora, me fui a una consola de DOS y tras hacer un c:\>attrib -h -r -s *.* pude ver todos los archivos, era un virus muy bobo, porque oculta las carpetas y pone archivos ejecutables con el mismo nombre de la carpeta y con el icono de una carpeta, para eliminar el virus me basto con un c:\>del *.exe. Un virus muy simple, pero como jode en las escuelas.

    a la gente que lea este post… les recomiendo algo.. abusando de la confianza de mario y de su blog:

    1. si bajan musica, asegurense que sean solo MP3, FLV, WAV o cualquier formato de sonido, eviten siempre .EXE o enlaces a paginas

    2. si bajan peliculas, bajen solamente el archivo de la pelicula AVI, RMVB, MPEG, etc. nada de correr .EXE

    3. si bajan software pirata, traten de bajar SERIALS, evitar los cracks y los keygens, porque las paginas que los distribuyen aprovechan para meter Spyware en estos programas que algun cracker “bien intencionado” creo con mucho esfuerzo, dedicacion y con unos conocimientos de programacion muy especializados… hay muchos sitios para bajar software, pero donde los vayan a bajar, asegurence de que haya comentarios de los archivos, comentarios buenos, esto ultimo no es necesario si ya hay una cierta confianza hacia el sitio

    a este punto les recomiendo http://thepiratebay.org

    siguientos estos puntos, me he ahorrado muchos dolores de cabeza y corajes con mi windoze…

    otra alternativa es usar linux, knock out a los virus. Pero no podrian usar directx ni nanda, y la programacion en ensamblador que mario explica es mayormente para windoze.

    perdon mario por el abuso de confianza

    saludos!!

    Comentario por Puerco | abril 12, 2010 | Responder


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: