Mis on Windowsi koodi süstimine?

Sisukord:

Mis on Windowsi koodi süstimine?
Mis on Windowsi koodi süstimine?

Video: Mis on Windowsi koodi süstimine?

Video: Mis on Windowsi koodi süstimine?
Video: 5 - Настроек в iOS 15 которые нужно ВКЛЮЧИТЬ! - YouTube 2024, November
Anonim
Koodijärjekord on Windowsis tavaline. Rakendused "süstivad" oma koodi tükid teise käitamisprotsessi, et seda muuta. Seda tehnikat saab kasutada hea või paha, kuid see võib põhjustada probleeme.
Koodijärjekord on Windowsis tavaline. Rakendused "süstivad" oma koodi tükid teise käitamisprotsessi, et seda muuta. Seda tehnikat saab kasutada hea või paha, kuid see võib põhjustada probleeme.

Koodijärjestust nimetatakse sageli ka DLL-süstiks, sest süstitav kood on tihti DLL-i (dünaamilise linkekogu) faili kujul. Rakendused võivad aga protsessi ka süstida muud tüüpi koode, mis pole DLL-id.

Millist koodi kasutatakse injektsiooniks

Koodiksit kasutatakse Windowsi igasuguste trikkide ja funktsioonide teostamiseks. Kuigi seaduslikud programmid seda kasutavad, kasutatakse seda ka õelvara. Näiteks:

  • Viirusetõrjeprogrammid sisestavad sageli veebibrauseritesse koodi. Nad saavad seda kasutada võrguliikluse jälgimiseks ja näiteks ohtliku veebisisu blokeerimiseks.
  • Paharakkad programmid võivad oma brauserisse lisada koodi, et teie sirvimist paremini jälgida, varastada kaitstud teavet, nagu paroolid ja krediitkaardinumbrid, ning muuta brauseri seadeid.
  • Stardocki WindowBlinds, millised teemad teie töölaual, sünkroonib koodi, et muuta aknade joonistamist.
  • Stardock's Fences süstib koodi, et muuta Windowsi töölauat.
  • AutoHotkey, mis võimaldab teil luua skripte ja määrata neile kogu süsteemi jaoks pakutavad kiirklahvid, sünnitab koodi selle saavutamiseks.
  • Graafika draiverid nagu NVIDIA süstitavad DLL-sid erinevate graafikaülesannete täitmiseks.
  • Mõned programmid sisestavad DLL-i, et lisada rakendusele täiendavaid menüüvalikuid.
  • PC mängude petmine tööriistad sageli süstida koodide mängud muutma oma käitumist ja saada ebaõiglane eelis teiste mängijate.

Kas koodinjektsioon on halvasti?

Seda tehnikat kasutatakse pidevalt mitmesugustes Windowsi rakendustes. See on ainus tõeline viis erinevate ülesannete täitmiseks. Võrreldes tänapäevase mobiilplatvormiga, nagu Apple'i iOS või Google'i Android, on Windowsi töölaud nii võimas, sest pakkudes arendajatele sellist paindlikkust.

Loomulikult on see kogu võimuga mingi oht. Koodide sisestamine võib rakendustes põhjustada probleeme ja vigu. Google ütleb, et Windowsi kasutajad, kellel on oma Chrome'i brauserisse sisestatud kood, on 15% tõenäolisemalt, et nad kogevad Chrome'i, mistõttu Google selle blokeerib. Microsoft märgib, et pahatahtlikud rakendused võivad koodi sisestamist kasutada brauseri seadete rikkumiseks, mis on üks põhjusel, et see on Edge juba blokeeritud.

Microsoft pakub isegi juhiseid selle kohta, kas kolmanda osapoole DLL-i laaditakse Microsoft Outlookis, kuna need põhjustavad nii palju Outlooki avaraid.

Microsoft töötaja pani selle 2004. aasta arendaja blogisse:

DLL injection is never safe. You’re talking about squirting code into a process that was never designed, built, or tested by the process’s author, and co-opting or creating a thread to run that code. You run the risk of creating timing, synchronization, or resource issues that weren’t there before or exacerbating issues that were there.

Teisisõnu, koodi süstimine on selline määrdunud häkkimine. Ideaalmaailmas oleks turvalisem viis selle saavutamiseks, mis ei põhjustanud võimalikku ebastabiilsust. Kuid koodi süstimine on täna ainult Windowsi rakendusplatvormi tavaline osa. See toimub pidevalt Windowsi arvuti taustal. Võiksite nimetada seda vajalikuks kurjaks.

Kuidas kontrollida injekteeritud DLL-sid

Saate kontrollida oma süsteemis oleva koodi süstimist Microsofti võimsa rakendusega Process Explorer. See on põhimõtteliselt täiustatud versioon Task Manager'ist, mis on varustatud täiendavate funktsioonidega.

Laadige ja käivitage Protsessor Explorer, kui soovite seda teha. Klikkige käsul Vaade> Alumine paneelivaade> DLL-failid või vajutage klahvikombinatsiooni Ctrl + D.

Valige topeltpaanil protsess ja vaadake allalaaditud allalaaditavate DLL-ide alumist paneeli. Veerg "Firma nimi" pakub kasulikku võimalust selle loendi filtreerimiseks.
Valige topeltpaanil protsess ja vaadake allalaaditud allalaaditavate DLL-ide alumist paneeli. Veerg "Firma nimi" pakub kasulikku võimalust selle loendi filtreerimiseks.

Näiteks on tavaline näha mitmesuguseid Microsoft Corporationi tehtud DLL-sid, kuna need on Windowsi osa. Samuti on tavaline, et Chrome'i puhul kuvatakse allpool oleval ekraanipildil sama firma poolt tehtud protsesside DLL-failid - "Google Inc."

Samuti võime siin näha mõnda "AVAST Tarkvara" tehtud DLL-i. See näitab, et meie süsteemis avastatakse Avast antimalware tarkvara süstimise koodi nagu Chrome'i Avast skripti blokeerimise filtri raamatukogu.

Süsteem ei suuda palju teha, kui leiad oma süsteemis koodisüsti, eemaldage programmi süstimise koodi eemaldamine, et see probleemi ei tekitaks. Näiteks kui Chrome korralikult jookseb kokku, võite näha, kas Chrome'is on olemas süstimisprogrammid ja desinstallige need, et vältida Chrome'i protsesside rikkumist.
Süsteem ei suuda palju teha, kui leiad oma süsteemis koodisüsti, eemaldage programmi süstimise koodi eemaldamine, et see probleemi ei tekitaks. Näiteks kui Chrome korralikult jookseb kokku, võite näha, kas Chrome'is on olemas süstimisprogrammid ja desinstallige need, et vältida Chrome'i protsesside rikkumist.

Kuidas koodisüstimine toimib?

Koodide süstimine ei muuda kettale vastavat rakendust. Selle asemel ootab see, et see rakendus käivitub ja lisab sellele tööprotsessile täiendava koodi, et muuta selle toimimist.

Windows sisaldab erinevaid rakendusprogrammide liideseid (API-sid), mida saab kasutada koodi süstimiseks. Protsess võib lisada sihtprotsessile, eraldada mälu, kirjutada selle mälu jaoks DLL-koodi või muud koodi ning seejärel juhtida koodi käivitamiseks sihtprotsessi. Windows ei takista teie arvutiga seotud protseduuridel sellist häirimist.

Lisateabe saamiseks vaadake seda blogipostitust, milles selgitatakse, kuidas arendajad saavad DLL-i süstida, ja see pilk Windowsi muud tüüpi koodide süstimiseks.

Mõnel juhul võib keegi ketta aluseks olevat koodi muuta, näiteks asendades arvutirežiimiga varustatud DLL-faili, mis on modifitseeritud, et võimaldada petturlust või piraatlust.See ei ole tehniliselt "koodisüstimine". Seda koodi ei süstitakse jooksva protsessi, vaid selle asemel lukustatakse programm sama nimega teise DLL-i laadimise asemel.

Soovitan: