Ensamblador - Manejo de Archivos

 
Vista:

Manejo de Archivos

Publicado por Martín (3 intervenciones) el 03/07/2001 07:41:54
¡¡ Hola !!. Quisiera saber cómo hago un programa en Lenguaje Ensamblador que oculte TODOS los arhivos del directorio raíz de un diskette.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Manejo de Archivos

Publicado por Googol (61 intervenciones) el 04/07/2001 19:26:54
Supongo que hablas de MS-DOS...
Si te refieres a una especie de virus, tendrás que hacer un programa residente que se cuelgue de la interrupción 21 y gestione las llamadas a las funciones 11h y 12h. Mediante ellas, los programas obtienen los ficheros de un directorio, a si es que puedes meter tu código ahí para devolverles cosas que no son verdad.
Otra opción es que te refieras a ocultarlos sin necesidad de código. Es decir que realmente los ficheros estén, pero que no se vean. Por ejemplo, para llevar un disco "virgen" a un examen donde grabar y entregar los resultados, y luego resulte que ese disco no esté originalmente tan "virgen" como parecía. Para eso tienes que aprender sobre la estructura del disquette, y eliminar la información sobre los nombres de los ficheros, pero no borrar sus datos. Luego cuando el profesor ha revisado tu disco, puedes volver a restaurar los nombres, para que se asocien con los datos.
Eso puede hacerse cambiando la información del directorio raíz. Solo se necesita ir al disco, al cluster donde se guardan los nombres, y borrar el primer caracter, sustituyendolo por un 0, creo. Eso lo puedes hacer en casa.
El problema es luego restaurarlo, que lo cómodo sería tener un programita que lo restaurara, pero ese programita no podrá estar en el disquette, a si es que tendrás que copiarlo antes al disco duro del ordenador donde hagas el examen. O la otra posibilidad es editarlo a mano. Se puede hacer a mano con el debug.com... pero es un poco difícil... y te arriesgas a cargartelo todo

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de Archivos

Publicado por Martín Bustos (3 intervenciones) el 06/07/2001 08:49:14
Muchas Gracias por la información que me diste, pero mi pregunta no va dirigida a virus ni nada por el estilo. Simplemente necesito hacer un programa que oculte todos los archivos del directorio raiz de un diskette. Se como hacer para ocultar uno en especial(Conociendo el nombre) pero no todos.
Sé que se utilizan las interrupciones 25h y 26h. Conozco bastante acerca de la estructura de los discos pero no se como hacer para ocultar todos los archivos. Me imagino que es leyendo de a sectores o algo similar pero no se como programarlo.
Te comento como dato adicional que utilizo Turbo Pascal v. 7.0 como programa principal y le agrego rutinas en Assembler para ciertas acciones.
Te muestro un programita que hice para ocultar un archivo especifico(Archivo.txt):

{SE UTILIZA EL SERVICIO 43H DE LA INT 21H}
PROGRAM ATRIBUTO;
USES CRT;
VAR NF:STRING;
BEGIN
CLRSCR;
NF:='A:\ARCHIVO.TXT'+CHR(0);
ASM
MOV AH,43H;
MOV DX,OFFSET(NF)+1;
MOV AL,01H;
MOV CX,00000010B;
INT 21H;
END;
END.
Como verás este pequeño programita oculta sólo un archivo, el cual conozco el nombre. Pero si no conozco el nombre ¿Como hago?. Lo mismo quisiera saber para todos los archivos del directorio raiz.
Igualmente muchas gracias por la explicacion !!!. Un saludo desde Argentina.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejo de Archivos

Publicado por ana (3 intervenciones) el 23/05/2009 23:07:06
holsa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar