Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión

Foros del Club

Páginas: [1]   Ir Abajo
  Enviar tema  |  Imprimir  
Autor Tema: Accediendo a bajo nivel en dispositivos de almacenamientos  (Leído 645 veces)
0 Usuarios y 1 Visitante están viendo este tema.
oscar
Technocrat
*********

Prestigio: 10
Desconectado Desconectado

Mensajes: 149



« en: 08/10/2006, 21:21:59 »

El asunto es el siguiente, entre las cosas en que especializo es navegar a bajo nivel en Discos Duros y Diskettes y otras cosas mas.
El tema que estas cosas han estado cambiando en lo que se refiere a que sistema operativo se este utilizando, por ejemplo:
En DOS para acceder a bajo nivel habia que hacer uso de las famosas interrupciones del DOS o tambien conocidas como servicios, entonces cuando explicaba como utilizarlos tenia que saberse un poco de assembler como para hacer uso de las interrupciones, mi preferido es usarlo embebido con otros lenguajes como C o Pascal y evitar usar la construccion de ejecutable desarrollado en assembler puro.
Pero estas cosas ya estan formando parte del pasado.¿Por qué?. Por que San Windows ha abandonado la forma en que se accedia en DOS a los dispositivos para adoptar la forma en que accede al hardware UNIX (y todos sus familiares). ¿Y como hace UNIX?. UNIX utiliza la filosofia que todo dispositivo es un archivo y por lo tanto puede ser utilizado como tal. Asi que para cada cosa de hardware en el mundo UNIX es traducible a un camino o nombre de archivo, esto ha sido asi desde el comienzo, asi que para navegar a bajo nivel de un HD hay que hacer un simple type (en UNIX es cat) de /dev/hda.
Y entonces? Entonces winnt y familia (2000,XP) ya no utiliza la forma de acceder del DOS sino a la forma de acceder de UNIX o sea que para acceder a bajo de nivel de HD hay que abrir un archivo que identifica a dispositivo de hardware o sea:

                     DOS          Winnt         Linux(UNIX)       
Floppy Disk       A:            \\.\A:          /dev/fd0
                      B:            \\.\B:          /dev/fd1
Hard  Disk         C:            \\.\C:          /dev/hda1
                              o      \\.\PhysicalDrive0
                      D:         \\.\D: o          /dev/hda2 (solo una adivinanza)
                                  \\.\PysicalDrive1
CdRom          (la letra        \\.\CdRom0   /dev/hdb o
               que quieras)                        /dev/cdrom

En sintesis para abrir el HD en winnt hay que tener privilegio de administrador.
La sentencia en Python para abrir un HD sería a=open('//./PhysicalDrive0') asi como esta lo abre solo en modo lectura. Y para leer el MBR sería   MBR=a.read(512)
En línea
sir_carlomagno
Technocrat
*********

Prestigio: 15
Desconectado Desconectado

Sexo: Masculino
Profesión: Estudiante
Mensajes: 135


Mi espada ansia venganza


WWW
Lenguajes:
C/C++, html+CSS, bash, Java - applets (aprendiendo)
« Respuesta #1 en: 11/10/2006, 05:58:42 »

Si es muy buena esa ogunttset, tambien pueden navegar o las memorias usb por ejemplo Lengua algunas veces suelen ser /dev/sda.

Pero una pregunta, mm si hacemos cat /dev/hda que sucede?






Esto es lo que sucede si hacemos directamente el cat /dev/hda, pero bueno disculpame que capaz que no te entendi bien. Yo sabia que podiamos ver informacion de un dispositivo atravez de proc, pero creo que por ahi no va la onda. Cuando dices navegar dices de forma embebida atravez de algun lenguaje?

Bueno disculpame pero :S entonces creo que no te entendi tan bien como hubiese querido :S
En línea


---------------------------------------------------------------
>Solo hay algo seguro la infinita inseguridad de la seguridad_
http://ruthless.zathras.de/fun/topsecret/unix.gif
oscar
Technocrat
*********

Prestigio: 10
Desconectado Desconectado

Mensajes: 149



« Respuesta #2 en: 11/10/2006, 09:56:49 »

Si usas cat y por razones obvias no es conveniente mandarlo a pantalla pero es posible hacerlo aunque no sea muy entendible.
Pero alguna vez lo he usado para duplicar un HD tipo cp /dev/hda /dev/hdb aunque no seria el comando ideal para ello. Si uno quiere verlo en pantalla hay un comando llamado hexedit o hexdump que ven un archivo en formato hexadecimal y que si uno pone el camino hacia un dispositivo tambien se puede editar al estilo diskedit.
« Última modificación: 11/10/2006, 10:30:41 por ogunsett » En línea
Foros del Club
   

 En línea
Páginas: [1]   Ir Arriba
  Enviar tema  |  Imprimir  
 
Ir a: