Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: "Interventie" intr-o aplicatie  (Citit de 1988 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
cristi8
Strain
*

Karma: 7
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« : Noiembrie 20, 2008, 18:00:40 »

Salut,
Am o aplicatie (closed source, pe windows), si as vrea ca atunci aplicatia apeleaza o functie dintr-un dll (care este in directorul aplicatiei), o alta aplicatie (creata de mine) sa fie notificata.
Are cineva vreo idee?
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #1 : Noiembrie 21, 2008, 11:10:57 »

Daca stii semnatura functiei, poti sa inlocuiesti dll-ul programului cu unul facut de tine care te anunta cand se apeleaza functia si apoi ruleaza functia din dll-ul original. Practic faci un "wrapper" la acel dll

Daca nu stii semnatura functiei e mai complicat. Teoretic poti sa dezasamblezi programul si sa inlocuiesti toate apelurile catre acea functie din dll cu apel catre functia ta care te anunta si apeleaza functia originala. Aici nu mai trebuie sa stii semnatura functiei, doar muti cursorul de executie acolo unde e deja incarcata functia in memorie.


Sau poti incerca sa faci un program care monitorizeaza accesul la acel fisier. Cand se apeleaza functia din dll se citeste din fisier. Problema este ca s-ar putea sa mearga doar prima data cand acceseaza fisierul, in rest tinandu-l in memorie.

Dupa cum vezi, solutiile nu sunt tocmai simple Smile
Memorat
cristi8
Strain
*

Karma: 7
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #2 : Noiembrie 21, 2008, 17:22:25 »

Aham..
Eu ma gandeam sa fac daca pot ceva in mod dinamic, la incarcarea aplicatiei mele, fara sa modific aplicatia originala (dll injection? nu stiu prea multe despre..).. pt ca vreau sa distribui aplicatia mea mai multor persoane, si nu vreau sa le stric aplicatia originala din vreo greseala.

Oricum, daca e nasol asa, o sa incerc alta abordare..

Mersi!
Memorat
svalentin
Nu mai tace
*****

Karma: 88
Deconectat Deconectat

Mesaje: 704



Vezi Profilul
« Răspunde #3 : Noiembrie 21, 2008, 20:38:54 »

La "solutiile" astea m-am gandit eu. Poate exista si altceva mai simplu.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines