IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Lecture disque dur en bas niveau


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut Lecture disque dur en bas niveau
    Bonjour,
    Je souhaite reconstituer les chaînages de fichiers perdus, dans un disque dur externe.
    Pour cela, je souhaite utiliser des fonctions Python de lecture/écriture de bas niveau de mon DD. Idéalement, octets par octets, en commençant dès le MBR de mon disque.
    Quelqu'un connaît-il les fonctions à utiliser dans ce cas ?

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Tu veux retrouver des fichiers effacés ? Avant de partir sur un développement assez ardu, je te dirais de chercher sur le net car il existe déjà des outils déjà tout faits (undelete et consorts). Sinon personnellement (et assez bizarrement car je recommande généralement Python pour beaucoup de choses) ici je pense que le C serait plus approprié pour ce travail. Accessoirement tu devrais aller lire ce post.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par enicnath Voir le message
    Quelqu'un connaît-il les fonctions à utiliser dans ce cas ?
    open, read et write...

    La difficulté est de savoir quoi passer à "open" (qui dépend de l'OS) mais un peu de recherche sur Internet vous permettrait de profiter de l'expérience de ceux qui ont déjà essayé.
    Enfin, vu la complexité qu'il y a à transformer un tas de bytes en informations qu'on pourra modifier "programmatiquement", autant utiliser des logiciels qui sont fait pour (à défaut, autant jeter le disque ou le reformater: vous ne vous en sortirez pas).


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    La difficulté est de savoir quoi passer à "open" (qui dépend de l'OS) mais un peu de recherche sur Internet vous permettrait de profiter de l'expérience de ceux qui ont déjà essayé.
    Enfin, vu la complexité qu'il y a à transformer un tas de bytes en informations qu'on pourra modifier "programmatiquement", autant utiliser des logiciels qui sont fait pour (à défaut, autant jeter le disque ou le reformater: vous ne vous en sortirez pas).
    Il me semble que le rôle d'un forum ... c'est aussi de profiter de l'expérience des autres.
    Et la plupart des programmeurs se sont, une fois ou deux, essayé à faire des trucs qui existaient tout à fait bien ailleurs.
    Et puis c'est assez sympa, si je puis dire, d'être défaitiste pour les autres !

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par enicnath Voir le message
    Il me semble que le rôle d'un forum ... c'est aussi de profiter de l'expérience des autres.
    Lorsque je vous suggère d'utiliser des logiciels qui le font déjà plutôt que de prendre le risque d'arriver nulle part en essayant de coder cela par vous même, c'est mon expérience qui parle et que je partage.

    Citation Envoyé par enicnath Voir le message
    Et la plupart des programmeurs se sont, une fois ou deux, essayé à faire des trucs qui existaient tout à fait bien ailleurs.!
    L'avantage des logiciels open source qui existent déjà est qu'on peut déjà regarder comment sont réalisées les différentes fonctionnalités pour apprécier les difficultés à résoudre.... et éventuellement d'en inspirer.

    Citation Envoyé par enicnath Voir le message
    Et puis c'est assez sympa, si je puis dire, d'être défaitiste pour les autres !
    Je suis surtout défaitiste en ce qui concerne récupération de vos données disque. Lorsque vous aurez mesuré par vous même les difficultés à écrire ce genre de programme (qui plus est en Python), on pourra en reparler.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je suis d'accord sur la difficulté de la chose.

    Si tu veux tout de même des pistes, Python est capable d'appeler des fonctions de bibliothèque de l'OS avec le module ctypes. Il faudra, bien sûr, connaître les fonctions en question (ce n'est pas du Python), savoir comment les appeler, et faire les conversions de données dans les 2 sens.

    Si c'est sous Windows, il y a un module qui permet d'accéder à certaines bibliothèques système: pywin32. Mais je ne sais pas si celles que tu veux en font partie.

    Si tu veux fabriquer un module pour ça, il y a le module distutils. Un petit exemple basique d'utilisation sur mon site (Python 2.7): http://python.jpvweb.com/python/mesr...ple_python_cpp.

    Et dans certains cas, le module externe cython permet de simplifier l'appel à des fonctions C ou C++. Un petit exemple ici (Python 2.7): http://python.jpvweb.com/python/mesr...ple_cython_cpp. Il y a tout de même des subtilités dans certains cas pour la gestion mémoire ou pour le comptage de référence des variables Python.

    Attention tout de même: si tu travailles en Python 3, il faudra assurer les conversions avec les bytes (=octets).

    En résumé, ce que tu veux faire est techniquement possible: à toi de voir si le temps et l'effort nécessaires valent le coup... Si c'était pour moi, il faudrait vraiment que je sois dans une situation désespérée pour me lancer là-dedans...

    Bon courage!

  7. #7
    Membre éclairé
    Inscrit en
    Novembre 2003
    Messages
    554
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 554
    Par défaut
    Bonsoir,

    Ok, merci pour ces infos.
    Pour ma part, j'ai trouvé le lien https://www.reddit.com/r/learnprogra...r_with_python/

    lequel permet d'obtenir ce programme que je suis en train d'explorer : https://raw.githubusercontent.com/gl.../mbr_parser.py

    On verra où ça mène ...

Discussions similaires

  1. [Disque Dur] Lecture disque dur externe impossible
    Par yannick06 dans le forum Composants
    Réponses: 4
    Dernier message: 12/10/2009, 08h37
  2. Réponses: 12
    Dernier message: 20/05/2007, 16h38
  3. Formatage bas niveau Disque dur externe
    Par oussam dans le forum Composants
    Réponses: 6
    Dernier message: 04/04/2007, 09h20
  4. Formatage de bas niveau de mon disque dur impossible
    Par Little_B_09 dans le forum Composants
    Réponses: 9
    Dernier message: 06/07/2006, 11h35
  5. Comment accéder à un disque dur en lecture/ecriture ?
    Par tintin22 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 29/09/2005, 19h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo