Oppure

Loading
22/08/09 8:22
lorenzo
Come da titolo, vorrei sapere se sia possibile intercettare gestire le chiamate alle funzioni delle dll

esempio:

Se chiamo la malloc da un programma(facendolo partire come .exe), è possibile con un altro programma intercettare la chiamata e gestirla ritornando un risultato?
Per la malloc magari far ritornare un puntatore ad una diversa locazione di memoria che quella data di default dalla funzione
aaa
22/08/09 8:45
hack3r
si, si può fare ma , non esattamente come dici tu, è la tecnica usata da molti antivirus e bug hunter, e debugger ora non ricordo bene, si basa sulla sostituzione in memoria della funzione in questione, ad esempio malloc, la nuova funzione dovrà avere le stesse caratteristiche, e fornire lo stesso servizione, nell'esempio di malloc, allocare memoria,
in più potrà scrivere su un file o stampare sullo stdout un messaggio ogni volta che viene chiamata, in questo modo tu potrai avere un log completo di tutte le chiamate a quella funzione :rotfl:, purtroppo non mi ricordo il nome di questa tecnica, forse qualcun altro potrà illuminarti :asd:

ciao :)

edit :

riguardo all'esempio che hai fatto, si può fare benissimo, basta sostituire il codice della malloc
Ultima modifica effettuata da hack3r 22/08/09 8:47
aaa
22/08/09 8:55
lorenzo
eh, ma c'é un modo per sapere che funzioni sta chiamando un programma?
aaa
22/08/09 10:24
hack3r
non so se ti può essere utile ma se lavori su win32 ho trovato questo pdf digifacta.com/~calderon/html/Art7HTML/…
per intercettare chiamate di sistema
aaa
22/08/09 12:07
lorenzo
si quello l'ho già scaricato e appena ho tempo ci metto mano :k:
aaa
22/08/09 16:52
hack3r
googlando ho trovato gnu cflow quù c'è un manuale

gnu.org/software/cflow/manual/…
aaa