librequetucrois
26 janv. 2012 à 19:37
slt
Ta question incluant la réponse est correcte mais est trop simpliste.
1) créer un fichier vide d'une taille précise ; c'est facile à scripter (cool)
Shell - Créer un fichier d'une taille précise | CommentCaMarche :
http://www.commentcamarche.net/faq/902-shell-creer-un-fichier-d-une-taille-precise
dd if=/dev/zero of=disquette.img bs=1k count=1474560
Il manque l'équivalent officiel sur ccm pour windows (à faire svp)
Fsutil file :
http://technet.microsoft.com/fr-fr/library/cc788058(WS.10).aspx
Créer un fichier d'une taille spécifiée - Zebulon.fr :
http://www.zebulon.fr/astuces/208-creer-un-fichier-d-une-taille-specifiee.html
fsutil file createnew c:\disquette.img 1474560
2) avec un script (fso ne peut pas être utilisé ; c'est pas du texte) il faut éditer le fichier créer pour ajouter +1 de façon systématique à la valeur hexadécimal de faible poids puis si il y a une retenue on ajoute +1 à l'octet à gauche comme dans un éditeur hexadécimal mais en ligne de commandes.
3) après chacune des itérations, le hash crc32 du fichier est vérifié (le hash le plus rapide en fait), si le hash crc32 correspond à une valeur connue, on vérifie crc32+md5+sha1+sha256 ; si le hash ne correspond pas on revient au point 2, si le hash correspond le processus est terminé.
j'ai trouvé ça pour tester le hash (plusieurs) du fichier dans le script :
SlavaSoft FSUM - Fast File Integrity Checker :
http://www.slavasoft.com/fsum/
FSUM [Freeware]
Free command line utility for file multi-checksum generation and verification. It allows to create/verify popular file hashes/checksums: MD2, MD4, MD5, SHA-1, SHA-2(256,384,512), RIPEMD-160, PANAMA, TIGER, CRC-32, ADLER32, and the message digest used in eMule/eDonkey (ed2k) software.
MD5summer est dispo sous Windows et linux mais ça test que md5. crc32 est plus rapide à tester en premier. md5 est cassé aussi ... ; mais reste viable avec 3 autres type de hachs = crc32 + sha1 + sha256.
----
Il faut juste le nom du fichier source, les hashs crc32 + md5 + sha1 + sha256 (pour redondance, compatibilité et sécurité) et la taille ; le reste que l'on peut ajouter, ce serait pour accélérer le processus.
Pour une même taille, on peut trouver/chercher plusieurs hashs (j'ai ici indiqué la taille d'une disquette et avec extension ".img" pour le nom du fichier) ... et on peut trouver plus de hash en une opération si le script est capable de virtualiser la taille du fichier.
Le problème, c'est pour éditer le fichier à partir d'un script comme on le ferait à la main avec un éditeur hexadécimal comme avec hedithexa.
Le principe du compteur est très simple = ajouter +1 à la valeur hexadécimale de poids faible et ajouter les retenues si il y en a, en déplaçant le pointeur d'écriture sur l'octet d'à coté.
Combien de temps il faut pour itérer 1474560 octets sur un pc récent ?
Disquette - Wikipédia ; pour avoir l'explication sur la taille et la taille :
http://fr.wikipedia.org/wiki/Disquette
Est-ce que quelqu'un peut faire un petit script pour itérer de +1 la valeur hexadécimal à l'intérieur d'un fichier.
Le contenu (binaire) du fichier en hexadécimal est 00 00 00 00 00 au départ, ensuite 00 00 00 00 01, ensuite 00 00 00 00 02, ensuite 00 00 00 00 03, etc. jusqu'à 11 11 11 11 11.
Entre temps, il faut avoir trouvé le ou les hashs correspondant à ce qui est cherché ; et avec la bonne taille et un hash sans erreur (donc en avoir plusieurs pour le même fichier pour parer aux erreurs basiques crc32 + md5 + sha1 + sha256) c'est obligé de trouver. Et on peut chercher plusieurs hashs pour une même taille (il faut une petite liste, qui peut elle même être générée si on a le hash et la taille ; bootstrap).
C'est plus rentable avec des très gros fichiers ; comparer à un téléchargement lent et incertain (en particulier, si vous pensez à certains protocoles comme avec le PerDeuxPer). Le but serait aussi ET SURTOUT (par expériences avec mon disque dur) de pouvoir réparer un fichier endommagé (bad sector sur le disque ou autre problème).
merci à la personne qui veut bien proposer un bout de script pour itérer.