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
, purtroppo non mi ricordo il nome di questa tecnica, forse qualcun altro potrà illuminarti
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