Hooking

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

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

Automatisering

Hooking kan användas för att automatisera uppgifter som annars fått göras manuellt. Med officella 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

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ärdssystemet för att presentera och interagera med användaren.

Personliga verktyg