Red de conocimiento informático - Aprendizaje de programación - Cómo cifrar el disco duro en la computadora HP6150b.

Cómo cifrar el disco duro en la computadora HP6150b.

1. Modifique la información de la tabla de particiones del disco duro

La información de la tabla de particiones del disco duro es crucial para el inicio del disco duro. Si no se puede encontrar una tabla de particiones válida, el disco duro no se puede iniciar y el disco duro no se puede iniciar. encontrarse incluso al arrancar desde un disquete. Normalmente, la primera entrada de la tabla de particiones en la sección 0 es 80H, lo que significa que la unidad C es una partición DOS activa y que el disco duro se pueda iniciar * depende de ello. Si cambia este byte a 00H, no podrá iniciar desde el disco duro, pero aún podrá acceder al disco duro después de iniciar desde el disquete. El cuarto byte de la tabla de particiones es el indicador de tipo de partición. La primera partición aquí suele ser 06H, lo que significa que la unidad C es una partición DOS activa. Si modifica la primera partición aquí, puede cifrar el disco duro en una determinada partición. efecto.

Específicamente:

1. Si el byte se cambia a 0, significa que la partición no se utiliza y, por supuesto, ya no podrá arrancar desde la unidad C. . Después de arrancar desde el disquete, la unidad C original desaparece. La unidad C que ve es la unidad D original, la unidad D es la unidad E original, y así sucesivamente.

2. Si cambia este byte a 05H, no solo será imposible arrancar desde el disco duro, sino que incluso si arranca desde un disquete, cada disco lógico del disco duro será inaccesible. , lo que equivale a cifrar todo el disco duro. Además, el indicador de validez del registro de arranque maestro del disco duro son los dos últimos bytes del sector 55AAH. Si estos dos bytes son 0, todo el disco duro también puede quedar bloqueado y quedar inaccesible. Hay una columna física 0, encabezado 1 y sector 0 en la tabla de particiones del disco duro. Puede usar Diskedit en Norton para Win95 para llamar directamente a este sector y modificar el disco. O use la subfunción 02H de INT 13H en el depurador para leer la columna 0, encabezar 1 sector en la memoria, modificar la ubicación correspondiente y luego usar la subfunción 03H de INT 13H para escribir la columna 0, encabezar 1 sector.

El proceso de cifrado anterior es suficiente para usuarios normales. Pero para los usuarios experimentados, incluso si el disco duro es inaccesible, pueden usar la subfunción 02H de INT 13H para leer la columna 0, 0, encabezado y 1 sectores, y modificar los datos en la ubicación correspondiente según la experiencia para desbloquear el disco duro, porque los datos de estas ubicaciones suelen ser fijos o limitados a algunas situaciones. Otro método seguro pero aparentemente torpe es hacer una copia de seguridad de las entradas de la tabla de particiones del disco duro y luego cambiarlas todas a 0 para que otros no puedan desbloquear y acceder al disco duro porque no conocen la información de la partición.

2. Contraseña de inicio del disco duro

Sabemos que se puede establecer una contraseña del sistema en CMOS, de modo que los usuarios ilegales no puedan iniciar la computadora y, por supuesto, no puedan usar el disco duro. Pero esto realmente no bloquea la unidad, ya que los datos y el software de la unidad seguirán estando disponibles siempre que la unidad esté conectada a otra computadora. Para agregar una contraseña cuando se inicia el disco duro, primero puede almacenar el registro de arranque maestro y la información de partición del sector 0 platen 0 head 1 del disco duro en los sectores ocultos no utilizados del disco duro, como 0 platen 0 head 3 sector. Luego, el depurador reescribe un programa de no más de 512 bytes (en realidad, alrededor de 100 bytes son suficientes) y lo carga en el sector 0, placa 0, cabeza 1 del disco duro. La función de este programa es que primero debes ingresar una contraseña al ejecutar. Si la contraseña es incorrecta, ingresará a un bucle infinito, si la contraseña es correcta, leerá los sectores ocultos en el disco duro que contienen el maestro; registro de arranque e información de partición (0 platina 0 cabeza 3 sector) y vaya a la ejecución del registro de arranque maestro.

Cuando se inicia el disco duro, el BIOS primero llama al cargador de arranque INT 19H para leer el registro de arranque maestro del sector 0 columna 0 cabecera 1 del disco duro principal en la memoria 0000:7C00H, y nosotros Ya leí el sector 0 de la columna 0 y el encabezado 1 en la memoria. 0000:7C00H El sector 1 fue reemplazado por un programa diseñado por mí. De esta forma, al arrancar desde el disco duro, lo primero que se ejecuta no es el programa de inicio principal, sino el programa que diseñamos. Al ejecutar el programa que diseñamos, si la contraseña es incorrecta, la ejecución no puede continuar y el programa no se puede iniciar. Incluso si arranca desde un disquete, no podrá acceder al disco duro porque no hay información de partición en el sector 0, el disco de presión 0 y el cabezal 1.

Por supuesto, también podemos diseñar el programa como un virus, con una parte del programa residiendo en la memoria de alta gama y monitoreando el uso de INT 13H para evitar que se reescriban 0 cilindros, 0 cabezales y 1 sector.

3. Implementar la gestión de cifrado de usuarios del disco duro

El sistema operativo UNIX puede realizar una gestión multiusuario. En el sistema DOS, al mejorar el sistema de gestión del disco duro, se puede realizar una gestión multiusuario similar. También se puede realizar la función. Este sistema de gestión puede cumplir los siguientes requisitos: 1. Entre ellos, el "superusuario" gestiona el área C y puede leer, escribir y actualizar el sistema en el área C; sus propias particiones mediante contraseñas para proteger sus propios archivos y datos; los "usuarios generales" (como la gente común que va a la sala de computadoras a usar computadoras) pueden usar las particiones públicas designadas a voluntad. Los dos últimos tipos de usuarios no pueden escribir en la unidad C. De esta manera, si el sistema operativo y una gran cantidad de aplicaciones están instaladas en la unidad C, se puede evitar que otros destruyan intencionalmente o no el sistema y las salas de seguridad públicas. el software, garantizando la seguridad del sistema. 2. Cuando se inicia el sistema, debe utilizar la clave del disquete para iniciar el sistema; de lo contrario, el disco duro se bloqueará y no se podrá utilizar. La implementación de este método se puede lograr utilizando la estructura de la lista vinculada de cada partición del disco lógico de la lista vinculada de la partición del disco duro y utilizando programación ensambladora.

4. Implemente la función de protección contra escritura del disco lógico.

Sabemos que hay una brecha de protección contra escritura en el disquete. Antes de escribir en el disquete, el BIOS debe hacerlo. verifique el estado del disquete. Si la brecha de protección contra escritura está bloqueada, no se pueden realizar operaciones de escritura. La función de protección contra escritura del disco duro no se puede implementar en hardware, pero se puede implementar mediante software. En el sistema DOS, las operaciones de escritura en disco incluyen las siguientes situaciones: operaciones de escritura admitidas por COMMAND.COM, como MD, RD, COPY, etc. ② Algunas subfunciones en las llamadas a funciones de DOS, como los números de función 10H, 13H, 3EH, 5BH, etc., use INT 26H para convertir sectores lógicos en sectores absolutos para escribir. ④ Use los números de subfunción 03H, 05H, etc. de INT 13H para escribir en el disco. Sin embargo, cada operación de escritura se implementa en última instancia llamando a la subfunción de INT 13H.

Por lo tanto, si intercepta INT 13H, puede prohibir operaciones de escritura en discos lógicos específicos del disco duro. Dado que la operación de escritura del archivo en el disco se realiza a través de la subfunción 03H de INT 13H, al llamar a esta subfunción, el registro CL representa el número del sector inicial (en realidad, solo se utilizan los 6 bits inferiores CH); representa el número de pista, en el disco duro. Ese es el número de columna. El número de columna está representado por 10 dígitos y los dos dígitos más altos se colocan en los dos dígitos más altos de CL. Las particiones del disco duro se pueden dividir en varias unidades lógicas y cada unidad lógica es una lista completa desde el principio. Por ejemplo, el disco duro del autor tiene 2,5 GB y está dividido en cinco unidades: C, D, E, F y G. Entre ellos, el número de columna inicial del disco C es 00H, el número de columna inicial del disco D es 66H, el número de columna inicial del disco E es E5H, el número de columna inicial del disco F es 164H y el número de columna inicial del disco G es 26BH. Si se intercepta INT 13H, cuando AH=03H, y el número de columna representado por CL 2 y CH *** es mayor que E4H y menor que 164H, no se realizará ninguna devolución. De esta forma, se puede prohibir la escritura en el disco E.