Se connecter / S'enregistrer
Votre question

modifier une dll

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
2 Janvier 2005 12:01:24

Bonjour à tous,
Je voudrais quelques renseignements dans le but de modifier une dll d'un programme libre de droit. Ce programme envoie des instructions via la dll à une interface branchée en usb et je voudrais modifier la dll pour faire fonctionner une autre interface branchée sur port parallelle. Mes connaissances en programmation sont assez minimes mais je suis assez motivé pour faire ca et je ne suis pas préssé plus que ca. Je voudrais donc savoir quel programme faut il utiliser pour décompiler la dll et avoir le code source et en quel langage sera t il ? Merci de vos conseils! A bientot

Autres pages sur : modifier dll

2 Janvier 2005 16:50:53

Ca va être difficile :p 

Pour décompiler la dll tu peux prendre Windasm, IDA... Ensuite tu vérifie si la dll n'a pas été packé, avec un-pack 2.3 par exemple.
Ensuite tu décompile.
Pour le recompiler tu peux utiliser FASM.

Mais tout sera en assembleur donc très difficile à comprendre, donc pour une modification ce sera très difficile surtout qu'il faut avoir un très bon niveau et avoir beaucoup de patience :/  et pour etre franc je pense que ce que tu veux faire est impossible.

Bon courage :p 
2 Janvier 2005 21:02:17

Merci pour ta réponse.
Je voulais te dire que je ne me lancerai pas sur ca si je ne savais pas que ca serait possible. En effet, ca a déja été réalisé sur une ancienne version du logiciel. Donc je pense que c'est possible. Apparemment il ya deja des sujets abordés qui parlent de manip a faire en hexa puis en delphi. Bref ca doit pas etre évident. Ce n'est pas possible de décompiler la dll en c++ avec visual c++ ?
Contenus similaires
2 Janvier 2005 21:24:28

Non c'est pas possible de décompiler la dll avec vc++, tu peux juste voir les ressources eventuellement. Mais la je ne te suis pas trop... tu veux décompiler et retrouver le code source tel quel ? Car ca c'est impossible. Tu peux utiliser un soft de reverse engineering spécialisé pour essayé de l'avoir en c++ mais le résultat n'est pas très beau à voir... :/ 
Sinon le nom de la DLL c'est quoi ?
2 Janvier 2005 21:41:40

Alors pour te donner une idée, je te fais un copier coller d'un post d'une personne qui avait trouvé comment faire marcher une interface avec le logiciel mais cette interface est en usb pas en parallelle comme la mienne mais c'est pour te donner une idée de ce que je veux faire . Le nom de la dll c'est dashard.dll

"Comme je l'avais dit auparavent, j'avais remarqué que la dll d'origine
repondait a + de commandes que ce qui etait documenté. De plus, le logiciel
sunlite utilisait ces fameuses commandes non documentees pour identifier si
la DLL etait bonne ou pas.
J'ai finalement trouvé une solution tres simple au probleme :
la DLL que j'avais ecrite pour le logiciel fonctionnant tres bien pour les
commandes documentées, j'ai tout simplement redirigé les commandes que je ne
gerais pas vers la DLL officielle.
Pour etre plus precis : on edite la DLL d'origine avec un editeur Hexa pour
en changer le nom de la fonction (DasHardCommand) par exemple, on la renomme
en USBHardCommand
ensuite, on declare dans delphi la fonction USBHardCommand comme étant
externe et a prendre a partir de la DLL : USBHard.dll qui est en fait la DLL
d'origine renomée ainsi.
Ensuite, dans le source, je faisais un case pour matcher les commandes. Il m
a suffit d'y rajouter un else pour prendre en compte toutes les commandes
appelées par le logiciel mais que je ne connaissais pas et dans ce
cas, de retourner la reponse de l'appel a USBHardCommand. Comme ca, c'est la
DLL d'origine qui gere elle meme les commandes qui ne sont pas documentées
et qui ne sont pas utiles pour l'interface proprement dit.
"

Merci encore de ton aide
2 Janvier 2005 21:59:14

C'est deja plus claire maintenant :D 
En faite comme la personne qui a fait son explication ci-dessus, tu peux juste utiliser un éditeur hexadécimal, pas besoin de compliquer. Donc pas besoin aussi de décompiler ; il faut juste rechercher les valeurs hexadécimal, mais ca c'est pas trop dur :p .
29 Avril 2006 22:07:49

Utilise reshack si tu veux editer les images ou certais codes qui ont ete etablis dans la dll.
a b L Programmation
30 Avril 2006 01:05:15

Oui mais il te faut faire une autre DLL pour faire un wrapper.
Si tu as les sources (puisque c'est libre), il reste plus simple de modifier les sources et recompiler.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS