OVH Cloud OVH Cloud

"analyse" d'une dll

18 réponses
Avatar
Jean-Michel Bechet
Bonjour à tous,

Existe-t-il des outils qui permetteraient d'analyser une dll; c'est à dire :
- lister toutes les fonctions présentes dans la dll
- renseigner sur le nombre et le type des paramètres pour chaque fonction
- autres renseignements éventuellement

Merci d'avance ...

JMB.

10 réponses

1 2
Avatar
Benoit
oui, cela existe:
http://www.dependencywalker.com/


"Jean-Michel Bechet" a écrit dans le message de
news:3f0abd30$0$6527$
Bonjour à tous,

Existe-t-il des outils qui permetteraient d'analyser une dll; c'est à dire


:
- lister toutes les fonctions présentes dans la dll
- renseigner sur le nombre et le type des paramètres pour chaque fonction
- autres renseignements éventuellement

Merci d'avance ...

JMB.




Avatar
Jean-Michel Bechet
Génial !!! Merci.


"Benoit" wrote in
message news:beegjf$53b$
oui, cela existe:
http://www.dependencywalker.com/




Avatar
Hou, hou !
et pour extraire/modifier les resources, un outil utile est ResHacker
(http://www.users.on.net/johnson/resourcehacker/)

"Jean-Michel Bechet" a écrit dans le message de news:
3f0abd30$0$6527$
Bonjour à tous,

Existe-t-il des outils qui permetteraient d'analyser une dll; c'est à dire


:
- lister toutes les fonctions présentes dans la dll
- renseigner sur le nombre et le type des paramètres pour chaque fonction
- autres renseignements éventuellement

Merci d'avance ...

JMB.




Avatar
Nicolas Favre-Félix
> - renseigner sur le nombre et le type des paramètres pour chaque fonction



Pourriez-vous m'indiquer comment le faire car je ne trouve pas de fonction
d'export (comme un .h par exemple). Merci
Avatar
Ambassadeur Kosh
> Pourriez-vous m'indiquer comment le faire car je ne trouve pas de fonction
d'export (comme un .h par exemple). Merci



même demande.
le but du jeu, c'est quand même de se fabriquer un .h.
quelle API permet donc d'énumerer tout ce monde la pour generer ainsi xml,
h...
Avatar
Møgluglu
Ambassadeur Kosh a écrit:
Pourriez-vous m'indiquer comment le faire car je ne trouve pas de
fonction d'export (comme un .h par exemple). Merci



même demande.
le but du jeu, c'est quand même de se fabriquer un .h.
quelle API permet donc d'énumerer tout ce monde la pour generer ainsi
xml, h...



Il n'y a pas d'API pour faire ça. Au mieux, on peut avoir les noms des
fonctions exportées, donc la convention d'appel et la taille des
arguments à passer. Mais pas leur ordre, leur types et encore moins leur
signification...

Le seul moyen serait de désassembler les fonctions une à une...
--
Møgluglu
Avatar
Cyrille \cns\ Szymanski
>> Pourriez-vous m'indiquer comment le faire car je ne trouve pas de
fonction d'export (comme un .h par exemple). Merci



même demande.
le but du jeu, c'est quand même de se fabriquer un .h.



Quoi ? Il n'y a même pas de fonction qui sort le code C de la dll ???


--
_|_|_| CnS
_|_| for(n=0;b;n++)
_| b&=b-1; /*pp.47 K&R*/
Avatar
Thierry
Bonjour,

Hou, hou ! a écrit :

et pour extraire/modifier les resources, un outil utile est ResHacker
(http://www.users.on.net/johnson/resourcehacker/)



Rien a voir.

--
"Oh God I am the American dream
I do not think I'm too extreme
An' I'm a handsome son of a bitch
I'm gonna get a good job 'n' be real rich"
Avatar
nospam-hello-world
"Benoit" wrote in message news:<beegjf$53b$...
oui, cela existe:
http://www.dependencywalker.com/



J'ai été surpris de découvrir que ce soft n'était pas (C)Microsoft
Corp.
Comment cela se fait-il qu'il soit livré avec Visual Studio, etc ...
vous connaissez sa petite histoire ?
Avatar
Ambassadeur Kosh
> Il n'y a pas d'API pour faire ça. Au mieux, on peut avoir les noms des
fonctions exportées, donc la convention d'appel et la taille des
arguments à passer. Mais pas leur ordre, leur types et encore moins leur
signification...



si j'usine une dll avec declscpec(export) void f(float x), que j'en extrait
le .lib et que je tente de l'utiliser dans un projet en déclarant dans mon
source declscpec(import) void f(__int32 n) , que se passe t'il ? sachant que
sizeof(__int32) == sizeof(float), le lieur va t'il tranquilement dire amen ?
:)

dans l'image d'apperçu sur le site web, le depends donne le profil exact des
fonctions, genre int SaySoitenly(char *,...).
m'étonnerait qu'on puisse déduire ça uniquement avec les sizeof des
arguments :)
m'étonnerait aussi qu'on désassemble les fonctions et qu'on en déduise les
types par des regles sur le code machine qui manipule les données :)

donc, je me dis que les types (un peu plus que leur taille en tout cas) font
forcément partie des choses qu'on trouve dans les infos d'export...
et donc, je me dis qu'il y a forcément une API quelque part, ou en tout cas
le moyen de fabriquer un .xml ou un .h

non ?
1 2