M'étant demandé pq Hackchip n'avait pas automatisé le remplissage des 0, jme suis dis que j'allais le faire, donc voici le code en C, testé sur USBL---ORI, qui demande a l'utilisateur l'original et lle modifié et qui remplit tout seul avec assez de 0 pour que les deux aient la même taille. Si ca interesse quelqu'un jpeux le compiler pour windows et faire en sorte qu'il ne demande plus les noms de fichiers vu qu'en théorie il en a pas besoin, mais jvoulais deja faire une première ébauche
Citation:
/* ================================================== ========================= */
/* */
/* remp0.c */
/* (c) 2009 */
/* */
/* Rempli de 0 un fichier pour qu'il fasse la meme taille qu'un autre :=) */
/* */
/* ================================================== ========================= */
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("remp0 realise par Wolfi pour metagames-eu\n");
char orinom[52],modinom[52]; // pas forcément utile vu qu'on connait déja les noms
FILE *ori = NULL;
FILE *mod = NULL;
puts("Nom de l'original");
gets(orinom);
puts("Nom du modifié");
gets(modinom);
ori=fopen(orinom,"r+b"); //ouverture du fichier en mode lecture/ecriture sans effacement
if (ori != NULL) {
long taille=0;
fseek (ori , 0 , SEEK_END);
taille = ftell (ori); // on a la taille du fichier
fclose(ori);
mod=fopen(modinom,"a");
if (mod != NULL) {
/* On va maintenant ajouter autant de 0 que necessaire a modinom */
long position_courante=ftell(mod); //on a l'offset en cours à la queue du fichier a modifier
while (position_courante<taille){
fputc(0,mod);
position_courante++;
}
fclose(mod);
puts("Patchage du fichier reussi");
}
else printf("Impossible d'ouvrir le fichier modifié\n");
}
else
{
// On affiche un message d'erreur si un des deux fichiers n'est pas present
printf("Impossible d'ouvrir le fichier original\n");
}
return 0;
}
|
p.s.: je sais qu'on connait deja la taille de l'original (462944 octets) mais si jamais une nouvelle version de USBLD sort, le programme s'adaptera