Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2008
reinier reinier is offline
Miembro
 
Registrado: feb 2008
Posts: 22
Poder: 0
reinier Va por buen camino
Question copiar un fichero en el primer sector

Leyendo hace poco sobre el Master Boot Record me vino a la mente la idea
de crear un procedimiento para copiar ficheros en el primer sector de un disco
sin embargo intente de varias maneras y solo me daba error tras error si alguien supiera como hacerlo por favor publíquenlo
Responder Con Cita
  #2  
Antiguo 28-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Para escribir un archivo en el MBR necesitas abrir la unidad física mediante APIs:

Código Delphi [-]
var
 hDevice: Cardinal;
 Buffer: array [0..511] of char;
 
begin
 hDevice := _lopen('\\.\PhysicalDrive0', OF_READWRITE);
// Leer con _lread, modificar SOLO el MBR y
 _lwrite(hDevice, @Buffer, SizeOf(Buffer));
...

De esto encontrarás información realizando una búsqueda. Ahora el chiste de hacerlo es entender la estructura del primer sector (MBR), el cual son 512 bytes que permiten arrancar el Boot (primer sector), de la unidad marcada como "Activa" de la partición primaria (la cual tambien esta en dichos 512 bytes). Por ello es que puse el comentario de leer, modificar y escribir.

Algo que debes tener muy en cuenta es que dicho programa (el del MBR), debe estar realizado en Assembler y sus "saltos" y llamadas deben ser relativas a la memoria convencional, entendiendo que dicho sector es cargado gracias a la interrupción 19h (Bootstrap Loader Service) en 0:7C00h

Suerte
Responder Con Cita
  #3  
Antiguo 28-02-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
También debe tener en cuenta que como meta la pata en un byte... je... je... je...
Responder Con Cita
  #4  
Antiguo 28-02-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
También debe tener en cuenta que como meta la pata en un byte... je... je... je...
Buen dato amigo Casimiro... es fatal para un usuario inexperto un error a nivel de bits.
Responder Con Cita
  #5  
Antiguo 28-02-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Aunque ya te respondió chackall aprovecho para recordar este truco:

http://www.clubdelphi.com/trucos/index.php?id=356

En algún otro hilo que hablamos de este tema se planteo la duda de si windows permite sobreescribir el mbr, pues la respuesta es que si. Yo lo averigüe, desgraciadamente, al despistarme cuando intentaba grabar el mbr de un disquete y termine sobreescribiendo el mbr de C. y lo peor es que no me dí cuenta hasta que reinicie el equipo al día siguiente.

En resumen mucho cuidado con esto y Asegurarte de tener a mano el cd de windows para hacer un fixmbr si es necesario
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar fichero con atributos angelp4492 Varios 2 30-12-2007 00:04:32
Copiar fichero con origen/destino definido por usuario TrUnkS API de Windows 2 28-08-2007 07:11:57
copiar fichero desde otra maquina karla Varios 2 17-10-2006 10:04:57
copiar fichero mas de 2Gb con esta funcion aram2r Varios 7 08-02-2006 17:28:22
Copiar fichero por la red davezf API de Windows 2 05-08-2005 00:46:51


La franja horaria es GMT +2. Ahora son las 12:17:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi