Trabajar con la FAT32 (o como vacunar un disco extraible)
#1
Escrito 29 abril 2012 - 05:42
Leer información de la partición y la estructura de ficheros de un disco, o de la imagen de un disco
http://delphi.jmrds.com/?q=node/74
Vacunar disco extraible contra virus que modifican el fichero "autorun.inf"
http://delphi.jmrds.com/?q=node/75
El objetivo de este serie de artículos es hacer un programa que me permita extraer ficheros de una imagen de disco creada con Dump, pero para eso he tenido que investigar primero a fondo la FAT, y como resultado van saliendo estas pequeñas utilidades.
Saludos, y perdón por el spam
#2
Escrito 29 abril 2012 - 08:37
Saludos
PD. Interesantes las notas de precuación
#3
Escrito 30 abril 2012 - 12:24
Me ha recordado a cuando yo jugaba con la FAT 16 en tiempos del DOS y a las técnicas de protección Láser de disquetes, que mascaban un cluster como erróneo. La desprotección era marcar el mismo cluster en el disquete copia o cambiar la instrucción jmp encargada de desviar el código en caso de "falsedad" del programa.
Saludos.
#4
Escrito 30 abril 2012 - 03:44
PD. Interesantes las notas de precuación
El programa original no las llevaba pero según lo estaba subiendo a la web pensé que algún "manazas" iba a terminar rompiendo un usb y echándome la culpa a mi. En los foros todos somos "profesionales" (más o menos ) y no hay que andar con tantas precauciones, pero en paginas web accesibles desde google hay que tener mas cuidado.
En realidad no hay demasiado riesgo. El único "peligro" es que el programa de la vacuna se equivoque al escribir y corrompa la FAT. Es muy improbable que esto suceda, pero puede solucionarse formateando el disco desde el "administrador de discos" (lo se porque mientras experimentaba rompí la FAT varias veces )
Me ha recordado a cuando yo jugaba con la FAT 16 en tiempos del DOS y a las técnicas de protección Láser de disquetes, que mascaban un cluster como erróneo. La desprotección era marcar el mismo cluster en el disquete copia o cambiar la instrucción jmp encargada de desviar el código en caso de "falsedad" del programa.
En este caso la protección es la misma que utiliza "Panda USB Vaccine " (aquí lo puedo decir ). El funcionamiento es simple, en cada entrada de un directorio se utiliza un registro de 32 bytes para guardar el nombre, extensión, atributos, etc ... de cada fichero. Dentro de ese registro hay un byte que contiene los atributos (uno por cada bit), los conocidos "solo lectura", oculto, sistema. Pero hay un par de ellos menos conocidos y poco documentados, uno de ellos es el bit "Device" del que se sabe poco, de hecho microsoft lo único que dice es que no se debe tocar (como si fuéramos a hacerles caso ), pero el hecho es que si se marca con un 1 ese bit el fichero queda completamente inaccesible, no se puede ni leer, ni modificar, ni borrar.
Como dije esta protección no es la panacea, ya que cualquier programador con un poco de habilidad puede evitarla, pero el el hecho de que se necesiten herramientas especiales para hacerlo les pone un poco mas difícil el trabajo, y la experiencia nos dice que los fabricantes de malware prefieren ir a lo fácil, al fin y al cabo tienen millones de victimas para escoger entre las que no se protegen.
Saludos
PD: El mismo truco se puede usar para proteger un fichero privado de los ojos curiosos, solo seria necesario cambiar algunas cosillas ...
#5
Escrito 30 abril 2012 - 07:43
PD: El mismo truco se puede usar para proteger un fichero privado de los ojos curiosos, solo seria necesario cambiar algunas cosillas ...
Eso si que es más interesante
Saludos
#6
Escrito 30 abril 2012 - 10:46
Muchas gracias y un saludo
#7
Escrito 22 junio 2016 - 09:58
Interesante tus utilitarios amigo..