PureBasic

Forums PureBasic
Nous sommes le Mer 23/Oct/2019 19:01

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 21 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 12:43 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 24/Sep/2012 20:57
Messages: 46
Localisation: Somme
Bonjour Pure Codeurs !

Je cherche à lire/écrire directement sur un disque dur (sur n'importe quel secteur),
je ne parle pas sur une partition ou volume mais bien pouvoir écrire et lire n'importe que secteurs d'un disque (MBR compris),
j'ai beau chercher sur les forum, je ne trouve pas mon bonheur.

Je pense que l'API windows le permet, mais je suis mauvais en anglais, et n'arrive pas à trouver de code source/ doc là dessus.

Par avance merci de votre aide !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 13:49 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2090
je me mefie toujours de ce genre de question

car bien souvent l'auteur de la question veux faire un truc tout simple
mais pose une question bien compliqué, car il suit le cheminement de sa pensée :)

en clair, que veux tu exactement faire sur ton disque Dur ?
là probablement tu aura des reponses mieux ciblées .... :)

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 14:09 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6856
Localisation: IDF (Yvelines)
@Zorro : Mince pour une fois que quelqu'un pose une question compréhensible même si la réponse va être complexe :wink:

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 14:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4067
Ca pourrait servir pour un logiciel d'image de diskdur :idea:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 14:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4224
Localisation: Arras, France
http://www.purebasic.fr/english/search. ... mit=Search
Bon amusement :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 14:49 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1630
Bonjour,

Je penses que la réponse passe forcement par de l'API pour Windows ce sera par DeviceIoControl_().

Cordialement,
GallyHC

_________________
Image

Image

Image Official site of PureBasic
Image Official site of SpiderBasic

Configuration : Tower: Windows 7 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.62 (x86 et x64)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 15:16 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1619
Citation:
Je cherche à lire/écrire directement sur un disque dur (sur n'importe quel secteur),
je ne parle pas sur une partition ou volume mais bien pouvoir écrire et lire n'importe que secteurs d'un disque (MBR compris)

Les secteurs d'un disque n'existent qu'après partitionnement et formatage :wink:
https://en.wikipedia.org/wiki/Disk_sector
L'accès direct à un secteur physique est géré par le contrôleur du disque lui-même et n'est donc pas accessible à l'utilisateur.
Il faut avoir et comprendre les données "géométrique" du disque.

(Encore un sujet qui risque de faire passer PB pour un créateur de virus :oops: )

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 15:21 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6856
Localisation: IDF (Yvelines)
Marc56 a écrit:
...n'est donc pas accessible à l'utilisateur
Un contre exemple ?
Code:
StartingLogicalSector.l = 0     ; Premier secteur à lire
NumberOfSectors.l       = 3     ; Nombre de secteur consécutif à lire
SectorSize              = 512   ; Taille d'un secteur
Disk.s                  = "G:"  ; Unité de stockage

Dim buffer.b(SectorSize * NumberOfSectors)

hdh.l = CreateFile_("\\.\" + Disk, #GENERIC_READ, #FILE_SHARE_READ, 0, #OPEN_EXISTING, 0, 0)

;Positionnement sur le premier secteur à lire
SetFilePointer_(hdh, (StartingLogicalSector * SectorSize), #Null, 0)

;Lecture des secteurs consécutifs
ReadFile_(hdh, @buffer(), NumberOfSectors * SectorSize, @bytesread.l, #Null)
CloseHandle_(hdh)

;Vérification
CreateFile(0, GetCurrentDirectory() + "sector.txt")

For i=0 To bytesread-1
  WriteByte(0, buffer(i))
Next

CloseFile(0)
Ce code ne fait que lire les 3 premiers secteurs du MBR d'une clé USB (G: dans cet exemple) et enregistre le contenu dans un fichier. Enregistre ce code dans un dossier et exécute le. Ouvre ensuite le fichier avec un lecteur hexa ou tout simplement avec l'IDE de PureBasic.

A compiler avec l'option droit administrateur.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 15:26 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1619
caussatjerome a écrit:
je ne parle pas sur une partition ou volume mais bien pouvoir écrire et lire n'importe que secteurs d'un disque (MBR compris),

Code:
Disk.s                  = "G:"  ;Unité de stockage

:?: Déjà formaté :wink:

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 15:28 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6856
Localisation: IDF (Yvelines)
@Marc : Tu as bien fait de souligner :oops:

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 15:30 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1619
Y'a pas de mal :wink:

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 16:02 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8769
Marc56 a écrit:
caussatjerome a écrit:
je ne parle pas sur une partition ou volume mais bien pouvoir écrire et lire n'importe que secteurs d'un disque (MBR compris),

Code:
Disk.s                  = "G:"  ;Unité de stockage

:?: Déjà formaté :wink:


@Falsam, pourtant la question était compréhensible ! :mrgreen: :mrgreen: (je sors)

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 16:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6856
Localisation: IDF (Yvelines)
Rhooooooo le vilain il en profite. Mais ok c'est à juste titre. :wink:

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 16:33 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 24/Sep/2012 20:57
Messages: 46
Localisation: Somme
Merci à tous de vos réponses,
Pour répondre à la question "Pourquoi faire", je souhaite en effet créer deux logiciels :
1er : un logiciel d'effacement sécurisé genre DBAN, KILLDISK
2em : un logiciels de clonage genre CLONEZILLA, GHOST

Pourquoi ne pas utiliser ces logiciels me direz vous...
Par ce que je veut ajouter des fonctionnalités non implémenter dans les logiciels existants, et que j'aime les défit !

Merci pour votre aide, enfin je précise : si il est possible d'écrire sur tout un disque et non pas les partitions/volumes, sinon comment fonctionnerait les logiciels que j'ai mentionner plus haut ?!

je vais regarder les liens que vous m'avez données, chère compagnons codeurs, n'hésiter pas à ajouter des liens si vous trouvez/avez d'autres codes sources !

PS : Désolé l’orthographe n'est pas mon fort !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Accès direct Secteur de disque
MessagePosté: Mer 21/Juin/2017 20:42 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1619
caussatjerome a écrit:
Merci pour votre aide, enfin je précise : si il est possible d'écrire sur tout un disque et non pas les partitions/volumes, sinon comment fonctionnerait les logiciels que j'ai mentionner plus haut ?!

Là plupart fonctionnent comme les sauvegardes système sur bande ou comme la mise à jour de firmware: déversement binaire linéaire. D'où la nécessité de ne pas interrompre le restore car tout est réécrit au meme endroit, meme taille de secteur y compris le mbr taille d'allocation etc.
On ne sait qu'à la fin au reboot si la restore est ok
Les premières version de ghost par exemple ne savaient pas cloner sur un hd de taille différente ou pour le moins elles n'utilisaient que la même taille que le disque d'origine.

:wink:

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0)


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 21 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye