Newsgroup: it.comp.lang.c++
Titolo: visualizzazioni funzioni dll

Vorrei porre una domanda a cui non ho ancora trovato risposta e credo
sia cosa molto semplice.
Avete presente la miriade di dll che che ognuno ha nel proprio computer?
Come si fa a visualizzare tutte le funzioni che incorporano?
Ad es. io mi sono creato una semplice dll in visual c++ che mi fa la
somma di numeri.
Da vb5 con declare l'ho importata, e sapendone i parametri l'ho potuta
usare correttamente.
Ma come si possono sapere i parametri? Esiste un visualizzatore di dll?
Saluti.

Ma come si possono sapere i parametri? Esiste un visualizzatore di dll?
beh, non puoi usare delle dll cosi' senza sapere a cosa servono. Che
fai chiami le funzioni a caso ? E come parametri passi valori a caso,
e poi vedi cosa succede ?
Di solito si usano le dll che ci si scrive da se oppure quelle di cui
in qualche modo si abbia la documentazione. In genere andare a
curiosare nelle dll o negli eseguibili altrui serve solo per debug
oppure per hacking. :)
Gianpaolo Bottin
- Live Long and Prosper -

Esiste un visualizzatore di DLL in grado di farti vedere il nome delle
funzioni esportate simbolicamente dalla DLL. Ed =E8 il quick view di =
NT.
Clicca destro sulla DLL e scegli quick view per vedere un sacco di dati
relativi alla DLL stessa.
Noterai per=F2 che non vengono visualizzati i parametri. E il motivo =
=E8
molto semplice: quella informazione nella DLL non esiste (a meno che =
non
si tratti di funzioni C++ vere e proprie, in tal caso pui ricavare il
numero ed il tipo dei parametri interpretando il nome della funzione =
con
un demangler, ma non avrai comunque il valore di ritorno). Una DLL
esporta una funzione creando un legame fra un numero/nome ed un
indirizzo all'interno del codice. Al linker (o alle funzioni di binding
in run-time) non serve sapere cosa fa la funzione, quali parametri =
vuole
e che tipo viene ritornato. Serve solo sapere un indirizzo a cui
destinare la call. Il resto sono problemi del programmatore. Quindi
nella DLL esistono solo un array di indirizzi ed un array di nomi (e a
volte neanche quello, semplicemente le funzioni della DLL sono
accedibili per numero, ovvero l'indice dell'array di indirizzi).
---
     Andrea Ferro
SW.AN. Technologies s.a.s.
Merate (Lc)          Italy
	-----Original Message-----
	From:	demis [
SMTP:de...@mall.it
]
	Posted At:	Tuesday, November 11, 1997 2:38 PM
	Posted To:	c++
	Conversation:	visualizzazioni funzioni dll
	Subject:	visualizzazioni funzioni dll
	Vorrei porre una domanda a cui non ho ancora trovato risposta e
credo
	sia cosa molto semplice.
	Avete presente la miriade di dll che che ognuno ha nel proprio
computer?
	Come si fa a visualizzare tutte le funzioni che incorporano?
	Ad es. io mi sono creato una semplice dll in visual c++ che mi
fa la
	somma di numeri.
	Da vb5 con declare l'ho importata, e sapendone i parametri l'ho
potuta
	usare correttamente.
	Ma come si possono sapere i parametri? Esiste un visualizzatore
di dll?
	Saluti.

 
Mi rispondo da solo.
Da quanto ho capito e' una cosa impossibile.
Io con un editor binario sono riuscito a vedere le informazioni relative
alle funzioni nelle dll (solo i nomi, non i parametri), cosa che mi
serve a poco.
A me non interessa l'hacking, ma vorrei poter utilizzare tutte le dll
che ci sono nel mio pc.
Basti pensare che ho 107 mb solo nella dir system !!!
Pensavo e confidavo che le dll una volta compilate scrivessero le
informazioni sulle funzioni contenute in una parte del file, e che
questa potesse essere visualizzata con utility speciali.
Ringrazio per i suggerimenti del solito Giampaolo Bottin e di Stefano.
Saluti.
-- 
Demis Magoga
de...@mall.it
dma...@merlot.dtv.unive.it
http://www.geocities.com/SiliconValley/Horizon/3639
 
[Internet: Chi cerca trova]