Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-06-2006, 12:03   #1
Eddie_Forst
Member
 
Iscritto dal: Dec 2005
Messaggi: 40
Chiamate DLL

Salve a tutti, c'è un modo per sapere quali metodi di una DLL sono chiamati da un eseguibile EXE a runtime?
Eddie_Forst è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2006, 12:42   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Eddie_Forst
Salve a tutti, c'è un modo per sapere quali metodi di una DLL sono chiamati da un eseguibile EXE a runtime?
Dipende .... le funzioni in una DLL possono essere linkate in 2 modi da un eseguibile:

a) In modo "statico". Il nome della DLL e i riferimenti alle funzioni utilizzate è indicato in modo fisso nelle sezioni di header dell'eseguibile. Un tool come il "Dependency Walker" del VC++ consente di visualizzare tutte queste dipendenze statiche.

b) In modo "dinamico". L'eseguibile utilizza le funzioni Win32 LoadLibrary e GetProcAddress per caricare la libreria a run-time e ottenere un puntatore alla funzione da richiamare. In questo caso solo disassemblando l'eseguibile è possibile capire dove e cosa "aggancia" in modo dinamico.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2006, 13:01   #3
Eddie_Forst
Member
 
Iscritto dal: Dec 2005
Messaggi: 40
Allora, le librerie sono caricate in parte dinamicamente e in parte staticamente...
Sto provando ad usare OllyDbg ma non riesco a trovare le chiamate che cerco.
Eddie_Forst è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2006, 13:16   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Eddie_Forst
Allora, le librerie sono caricate in parte dinamicamente e in parte staticamente...
Sto provando ad usare OllyDbg ma non riesco a trovare le chiamate che cerco.
Il dependency walker lo trovi (oltre che nel Visual Studio) <qui>. Prova ad usarlo, se non ti elenca le DLL/funzioni che ti aspetti di trovare ... beh, al 99%, l'eseguibile effettua un link dinamico.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2006, 14:39   #5
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da andbin
Il dependency walker lo trovi (oltre che nel Visual Studio) <qui>. Prova ad usarlo, se non ti elenca le DLL/funzioni che ti aspetti di trovare ... beh, al 99%, l'eseguibile effettua un link dinamico.
grazie dell' indicazione, questo tool mi era sfuggito ed è carinissimo ( per risolvere le dipendenze di runtime, permette di fare anche il profiling dell' eseguibile target )
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2006, 19:25   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
piccola precisazione: i due tipi di linking che andbin ha chiamato statico e dinamico sono in realtà entrambi di tipo dinamico; quello che intendeva dire era implicito ed esplicito (rispettivamente)
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2006, 09:46   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da 71104
piccola precisazione: i due tipi di linking che andbin ha chiamato statico e dinamico sono in realtà entrambi di tipo dinamico; quello che intendeva dire era implicito ed esplicito (rispettivamente)
Sì, hai ragione , tecnicamente è sempre un caricamento dinamico, con la differenza che nel primo caso è il S.O. che legge l'elenco delle dipendenze e carica le DLL mentre nel secondo caso è l'applicazione che carica (quando vuole ed eventualmente in base a certe condizioni) altre DLL.

Con "statico" intendevo solo che le DLL sono indicate e caricate in modo "fisso", "cablato" quando viene caricato l'eseguibile.

Comunque <questa> pagina su MSDN spiega molto bene (meglio di quanto ho fatto io ) i due modi di caricamento.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Logan Paul vende la sua carta Pokemon &q...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
Arriva il primo computer quantistico ad ...
'Se lavori al PC sei a rischio': la prev...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:52.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v