Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C/C++] Struttura di una DLL Windows

    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.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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 ... ?

  3. #3
    per struttura intendo struttura...
    come e' organizzata una dll

    codice:
    struct dll {
        char nome[N];
        void *fun[N];
    }
    un qualcosa del genere...
    Per le DLL .NET non e' un problema perche' si usa la reflection...
    ma dalle native come estraggo i dati e informazioni?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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.

  5. #5
    la complessita' non e' un problema...
    potresti darmi piu' informazioni... e magari qualche link

    grazie mille

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Parti da questo

    http://en.wikipedia.org/wiki/Portable_Executable

    Ti ricordo pero' che sugli argomenti delle funzioni non puoi sapere nulla ...

  7. #7
    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?
    codice:
    .text
    
    .rdata
    
    .data
    
    .idata
    
    .reloc
    Grazie Mille

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    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?
    Come ti dicevo, e' un po' complesso ... anche se la cosa non ti spaventa, lo e' lo stesso ...

    .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

  9. #9
    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!

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Valori e tipo dei dati di cosa?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.