Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Alvarito050506

#1
Hola a todos,

Tengo una biblioteca dinámica que intercepta algunas llamadas al sistema como fopen, sendto, recvfrom, etc. Por ahora me las arreglo usando LD_PRELOAD para cargarla, pero me preguntaba si no hay alguna técnica más "limpia" de hacer esto. Es decir: el programa que estoy modificando de por sí usa LD_PRELOAD para compatibilidad entre distribuciones, y no me gustaría arruniar algo de esto, preferiría modificar el  binario en sí.

Si sirve de algo, el binario es un ELF 32bits ARMv7 y es relativamente fácil de parchear.

Saludos y muchas gracias.
#2
Hola a todos.

Estoy desarrollando una función hash y quiero probarla, al parecer mis scripts de pruebas no funcionan, ya que estuve semanas con una función que creía que 'A' == 'P' sin darme cuenta...  :rolleyes:

He aquí mi duda: ¿hay algún programa que implemente (todas) las pruebas de la competición SHA-3 del NIST sobre la función hash especificada?

Muchas gracias de antemano.
#3
Scripting / Antivirus en Batch
24 Febrero 2019, 22:18 PM
Hola a todos, este es mi segundo tema en el foro y el primero en la sección "Scripting".

Hace un tiempo -dos días para mi son "un tiempo"- que vengo trabajando en un cleaner o antivirus para memorias externas (pendrives, USBs, tarjetas SD, miniSD y microSD, etc.). Este pequeño programa escrito en Batch limpia y vacuna el dispositivo de almacenamiento externo, detecta si hay malware alojado en él y, si es así, realiza las acciones necesarias para eliminarlo.

Mi programa es muy simple, se ejecuta en la consola de Windows y ni siquiera posee interfaz gráfica. Pronto le agregaré una de estas, que permitirá que tenga más opciones de configuración.

A continuación les dejo el código fuente.
Código (dos) [Seleccionar]
@echo off
title Advanced USB Batch Antivirus
color F0

echo Bienvenido a AUBA (Advanced USB Batch Antivirus).
echo ADVERTENCIA: Este programa puede borrar contenido o información importante. Úselo bajo su propio riesgo.

set /p init=¿Desea continuar? [s/N]
if not %init% == s (
cls
goto end
) else (
cls
)

set /p unit=Ingrese a continuación la letra de la unidad que desea analizar

echo Cambiándole los atributos a los archivos...
attrib /d /s -r -h -s %unit%:\*

if exist %unit%:\*.lnk (
echo Eliminando los archivos de tipo MIME application/x-ms-shortcut...
del /f %unit%:\*.lnk
)

if exist %unit%:\autorun.inf (
echo Eliminando el archivo autorun.inf...
del /f %unit%:\autorun.inf
)

if exist %unit%:\Recycler.exe (
echo Virus detectado: Win32:Folder/RECYCLER_BIN
echo Eliminando el virus Win32:Folder/RECYCLER_BIN...
del /f %unit%:\Recycler.exe
)

if exist %unit%:\Desktop.ini (
echo Eliminando el archivo Desktop.ini...
del /f %unit%:\Desktop.ini
)

if exist %unit%:\mugen.vbs (
echo Virus detectado: Win32:VBS/Mugen
echo Eliminando el virus Win32:VBS/Mugen...
del /f %unit%:\mugen.vbs
)

if exist %unit%:\eicar.* (
echo Archivo de prueba detecado: DOS:Test/EICAR_Test_File
echo Eliminando el archivo de prueba DOS:Test/EICAR_Test_File...
del /f %unit%:\eicar.*
)

if exist %unit%:\*update.vbs (
echo Troyano detectado: Win32:VBS/Update_Downloader
echo Eliminando el troyano Win32:VBS/Update_Downloader...
del /f %unit%:\*update.vbs
)

if exist %unit%:\runauto\ (
echo Eliminando la carpeta runauto...
rmdir /s %unit%:\runauto\
)

if exist %unit%:\RECYCLER\ (
echo Virus detectado: Win32:Folder/RECYCLER_BIN
echo Eliminando la carpeta RECYCLER...
rmdir /s %unit%:\RECYCLER\
)

if exist %unit%:\Recycler\ (
echo Virus detectado: Win32:Folder/RECYCLER_BIN
echo Eliminando la carpeta Recycler...
rmdir /s %unit%:\Recycler\
)

if exist %unit%:\$RECYCLE.BIN\ (
echo Virus detectado: Win32:Folder/RECYCLER_BIN
echo Eliminando la papelera de reciclaje (carpeta $RECYCLE.BIN)...
rmdir /s %unit%:\$RECYCLE.BIN\
)

if exist %AppData%\mugen.vbs (
echo Virus detectado: Win32:VBS/Mugen
echo Eliminando los procesos wscript.exe y cscript.exe...
taskkill /im wscript.exe /f
taskkill /im cscript.exe /f
echo Eliminando el virus Win32:VBS/Mugen...
del /f %AppData%\mugen.vbs
)

if exist %Temp%\conhost.exe (
echo Gusano detectado: Win32:Folder/Conhost_PE
echo Eliminando el proceso conhost.exe...
taskkill /im conhost.exe /f
echo Eliminando el gusano Win32:Folder/Conhost_PE...
del /f %Temp%\conhost.exe
echo Eliminando los archivos de tipo MIME application/x-msdownload...
del /f *.exe
)

if exist C:\$RECYCLE.BIN\ (
echo Virus detectado: Win32:Folder/RECYCLER_BIN
echo Eliminando la papelera de reciclaje (carpeta $RECYCLE.BIN)...
rmdir /s C:\$RECYCLE.BIN\
)

echo Escribiendo archivo autourun.inf preventivo...
echo 00 > %unit%:\autorun.inf
echo Cambiándole los atributos al archivo autorun.inf...
attrib +h +r +s %unit%:\autorun.inf

echo Eliminando la entrada del registro HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run...
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /va /f
echo Sobrescribiendo archivo hosts a su configuración de fábrica...
echo # 127.0.0.1 localhost > C:\Windows\System32\drivers\etc\hosts

echo Limpieza completa. Considere utilizar un antivirus para asegurar su computadora y prevenir futuras infecciones.
:end
echo Ejecución terminada. Gracias por usar AUBA.
pause>nul


Espero comentarios, críticas y contribuciones pronto.
Gracias.
#4
Buenos días, soy nuevo en el foro pero vengo leyendo temas acá desde hace 2 años (más o menos).
Tengo una idea de un proyecto que, por lo que leí, otros ya tuvieron y fracasaron: mi idea es crear un sistema operativo simple (nótese que utilizo esta palabra como sinónimo de "limitado" :rolleyes:).

¿A qué me refiero con "sistema operativo"?
Bueno, me refiero a:

  • Un kernel
  • Un shell con comandos built-in
  • Una API
  • Una biblioteca estándar

El orden en el que están los items es el orden de importancia que yo le doy a cada uno.

¿Puedo aclarar/especificar un poco más acerca de mi idea?
Sí, sí puedo: Mi idea es programar un microkernel que:

  • Esté programado principalmente en ANSI C (algunas partes del código requerirán ensamblador)
  • Cumpla con la especificación multiboot para poder cargarlo desde GRUB
  • Tenga un controlador VGA simple para modo texto
  • Cuente con una shell con comandos buil-in
  • Pueda cargar binarios en formato plano
  • Cuente con una API
  • Cuente con una biblioteca estándar

¿Qué nombre le pondremos al sistema?
Preguntas como esta (y relacionadas) son las que causaron que otros proyectos no hayan llegado a nada.

¿Vamos a usar Git, SVN o algo parecido?
Sí, al menos es lo que planeo hacer yo. Yo estoy bastante familiarizado con Git y GitHub así que, si el proyecto atrae interesados, crearé un repositorio en GitHub (es accesible desde la web) con un nombre aleatorio que puede que sea el definitivo o no (probablemente no).

¿Para que arquitectura desarrollaremos?
Personalmente yo prefiero empezar con la arquitectura x86 (del 80386 para arriba), ya que es la que la mayoría de las computadoras actuales posee y el código compilado para x86 puede ser ejecutado en x86_64, la otra arquitectura "popular" (en realidad la más popular es armhf, pero estamos hablando de computadoras, no de sistemas embebidos ni celulares :().

¿Y el bootloader?
La idea principal del proyecto no es crear un bootloader, pero si alguno desea desarrollar uno ¡adelante!.

¿Qué pasará con los estándares?
Por ahí en el foro hay gente muy preocupada con el tema, así que acá va una respuesta corta y concisa: Siempre que sea posible deberíamos cumplir con los estándares POSIX (lo que no significa que el proyecto se convierta en una distribución GNU/Linux).


Y bueno, hasta acá con mi propuesta, espero atraer desarrolladores, interesados o futuros usuarios. Cualquier aporte u opinión será bien recibido/a.

P.D.: Pronto empezaré a publicar código que tengo por ahí guardado sobre el tema.

Enlaces de interés:
https://wiki.osdev.org/
http://www.osdever.net/
https://github.com/aarroyoc/next-divel
http://www.jamesmolloy.co.uk/
http://www.brokenthorn.com/Resources/
https://www.tutorialspoint.com/operating_system/