cs_hendrix
Messages postés65Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention18 novembre 2008
-
10 oct. 2003 à 13:02
cs_hendrix
Messages postés65Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention18 novembre 2008
-
16 oct. 2003 à 19:56
Bonjour, je cherche à faire un programme en delphi qui permette d'ajouter à n'importe quel exécutable une boite de dialogue avant le lancement de l'exe patché. Cette boite de dialogue demandera un mot de passe par exemple. De plus j'aimerais que cette manipulation soit assez subtile, à savoir que l'exécutable d'origine soit directement modifié.
J'aimerais aussi que dans le principe, l'exe une fois modifié ne "décharge" pas l'exécutable d'origine dans un autre fichier exécutable sur le disque le temps du lancement.
Bref ça revient à faire un programme comme "Private Exe" pour ceux qui connaissent.
Je pense qu'il doit falloir être doué en assembleur pour pouvoir avec delphi injecter la boite de dialogue dans l'exécutable à patcher et changer l'adresse de branchement du programme d'origine pour qu'il ne démarre réellement que suivant le passage réussi de l'authentification.
J'ai déjà trouvé des exemples Delphi (delphi.does.it) de ce type sur le net mais à chaque fois l'exe est bien patché, on a la boite de dialogue et quand on s'authentifie bien, et bien le programme d'origine est déchargé sur le disque en exe temporaire, il suffit alors de copier cet exe temporaire pendant son exécution pour faire sauter la protection et avoir l'e programme d'origine.
Merci de votre aide mais je pense que c'est un sujet pas facile.
cs_darkstorm
Messages postés44Date d'inscriptiondimanche 3 février 2002StatutMembreDernière intervention22 mai 2006 14 oct. 2003 à 12:25
Alors pour ta boite de dialogue c'est raide et je te dis pourquoi, il y a 2 façons très faciles de craquer ton truc :
- BPX messagebox avec SOFTICE et tu noppes le call de ta boite et ploof c'est viré
- Le code doit être obligatoirement intégré ds ton *.exe, donc BPX getdlgitema et bpm sur l'adresse mémoire du string que tu entres, ensuite dès qu'il y la comparaison le code apparaît en clair ds la mémoire...
En quelques mots beaucoup d'efforts pour une protection (TRES) faible.
Je te conseille un cryptage PGP du fichier c plus efficace ;-)
LUDOWHEEL
Messages postés3Date d'inscriptionmardi 14 octobre 2003StatutMembreDernière intervention14 octobre 2003 14 oct. 2003 à 15:02
Bonjour,
En delphi, il faut pour cela utiliser les fichiers BPL, tu charges ton fichier BPL au demarrage et sur une classe du type TDIALFORM, tu crées une instance de n'importe fenetre de dialogue.
Je te conseille de créer une classe generique afin d'exploiter au mieux le polymorphismes. Entre, cela reduit la taille de ton executable et surtout évite toute forme de piratage puisque tu codes est crée à la volé... et il est partagée sur plusieurs fichiers... sert toi aussi d'un fichier ressource crypté.
cs_hendrix
Messages postés65Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention18 novembre 20081 15 oct. 2003 à 12:48
Merci à tous pour votre réponse.
Disons qu'en fait je ne cherche pas un niveau de sécurité exceptionnel comme le laisse penser darkstorm.
Je cherche à ajouter une boite de dialogue en "entrée" d'un exécutable quelconque. Cette boite de dialogue peut permettre l'authentification par exemple et éventuellement des actions de type client serveur pour suivre l'utilisation du logiciel patché par ce "futur" (enfin j'espère !) programme.
La probabilité que les utilisateurs concernés par l'application utilisent softice est nulle.
Pour l'utilisation des fichiers BPL etc etc... préconisé par Ludovic, j'avoue être un peu léger en programmation pour arriver à comprendre ce que tu proposes mais je vais m'y pencher !!!
Donc affaire à suivre et encore merci pour les pistes que vous me donnez.
Bonne journée.
hendrix