Moskus Skrevet 6. januar 2007 Del Skrevet 6. januar 2007 Siden det er så mange smarte her, så er det lov å spørre: Er dette mulig på noen som helst måte? La oss si at jeg vil finne ut om "calc.exe" åpner en messagebox (som hvis jeg forstår det riktig blir gjort (eller KAN bli gjort) via api-kallet "Messagebox" i user32). Er det mulig å legge til et event i et program som overvåker om dette blir gjort? På forhånd takk for hjelpen! Lenke til kommentar
GeirGrusom Skrevet 6. januar 2007 Del Skrevet 6. januar 2007 Hmmmmm, regner med at dette er mulig hvis du attacher debugger til calc.exe, tror faktisk du kan lage en egen debugger i .NET, men hvordan dette gjøres er jeg ikke sikker på. Det du ser etter er om et program kalle "call [addresse]" men om windows eller noen programmer ser etter dette stadig vekk, ville vært ressurskrevende. Det du kan gjøre, er å se om programmene som kjører linker til denne funksjonen, eneste måten jeg har fått til dette på, er å åpne en .exe fil, og kikke på Import seksjonen, men dette er vanskeligere en det burde vært. Alle programmer som kaller DLL-funksjoner, har en import tabell, dette fungerer som at programmet har et eget lite program for å kalle dll-er, eller eksterne funksjoner: f.eks. CallMessageBox: Call MessageBox return CallShowWindow: Call ShowWindow return og i programmet ser det slik ut push "Hello World" push vbMsgBoxStyle.OkCancel call CallMessageBox som da kaller CallMessageBox, som igjen kaller User32.MessageBox Dette gjør at det er forholdsvis lett å lete i programmet ett "call CallMessageBox", men en måtte isåfall sjekket etter hver instruksjon, eller bytte ut CallMessageBox funksjonen, med en funksjon som sier ifra til ditt program. Skal sjekke litt ut hvordan man lager en debugger. Lenke til kommentar
Moskus Skrevet 6. januar 2007 Forfatter Del Skrevet 6. januar 2007 Takk for innføringen, Geir! Vil det være mulig å gjøre noe a lá API Monitor? Der kan jeg overvåke dialogbokser, og jeg får opp "DialogBoxParamW" (samt noen entrys med "GetDlgEntryText") når jeg trykker på Help -> About i calc.exe. Mulighet for å få til noe slikt? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå