Qualcuno puo' dami delle informazioni, guide o qualsiasi cosa
che spieghi la struttura di una dll di Windows?
Le DLL vecchie (es. win 98) hanno la stessa struttura di quelle .NET?
Grazie.
Qualcuno puo' dami delle informazioni, guide o qualsiasi cosa
che spieghi la struttura di una dll di Windows?
Le DLL vecchie (es. win 98) hanno la stessa struttura di quelle .NET?
Grazie.
Hybrid Share - Share is Now Easier...
http://hybrid-share.sourceforge.net/
http://directory.fsf.org/hybrid_share.html
http://gnomefiles.org/app.php/Hybrid_Share
Che intendi per "struttura"? Cosa vuoi sapere in particolare?
Una DLL e' un insieme di funzioni esportate ...
Una DLL in codice nativo Win32 e una DLL .NET sono ovviamente diverse *per il tipo* di codice che sta al loro interno, appunto "nativo" nel primo caso e Intermediate nel secondo.
A parte la curiosita', c'e' un altro fine per questa domanda ... ?
per struttura intendo struttura...
come e' organizzata una dll
un qualcosa del genere...codice:struct dll { char nome[N]; void *fun[N]; }
Per le DLL .NET non e' un problema perche' si usa la reflection...
ma dalle native come estraggo i dati e informazioni?
Hybrid Share - Share is Now Easier...
http://hybrid-share.sourceforge.net/
http://directory.fsf.org/hybrid_share.html
http://gnomefiles.org/app.php/Hybrid_Share
Una dll non e' "strutturata" semplicemente in una struttura.
Se vuoi ottenere le informazioni relative alle funzioni esportate, e' una cosa abbastanza complessa perche' devi "navigare" tra un bel po' di strutture contenute nell'header del file PE (Portable Executable) di Win32.
In ogni caso, non puoi ottenere informazioni sui parametri.
la complessita' non e' un problema...
potresti darmi piu' informazioni... e magari qualche link
grazie mille
Hybrid Share - Share is Now Easier...
http://hybrid-share.sourceforge.net/
http://directory.fsf.org/hybrid_share.html
http://gnomefiles.org/app.php/Hybrid_Share
Parti da questo
http://en.wikipedia.org/wiki/Portable_Executable
Ti ricordo pero' che sugli argomenti delle funzioni non puoi sapere nulla ...
Da quello che ho capito una dll oltre alla prima parte di header contiene queste sezioni...
Mi potresti dare una spiegazione rapida di quello che contengono?
Grazie Millecodice:.text .rdata .data .idata .reloc
Hybrid Share - Share is Now Easier...
http://hybrid-share.sourceforge.net/
http://directory.fsf.org/hybrid_share.html
http://gnomefiles.org/app.php/Hybrid_Share
Come ti dicevo, e' un po' complesso ... anche se la cosa non ti spaventa, lo e' lo stesso ...Originariamente inviato da _sys/sid
Da quello che ho capito una dll oltre alla prima parte di header contiene queste sezioni...
Mi potresti dare una spiegazione rapida di quello che contengono?
.text
Contiene il codice eseguibile
.rdata
Contiene i dati inizializzati e read-only
.data
Contiene i dati inizializzati
.idata
E' la tabella dei simboli importati
.reloc
E' la tabella delle rilocazioni
Purtroppo una spiegazione anche sommaria di ogni sezione non e' possibile in un messaggio in un forum ... e' comunque tutto spiegato nella documentazione (65 pagine!) che trovi in
Quello su cui ti devi concentrare e' la
.edata
La sezione in cui ci sono i dati dei simboli esportati (importante in una DLL).
http://download.microsoft.com/downlo.../pecoff_v8.doc
c'e' modo di sapere i valori e il tipo dei dati (in teoria sono costanti, giusto?) in .data e .rdata?
Dai... questa e' l'ultima... poi non ti rompo piu'
Grazie Ancora!
Hybrid Share - Share is Now Easier...
http://hybrid-share.sourceforge.net/
http://directory.fsf.org/hybrid_share.html
http://gnomefiles.org/app.php/Hybrid_Share
Valori e tipo dei dati di cosa?