Programación General > ASM (Ensamblador)

 Cd A Bajo Nivel

(1/2) > >>

fachamix:
Realmente no sabia a donde escribir esto por eso lo escribo aqui.

Queria saber lo siguiente:

*) Compro un CD virgen, abro el nero , y grabo un CD (es decir , quemo un CD)
Como se guarda esa informacion ?????, es decir, como la guarda el sistema operativo ???? , la guarda con un sistema de archivo en particular ?????, la guarda de corrido ??????


**) Es posible acceder a la informacio de un CD a bajo nivel ????? es decir, tener un acceso al mismo , mas alla de su sistema de archivo (si tiene uno), y acceder a los sectores que yo quiera .... es esto posible ????


Pues quiero ahcer un programa que haga precisamente esto, acceder a los bytes del CD, byte a byte, a bajo nivel, programando en C y assembler.

creeria que si se puede, pero tengo estas dudas, a ver si me dan una mano muchachos.

grax

Eternal Idol:

--- Cita de: "fachamix" ---*) Compro un CD virgen, abro el nero , y grabo un CD (es decir , quemo un CD)
Como se guarda esa informacion ?????, es decir, como la guarda el sistema operativo ???? , la guarda con un sistema de archivo en particular ?????, la guarda de corrido ??????
--- Fin de la cita ---

Que yo sepa en el 99% de los casos se usan estos file systems:
http://en.wikipedia.org/wiki/ISO_9660
http://en.wikipedia.org/wiki/Universal_Disk_Format


--- Cita de: "fachamix" ---**) Es posible acceder a la informacio de un CD a bajo nivel ????? es decir, tener un acceso al mismo , mas alla de su sistema de archivo (si tiene uno), y acceder a los sectores que yo quiera .... es esto posible ????
--- Fin de la cita ---

Si, sector por sector facilmente. Abris un HANDLE al dispositivo y lees (CreateFile + ReadFile).


--- Cita de: "fachamix" ---Pues quiero ahcer un programa que haga precisamente esto, acceder a los bytes del CD, byte a byte, a bajo nivel, programando en C y assembler.
--- Fin de la cita ---

Sector por sector, byte a byte ya es alto nivel. Hacer eso - acceso a bajo nivel mediante assembly - en Windows, GNU/Linux o cualquier otro S.O. que trabaje en modo protegido/long (32/64 bits) no tiene sentido. La unica forma de hacerlo es con un modulo de modo Kernel y no estaria sincronizado con el acceso que puedan tener otros procesos, el caos mismo.

fachamix:
estuve leyendo los links que me ahs pasado y tu post tambien .

gracias che.


te hago otra pregunta, yo uso el compilador c++builder 6, pero tengo de antes instalado el turcoC++ de borland, y estaba leyendo en la ayuda, y contiene un header que se llama bios.h , el cual tiene 2 funciones, biosdisk y _biosdisk (algo asi eran, no estoy en mi pc ahora), las cuales utilizan funciones del bios de las IBM-PC, y estaba leyendo y segun dicen ahi me permitirian leer sector por sector, byte a byte, pero no se si me funcionara , no quiero meter mano porke hay un aviso en la ayuda donde dice que tengo que tener cuidado porke puedo hacer pelota el sistema de archivo. Este header me permitiria hacer un programa en un entorno 32bits en modo protegido ??????


Porqe quiero hacer esto ????? quiero hacer un programa que sea capaz de rescatar la maxima cantidad de datos que tenga un CD, es decir, si tengo un CD rayado por todos lados, quiero examinarlo a bajo nivel para rescatar lo que se pueda.


gracias hermano por leer el post, y dame una mano

Eternal Idol:

--- Cita de: "fachamix" ---te hago otra pregunta, yo uso el compilador c++builder 6, pero tengo de antes instalado el turcoC++ de borland, y estaba leyendo en la ayuda, y contiene un header que se llama bios.h , el cual tiene 2 funciones, biosdisk y _biosdisk (algo asi eran, no estoy en mi pc ahora), las cuales utilizan funciones del bios de las IBM-PC, y estaba leyendo y segun dicen ahi me permitirian leer sector por sector, byte a byte, pero no se si me funcionara , no quiero meter mano porke hay un aviso en la ayuda donde dice que tengo que tener cuidado porke puedo hacer pelota el sistema de archivo. Este header me permitiria hacer un programa en un entorno 32bits en modo protegido ??????
--- Fin de la cita ---

No, no podes acceder a la BIOS directamente en S.O.s de moto protegido/long.


--- Cita de: "fachamix" ---Porqe quiero hacer esto ????? quiero hacer un programa que sea capaz de rescatar la maxima cantidad de datos que tenga un CD, es decir, si tengo un CD rayado por todos lados, quiero examinarlo a bajo nivel para rescatar lo que se pueda.
--- Fin de la cita ---

Eso lo podes hacer perfectamente sector por sector usando CreateFile y ReadFile, desde C/C++, assembly o incluso VB si tenes ganas.

Fijate especialmente el encabezado: Physical Disks and Volumes. La verdad es que es bastante simple, abris un HANDLE al dispositivo y lees, si el CD esta jodido en algunas llamadas te dara error.

fachamix:
gracias che, me vino de 10 + IVA tu ayuda, si algun dia termino el programa te lo hago saber asi lo pones a pruba (siempre empieso 10 proyectos a la vez y nunca termino nada jajajajaja=)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa