SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: lalo_soft en Miércoles 18 de Julio de 2007, 18:29

Título: Leer Sector Cero
Publicado por: lalo_soft en Miércoles 18 de Julio de 2007, 18:29
Alguien sabe como leer el sector cero (boot Sector) de un disco u unidad extraible desde c#
Título: Re: Leer Sector Cero
Publicado por: Enko en Miércoles 18 de Julio de 2007, 22:32
Unicamente usando una DLL de algun lenguaje compilado como VC++ y que esta  utilize un Driver (.sys) de otra forma no se puede tener acceso por la proteccion del sistema.
Otra seria usar una ejecutable externa que lee el sector y te lo guarde en un archivo binario y luego vos leas el binario.
Por sierto que en cualquier caso, hay que utilizar algun Driver. Si es para Win Vista, supongo que olvidate ya que el driver tiene que estar firmado por Microsoft y dudo que lo firmen aunque si es solo lectura capaz si.
En pocas palabras, en ningun caso lo podrás hacer directamente con VC# ni nada que sea .NET.
Título: Re: Leer Sector Cero
Publicado por: lalo_soft en Jueves 19 de Julio de 2007, 03:55
y desde VC++ sabes como hacerlo?
Título: Re: Leer Sector Cero
Publicado por: JuanK en Jueves 19 de Julio de 2007, 04:32
Averigua de drivers en modo usuario bajo windows vista, desde C#  tal vez lo puedas acceder utilizando las llamadas del sistema, aunque lo mejo es revisar para que lo quieres hacer con C# ya que sino hay alguna ventaja particular y relevante mejor que lo hagas en C++.

En caso de que windows vista te ponga problemas por los drivers firmados, existe una política de sistema  (si mal no recuerso)que al modificarla te permitira instalar drivers no firmados.

Suerte, nos cuentas.
Título: Re: Leer Sector Cero
Publicado por: lalo_soft en Jueves 19 de Julio de 2007, 16:21
el equipo donde correra la app. tiene xp, lo de win vista yo no lo propuse. Me pueden guiar para hacerlo  en vc++"
Título: Re: Leer Sector Cero
Publicado por: Enko en Jueves 19 de Julio de 2007, 16:43
Cita de: "lalo_soft"
el equipo donde correra la app. tiene xp, lo de win vista yo no lo propuse. Me pueden guiar para hacerlo  en vc++"
Yo tampoco lo propuse. Solo hice un comentario para el caso que lo usaras. Nos soy el que lee entre lineas.

Por sierto que el boot sector es igual en la misma Version de Windows. Es decir, todas las PC con XP tienen el mismo bootsector.

IMPORTANTE
http://www.geocities.com/thestarman3/asm/mbr/NTFSBR.htm (http://www.geocities.com/thestarman3/asm/mbr/NTFSBR.htm)

En ese link te explican que windows XP tiene un archivo llamado  SPCMDCON.SYS que es el backup del bootsector.