PDA

View Full Version : Come trovare le chiamate a una dll


antonioslim
01-04-2005, 23:44
Ciao a tutti,
ho questo problema, esiste un programmino della scheda tv Terratec la cinergy 600 che permette di ascoltare la radio e di visualizzare l'rds, il programma si chiama ActiveRadio, questo activeradio ha con se una dll chiamata radio_io.dll a noi interessa accedere alle funzioni di questa dll con VB ma non si conosce praticamente niente di questa dll e terratec non ci fornisce supporto.

Avete qualche idea da darmi per cercare di capire come lavora questa dll o come lavora activeradio?

Ciao e grazie

lombardp
02-04-2005, 10:50
Prova a guardare questo programma DEPENDS.EXE, dovrebbe darti la lista delle funzioni, ma per i parametri devi andare a intuito, a quello che ne so.

http://www.windowsnetworking.com/nt/atips/atips279.shtml

71104
02-04-2005, 12:41
per conoscere i parametri devi fare il debug di un programma che la usa, intercettare le chiamate alle funzioni della DLL, e per ogni chiamata risalire sullo stack di una posizione (frame) e studiare tutti i PUSH che vengono fatti prima del CALL; in questo modo ti fai un'idea precisa quantomeno del numero di bytes dedicati ai parametri in ciascun frame, ma per capire il loro significato... ahi ahi! :p
in conclusione, se le funzioni sono tante non ne vale la pena.

PS: se sei fortunato in qualche modo potresti anche riuscire a sgamare i nomi decorati delle funzioni, sui quali però non so molto; anzi, probabilmente ho già sparato una cantonata... :D
forse se avessi almeno il .lib della DLL saresti un passo avanti...

71104
02-04-2005, 12:44
a proposito, il Dependecy Walker non c'è bisogno di scaricarlo da lì, sta nel PSDK.