Ouverture D' Un Fichier

(Cliquez-ici pour accéder à la version originale de cette discussion avec couleurs et images)







Posted by: moussaxp

SALUT TOUS.....comment ouvrire le ficier de ( DLL) merci



Posted by: Dominique Lefebvre

Citation:
Posté par moussaxp
SALUT TOUS.....comment ouvrire le ficier de ( DLL) merci


Bonjour,

Avant de répondre, peux-tu nous préciser pourquoi tu veux ouvrir une dll (un fichier de code avec une extension.dll, c'est bien ça?) ?

Si c'est pour utiliser une fonction contenue dans cette dll dans un programme, il suffit que tu la déclares (le code dépend de ton langage de programmation).

Pour toute raison (modification du code par exemple), il faut que tu ais le source pour pouvoir le modifier, puis tu devrais ensuite la recomplier...

Il n'est bien sur pas question de l'ouvrir avec un éditeur pour la modifier!



Posted by: clv

un .ddl c'est des extensions system tu en trouves dans ton pc elles servent a la bonne configuration de ton pc



Posted by: eusebius

Citation:
Posté par clv
un .ddl c'est des extensions system tu en trouves dans ton pc elles servent a la bonne configuration de ton pc

Pas vraiment... mais c'est pas grave



Posted by: Patastronch

bloc note cher ami, on ouvre tout avec le bloc note. Juste lorsque c est compilé tu risque de ne rien comprendre et tu peux seulement acceder au code compilé (en assembleur) en ouvrant le fichier avec un editeur héxadécimal.



Posted by: Dominique Lefebvre

Citation:
Posté par Patastronch
bloc note cher ami, on ouvre tout avec le bloc note. Juste lorsque c est compilé tu risque de ne rien comprendre et tu peux seulement acceder au code compilé (en assembleur) en ouvrant le fichier avec un editeur héxadécimal.


Bonjour,

Tu peux effectivement ouvrir une dll (dynamic link library pour info...) avec le bloc note, mais:
- cela ne sert à rien car tu verras du code hexa...
- je te déconseille très fortement de la modifier comme ça: il n'y a quasiment aucune chance pour que tu saches ce que tu fais, même en maîtrisant parfaitement la programmation de ton processeur.

laisse tomber cette méthode!



Posted by: Patastronch

Je me cite pour te répondre ...

Citation:
Posté par Patastronch
lorsque c est compilé tu risques de ne rien comprendre


Eh oui les dll c'est pas des scripts , c'est pas interprété ... c'est compilé.

D'ou :

Citation:
Posté par Patastronch
acceder au code compilé (en assembleur) en ouvrant le fichier avec un editeur héxadécimal.


Mais il est évident que l'assembleur est une torture.

On arrive donc au fait que sans les sources on modifie difficilement un programme.

Citation:
Posté par Dominique Lefebvre
je te déconseille très fortement de la modifier comme ça: il n'y a quasiment aucune chance pour que tu saches ce que tu fais, même en maîtrisant parfaitement la programmation de ton processeur.


Je vois pas le rapport entre un dll et mon processeur quand j'ouvre un fichier compilé avecle bloc note, y aura juste des caracteres incompréhensible mais ce n'est pas du tout un langage de programmation mais seulement la représentation de la mémoire par les charactere ascii correspondant => d'où l'utilité d'utiliser un editeur hexadécimal pour avoir un vrai appercu du contenu.



Posted by: eusebius

Citation:
Posté par Patastronch
Je vois pas le rapport entre un dll et mon processeur quand j'ouvre un fichier compilé avecle bloc note, y aura juste des caracteres incompréhensible mais ce n'est pas du tout un langage de programmation mais seulement la représentation de la mémoire par les charactere ascii correspondant => d'où l'utilité d'utiliser un editeur hexadécimal pour avoir un vrai appercu du contenu.

Le binaire qui constitue la dll, ou tout exécutable, est une représentation du langage machine de ton processeur, qui EST un langage de programmation sous sa transcription mnémonique, l'assembleur.
Pour reprendre ce qui a déjà été dit, c'est vrai que tu verras avec un éditeur hexadécimal ce que tu ne verras pas avec le bloc-notes, mais je vois pas vraiment à quoi ça va t'avancer (sauf si tu veux repérer des chaînes de caractères dans le code). A part Neo dans Matrix, les gens qui lisent du langage machine sans le désassembler, personnellement j'en connais pas.



Posted by: Patastronch

Citation:
Posté par eusebius
Le binaire qui constitue la dll, ou tout exécutable, est une représentation du langage machine de ton processeur, qui EST un langage de programmation sous sa transcription mnémonique, l'assembleur.


Quelque soit mon processur, je verrais les memes caracteres dans le binary du dll vu que les valeurs en mémoire resteront les memes.Le code ne change pas d'un processeur a l'autre. Donc ce que je verrais n'aura rien a voir avec mon processeur.

Citation:
Posté par eusebius
Pour reprendre ce qui a déjà été dit, c'est vrai que tu verras avec un éditeur hexadécimal ce que tu ne verras pas avec le bloc-notes, mais je vois pas vraiment à quoi ça va t'avancer (sauf si tu veux repérer des chaînes de caractères dans le code). A part Neo dans Matrix, les gens qui lisent du langage machine sans le désassembler, personnellement j'en connais pas.


Pourtant une instruction en assembleur est une valeur hexaecimal rien de plus. Peu de gens doivent connaitre l'assembleur du x86 par coeur en hexa je te l'accorde, mais y en a je peux te l'assurer, rien que la ou je travail en ce moment j'en vois au moins 3.

Bon de toute facon je comprends pas trop comment on en a dévié ici. Il demande avec quoi il peut ouvrir un fichier, je lui réponds qu'il a acces seulement au code assembleur et non au programme non compilé. Mais si tu penses que j'ai tord, hésite pas à lui sortir ton décompilateur magique parceque ca m'interesse également... non ? tu n'en a pas ? parceque je doute serieusement qu'un tel outil puisse exister. Donc la seule maniere d'ouvrir un dll à ma connaissance est bel est bien un éditeur hexadécimal (qui généralement sont capable de désassembler) ou de le désassembler directement comme tu le dis si bien.



Posted by: eusebius

Citation:
Posté par Patastronch
Quelque soit mon processur, je verrais les memes caracteres dans le binary du dll vu que les valeurs en mémoire resteront les memes.Le code ne change pas d'un processeur a l'autre. Donc ce que je verrais n'aura rien a voir avec mon processeur.

Désolé de te contredire, à des architectures différentes correspondent des jeux d'instructions (ou langages d'assemblages) différents, des modes d'adressage différents, et donc un langage machine différent. Tu as l'air plutôt "au courant" des choses, si tu cherches dans ta ptite tête bien remplie, tu te diras sans doute "ah mais oui bien sûr, on peut pas coder un x86 comme on code un 68k ou un SPARC..." Enfin bon, c'est du détail et ça a pas grand-chose à voir avec la question.

Pour le reste je suis d'accord avec toi, mais je te confirme : les décompilateurs ça existe. J'en ai jamais utilisé, dans le cadre général c'est illégal de décompiler un programme, et de toute manière comme tu peux l'imaginer ça produit en général de la merde.



Posted by: Patastronch

Citation:
Posté par eusebius
Désolé de te contredire, à des architectures différentes correspondent des jeux d'instructions (ou langages d'assemblages) différents, des modes d'adressage différents, et donc un langage machine différent.


Tu n'as pas compris ce que je disais je crois. SI je te file caca.dll de mon ordi, ce que tu verra dans ce dll sera la meme chose que ce que je verrais quelque soit nos ordi. Mais je ne dis pas que le caca.dll qui est deja sur ton ordi est identique au mien ou qu'il fonctionnera sur mon ordi. Juste que lorsque j'ouvre un fichier, le processeur n'influence en rien sur ce que je vois. Enfin bon c est un détail.



Posted by: eusebius

Citation:
Posté par Patastronch
Tu n'as pas compris ce que je disais je crois. SI je te file caca.dll de mon ordi, ce que tu verra dans ce dll sera la meme chose que ce que je verrais quelque soit nos ordi. Mais je ne dis pas que le caca.dll qui est deja sur ton ordi est identique au mien ou qu'il fonctionnera sur mon ordi. Juste que lorsque j'ouvre un fichier, le processeur n'influence en rien sur ce que je vois. Enfin bon c est un détail.

OK, c'était juste un quiproquo... fin de la digression !











-