Como ya supongo que sabréis le estoy aprendiendo Python a marchas forzadas, (bueno todo lo rápido que me puedo permitir con el tiempo que tengo xD) y hace unas semanas hablando con Snifer para practicar se nos ocurrió trabajar en un script para detectar que unidades habían sido extraídas o conectadas a un equipo. A los dos nos gusta el Peritaje Informático Forense y estábamos recopilando información para ver como nos lo podíamos montar cuando ayer por la noche, Snifer me pasó un link al foro de [underc0de] donde el usuario k0ws ya había posteado un detector con el siguiente código:
import win32file as file
import win32api as api
def cUnidades():
listdrives = api.GetLogicalDriveStrings().split("\x00")
i = 0
print "Lista de FlashDrives o HDD: "
for drive in listdrives:
if len(listdrives) == (i + 1):
break
if (file.GetDriveType(listdrives[i])) == 2:
try:
api.GetDiskFreeSpace(listdrives[i].replace('\\',''))
print listdrives[i] + " - Conectado"
except:
print listdrives[i] + " - Desconectado"
if (file.GetDriveType(listdrives[i])) == 3:
try:
api.GetDiskFreeSpace(listdrives[i].replace('\\',''))
print listdrives[i] + " - Conectado"
except:
print listdrives[i] + " - Desconectado"
i = i + 1
cUnidades()
Fuente:
La verdad es que lo he estado mirando con recelo la primera vez que lo vi, pero ahora entiendo lo bien que esta hecho y que, aunque yo modificara algunas cosas (Nah, solo algunas añadiría opciones/Ideas) es muy buena base y quiero trabajar en ello. La verdad es que es muy sabia la utilización de win32 api y win32 file he de investigar mas sobre ello.
Os dejo este script para que lo utilicéis por que merece mucho la pena.
Sed Buenos ;)
No hay comentarios:
Publicar un comentario