Je cours file
contre un fichier wallet.dat (un fichier dans lequel Bitcoin conserve ses clés privées) et même s'il ne semble pas y avoir d'en-tête ou de chaîne identifiable file
, je peux toujours dire qu'il s'agit d'un fichier Berkley DB, même si je le réduire à 16 octets.
Je sais que ce fichier appliquait une sorte de règle ou cherchait une séquence pour l'identifier. Je veux savoir quelle est la règle qu'elle applique ici, afin de pouvoir la dupliquer dans mon propre programme.
file-command
Nick ODell
la source
la source
file
n'a pas tort dans cette circonstance.Réponses:
Saisissez la source de la commande file. La plupart, sinon la totalité, des unités open source utilisent celle-ci . La
file
commande est livrée avec lamagic
base de données, nommée d'après les nombres magiques qu'elle décrit. (Cette base de données est également installée sur votre système actif, mais sous une forme compilée.) Recherchez le fichier qui contient le texte de description que vous voyez:La
magic
page de manuel décrit le format du fichier. Les lignes de déclenchement de «Berkeley DB» sontLa première colonne spécifie le décalage auquel une certaine séquence d'octets doit être trouvée. La troisième colonne contient la séquence d'octets. La deuxième colonne décrit le type de séquence d'octets:
long
signifie 4 octets dans l' endianité de la plateforme ;lelong
etbelong
signifient respectivement 4 octets dans l'ordre petit-bout et gros-bout.Plutôt que de répliquer les règles, vous souhaiterez peut-être appeler l'
file
utilitaire; il est spécifié par POSIX , mais les formats qu'il reconnaît et les descriptions qu'il génère ne le sont pas. Vous pouvez également créer un lien verslibmagic
et appeler la fonctionmagic_file
oumagic_buffer
.la source
Vous pourriez:
Exécutez à
file
partir de votre programmeUtilisez une bibliothèque qui fournit
file
les fonctionnalités de votre langage de programmation. par exemplelibmagic
pour C,File::Libmagic
ouFile::MMagic
pourperl
,python-magic
pour python, etc.BTW, les définitions
file
utilisées pour identifier les fichiers se trouvent dans/etc/magic
. Voirman 5 magic
pour plus de détails sur le format de fichier.la source
/etc/magic
généralement pour votre propre connaissance de la magie locale. Les distros ont tendance à faire entrer leur magie générique/usr/share/misc/magic
.