Class patch

Soyez le premier à donner votre avis sur cette source.

Vue 8 334 fois - Téléchargée 490 fois

Description

voici une classe patch assez évolué qui permet, comme son nom l'indique, de patcher un fichier...
A QUOI CA SERT... on voit partout des patch pour des programmes etc... pas toujours sans danger!

ici, la classe patch a plusieur but:
1) simplifier la vie
pas obliger de connaitre toute les subtilité du code pour pouvoir s'en servir (deux exemple sont inclu dans la source... un en mode console le plsu portable possible et un autre en mode fenetré pour visual)

2) le mode sécurisé (enfin... presque...)
il utilise un fichier externe (une sorte de .bat)
un peu comme si on programmais son patch avec un langage simple (plus simple je connais pas...)
ce mode permet de n'avoir qu'a séechanger de petit fichier texte qui realise le patch via l'intermediaire d'un programme que vous connaisser...

la classe patch est tres souple:
1) elle utilise les flux pour ses entrée et sortie. (voir un des exemple en commentaire en mode console)
2) elle peut etre utilisée de plusieurs maniere (dans le programme ou via un fichier séparé)
3) elle est portable (sauf la partie specifique a visual)
4) configurable pour avoir un affichage de ce qui se passe
pour cela il existe actuellement 2 classe
A)une classe debug qui utilise des fonction virtuelle et qui n'agit que sur des ostream (cout<<.. vous connaissez ?)
B) une classe debugVisual qui écrit dans un CString et qui se charge d'actualiser (ou pas) une fenetre (avec un textBox)

tout cela en 4 fichiers
patch.h et patch.cpp qui font la plus grosse partie du travail et qui comprennent la classe patch, la classe debug et la classe errPatch qui est utilisée pour signaler une exception

DebugVisual.h et DebugVisual.cpp qui comprend la classe DebugVisual qui herite de la classe Debug et qui redefinit certaine fonction (regarder dans le code de ses fonction membre)

tout ca testé sur un programme qui s'appelle crackMe dont la page de l'auteur n'existe plus (domage, elle expliquait comment cracker un prog) mais dont l'auteur se reconnaitra surement...

Source / Exemple :


pour tester les exemples
decompresser restaure crackme.zip dans le repertoire ou se trouve l'eecutable que vous genererer (les .exe passent pas...)

Conclusion :


je remercie tout les développeur de cppfrance pour leur code et l'inspiration qu'ils m'ont apporté...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
1
whaip... ca doit pas etre si dur que ca si on peut ecrire le fichier a la fin de l'executable...
je verrais ca apres mes vacances... (ou pendant on sais jamais si je m'ennuie...)
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008

pour ça j'ai une solution, mais c'est galere !
Bon tu écris un programme qui a pour but d'extraire dans un fichier tout ce qui se trouve apres lui (a l'octet pret faut etre précis mdr) puis de patcher l'exe original avec les infos contenues dans le fichier extrait.
Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
1
vecchio56>
1)la partie specifique a visual est une classe a inclure en plus... elle n'est d'aucune utilité pour d'autre application (elle realise une sorte de log dans un textbox (avec une variabke CString)
2) on peut utiliser la classe de plusieur maniere... soit en externe avec une sorte de fichier de config (patch.patch dans notre cas) ou en direct dans le prog

MuPuF> l'idée est interessant mais je pense que je vais plutot ajouter une fonction dans la classe qui genere un fichier patch avec un fichier source et un fichier patché (plus facile de distribuer un petit fichier texte qu'un executable)

BruNews> ben ma classe patch contient quand meme bcp de code (pas enormement mais bon...)
le truc qui est chouette c'est qu'elle "interprete" une sorte de "langage" de commande... dont les fonction sont encore peu nombreuse. j'ai deja quelque idee sur ce dernier point.

vecchio56> pas mal le prog... tu croit qu'il y a moyen d'y ajouter la possibilitée de créer un executable patch.exe via un de mes fichier .patch ? ca serais pas mal... pour ceux qui aiment bien les executable :-)
ton code utilise bcp d'api windows... tu crois que c'est possible de s'en passer ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
MuPuF & minet03> J'ai fait ce dont vous parlez:
http://www.cppfrance.com/code.aspx?ID=24681
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008

mdr, la folie écoliere. Bon ok c'est pas marrant je me couche ...
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.