Hooking

Från Wikipedia
Hoppa till: navigering, sök

Hooking är en teknik inom programmering när man påverkar ett körbart programs beteende utan att handgripligen ha tillgång till programmets källkod. I vardagligt bruk brukar detta handla om att påverka olika applikationers beteende med yttre medel, som när anropar funktioner till Win32 api för att ändra inställningar eller beteende på skrivbordet eller operativsystemets funktioner. Termen innefattar även skadlig kod, som är en regeltyp av detta. Rootkit och andra otyg kan implementera fällor i kodsnuttar som får den aktuella stackpekaren att hoppa till andra segment och köra skadlig kod.

Användningsområden[redigera | redigera wikitext]

Automatisering[redigera | redigera wikitext]

Hooking kan användas för att automatisera uppgifter som annars fått göras manuellt. Med officiella eller tredjeparts verktyg kan man automatisera vanliga rutiner i ett värdprogram för att spara tid och åstadkomma effektivitet. Ett exempel på detta är de s.k. makroverktyg som finns att ladda hem från internet som kan programmera ett visst beteende. Det bör noteras eftersom pekarens rörelser är timade kan de vara avsynkroniserade med den faktiska speeden, när pekaren klickar på internet ikonen tror makrot att webbläsaren öppnats fast det tar tre sekunder längre och det kan få fatala följder.

Utveckling[redigera | redigera wikitext]

Hooking är ett centralt beteende inom modern programmering. Utan möjlighet att hooka till värddatorns apier skulle varje programmerare få skriva om alla gränssnittsinteraktion för hand. De flesta moderna programspråk innehåller antingen klassar eller länkhuvuden som med funktioner som innehåller hookar så att programmet kan påverka värdsystemet för att presentera och interagera med användaren.