Kas yra kodo įpurškimas „Windows“ sistemoje?
Kodo įpurškimas yra įprastas sistemoje „Windows“. Programos „švirkščia“ savo kodo gabalus į kitą einamąjį procesą, kad pakeistų jo elgesį. Šis metodas gali būti naudojamas geram ar blogam, tačiau bet kuriuo atveju gali sukelti problemų.
Kodo įpurškimas taip pat dažnai vadinamas DLL injekcija, nes švirkščiamas kodas dažnai yra DLL (dinaminės nuorodos bibliotekos) failo forma. Tačiau programos taip pat gali įšvirkšti kitų tipų kodus, kurie nėra DLL.
Kokia kodo injekcija naudojama
Kodo įpurškimas naudojamas visoms „Windows“ gudrybėms ir funkcijoms atlikti. Nors teisėtos programos ją naudoja, ją naudoja ir kenkėjiškos programos. Pavyzdžiui:
- Antivirusinės programos dažnai įveda kodą į žiniatinklio naršykles. Jie gali naudoti, pavyzdžiui, stebėti tinklo srautą ir blokuoti pavojingą interneto turinį.
- Kenkėjiškos programos gali pridėti kodą į jūsų naršyklę, kad būtų galima geriau stebėti naršymą, pavogti apsaugotą informaciją, pvz., Slaptažodžius ir kredito kortelių numerius, ir pakeisti naršyklės nustatymus.
- „Stardock“ „WindowBlinds“, kuri vaizduoja jūsų darbalaukį, įveda kodą, kad pakeistų langų brėžinį.
- „Stardock“ tvoros įveda kodą, kad pakeistų „Windows“ darbalaukio veikimo būdą.
- „AutoHotkey“, kuris leidžia jums sukurti scenarijus ir priskirti jiems sisteminius klavišus, šiam tikslui įveda kodą.
- Grafikos tvarkyklė kaip NVIDIA švirkščia DLL, kad galėtų atlikti įvairias su grafika susijusias užduotis.
- Kai kurios programos įdeda DLL, kad pridėtų papildomas meniu parinktis.
- PC žaidimų sukčiavimo įrankiai dažnai įdeda kodą į žaidimus, kad pakeistų jų elgesį ir gautų nesąžiningą pranašumą prieš kitus žaidėjus.
Ar kodo įšvirkštimas yra blogas?
Šią techniką nuolat naudoja įvairios programos „Windows“. Tai vienintelis realus būdas atlikti įvairias užduotis. Palyginti su šiuolaikiška mobilia platforma, pvz., „Apple“ „iOS“ ar „Google“ „Android“, „Windows“ darbalaukis yra toks galingas, nes jei siūlote tokį lankstumą kūrėjams.
Žinoma, su visa ta jėga kyla pavojus. Kodo įpurškimas gali sukelti problemų ir klaidų programose. „Google“ teigia, kad „Windows“ naudotojai, turintys kodą su „Chrome“ naršykle, dažniau patiria „Chrome“ gedimų, todėl „Google“ stengiasi užblokuoti. „Microsoft“ pažymi, kad kenkėjiškos programos gali naudoti kodo injekciją, kad suklastotų naršyklės nustatymai, o tai yra viena iš priežasčių, kodėl jis jau užblokuotas „Edge“.
„Microsoft“ netgi pateikia instrukcijas, kaip patikrinti, ar trečiosios šalies DLL yra įkeliami į „Microsoft Outlook“, nes jie sukelia tiek daug „Outlook“ gedimų.
Kadangi „Microsoft“ darbuotojas įdėjo į kūrėjo tinklaraštį nuo 2004 m .:
DLL injekcija niekada nėra saugi. Jūs kalbate apie kodavimo kodą į procesą, kuris niekada nebuvo suprojektuotas, pastatytas ar išbandytas proceso autoriaus, ir bendrai pasirinko arba sukūrė temą, kad paleistų šį kodą. Kyla rizika, kad bus sukurta laiko, sinchronizavimo ar išteklių problema, kuri nebuvo ten, kurioje buvo arba buvo dar daugiau problemų ten, kur buvo.
Kitaip tariant, kodo įpurškimas yra nešvarus įsilaužimas. Idealiame pasaulyje tai būtų saugesnis būdas, nesukėlęs galimo nestabilumo. Tačiau kodo injekcija yra tik įprastinė „Windows“ programos platformos dalis. Tai nuolat vyksta fone Windows kompiuteryje. Jūs galite tai pavadinti būtinu blogiu.
Kaip patikrinti įšvirkštus DLL
Galite patikrinti, ar jūsų sistemoje yra injekcijos, naudojant „Microsoft“ galingą „Process Explorer“ programą. Tai iš esmės yra išplėstinė Task Manager versija, papildyta papildomomis funkcijomis.
Jei norite tai padaryti, atsisiųskite ir paleiskite „Process Explorer“. Spustelėkite View> Lower Pane View> DLL arba paspauskite Ctrl + D.
Viršutinėje srityje pasirinkite procesą ir apatinėje srityje peržiūrėkite, kad būtų rodomi įkeliami DLL. Stulpelis „Įmonės pavadinimas“ yra naudingas būdas filtruoti šį sąrašą.
Pavyzdžiui, yra normalu, kad „Microsoft Corporation“ čia mato įvairius DLL, nes jie yra „Windows“ dalis. Taip pat normalu matyti, kad tos pačios bendrovės, kaip ir „Google Inc.“, atlieka tos pačios bendrovės DLL, jei „Chrome“ yra žemiau esančiame paveikslėlyje.
Čia taip pat galime rasti keletą „AVAST Software“ atliktų DLL. Tai rodo, kad „Avast“ antimalware programinė įranga, esanti mūsų sistemoje, švirkščia kodą kaip „Avast Script Blocking filter library“ į „Chrome“.
Nėra daug, ką galite padaryti, jei jūsų sistemoje nepavyksta pašalinti programos injekcijos kodo, kad būtų išvengta problemų. Pvz., Jei „Chrome“ reguliariai sugenda, galbūt norėsite pamatyti, ar yra kokių nors programų, kurios į „Chrome“ švirkščia kodą, ir pašalinkite jas, kad jie nebūtų sugadinti „Chrome“ procesų.
Kaip veikia Kodas įpurškimas?
Kodo įdėjimas nekeičia pagrindinės programos disko. Vietoj to jis laukia, kol ši programa bus paleista, ir į šį veikimo procesą įveda papildomą kodą, kad pakeistų tai, kaip ji veikia.
„Windows“ apima įvairias taikomųjų programų sąsajas (API), kurios gali būti naudojamos kodo įpurškimui. Procesas gali susieti save su tiksliniu procesu, priskirti atmintį, įrašyti DLL arba kitą kodą į tą atmintį ir paskui nurodyti tikslinį procesą vykdyti kodą. „Windows“ neleidžia, kad jūsų kompiuteryje esantys procesai trukdytų vieni kitiems.
Norėdami gauti daugiau techninės informacijos, patikrinkite šį dienoraščio įrašą, kuriame paaiškinama, kaip kūrėjai gali švirkšti DLL ir tai pažvelgti į kitų tipų kodo injekciją sistemoje „Windows“.
Kai kuriais atvejais kažkas gali keisti pagrindinį kodą diske, pvz., Pakeisdamas DLL failą su kompiuterio žaidimu su modifikuotu, kad būtų galima apgauti ar piratavimą. Tai techniškai nėra „kodo įpurškimas“. Kodas nėra švirkščiamas į veikiantį procesą, tačiau programa yra apgaulinga įkeliant kitą DLL, turintį tą patį pavadinimą.
Vaizdo kreditas: Lukatme / Shutterstock.com.