Kas ir koda ievadīšana sistēmā Windows?
Kodu ievadīšana ir izplatīta sistēmā Windows. Programmas „injicē” savas koda gabalus citā darbības procesā, lai mainītu tā uzvedību. Šo paņēmienu var izmantot labam vai ļaunam, bet vai nu tā var radīt problēmas.
Kodu injicēšanu parasti sauc arī par DLL injekciju, jo ievadītais kods bieži ir DLL (dinamiskās saites bibliotēkas) faila formā. Tomēr lietojumprogrammas var arī ievadīt cita veida kodus, kas nav DLL.
Kādai koda injekcijai tiek izmantots
Kodu iesmidzināšana tiek izmantota, lai veiktu visu veidu trikus un funkcionalitāti sistēmā Windows. Lai gan likumīgās programmas to izmanto, to izmanto arī ļaunprātīga programmatūra. Piemēram:
- Antivīrusu programmas bieži ievada kodu tīmekļa pārlūkprogrammās. Tās var izmantot, lai, piemēram, uzraudzītu tīkla trafiku un bloķētu bīstamo tīmekļa saturu.
- Ļaunprātīgas programmas jūsu tīmekļa pārlūkprogrammai var pievienot kodu, lai labāk izsekotu pārlūkošanu, nozagtu aizsargātu informāciju, piemēram, paroles un kredītkaršu numurus, un mainītu pārlūkprogrammas iestatījumus.
- Stardock's WindowBlinds, kas raksturo jūsu darbvirsmu, ievada kodu, lai modificētu, kā logi ir sagatavoti.
- Stardock žogi ievada kodu, lai mainītu veidu, kādā darbojas Windows darbvirsma.
- AutoHotkey, kas ļauj jums izveidot skriptus un piešķirt tiem sistēmiskos karstos taustiņus, ievada kodu, lai to paveiktu.
- Grafikas draiveris tāpat kā NVIDIA injicē DLL, lai veiktu dažādus ar grafiku saistītus uzdevumus.
- Dažas programmas injicē DLL, lai lietojumprogrammai pievienotu papildu izvēlnes iespējas.
- PC spēļu krāpšanas rīki bieži ievada kodu spēlēs, lai mainītu viņu uzvedību un iegūtu negodīgas priekšrocības salīdzinājumā ar citiem spēlētājiem.
Vai Kodu iesmidzināšana ir slikta?
Šo metodi nepārtraukti izmanto plaša Windows lietojumprogrammu klāsts. Tas ir vienīgais reālais veids, kā izpildīt dažādus uzdevumus. Salīdzinot ar modernu mobilo platformu, piemēram, Apple iOS vai Google Android, Windows darbvirsma ir tik spēcīga, jo, ja piedāvājat šāda veida elastību izstrādātājiem.
Protams, ar visu šo spēku ir zināms risks. Kodu ievadīšana var radīt problēmas un kļūdas lietojumprogrammās. Google saka, ka Windows lietotāji, kuriem ir ievadīts kods viņu pārlūkprogrammā Chrome, ir 15% lielāka varbūtība, ka viņi piedzīvos Chrome atteici, tāpēc Google strādā pie tā bloķēšanas. Microsoft atzīmē, ka ļaunprātīgas lietojumprogrammas var izmantot koda injicēšanu, lai tās varētu manipulēt ar pārlūka iestatījumiem, kas ir viens no iemesliem, kāpēc tas jau ir bloķēts programmā Edge.
Microsoft pat sniedz norādījumus, lai pārbaudītu, vai Microsoft Outlook ielādē trešo pušu DLL, jo tie izraisa tik daudz Outlook avāriju.
Tā kā Microsoft darbinieks to ievietoja attīstītāja emuārā no 2004. gada:
DLL injekcija nekad nav droša. Jūs runājat par kodēšanas procesu procesā, ko procesa autors nekad nav izstrādājis, neuzbūvējis vai testējis, un kopīgi izvēloties vai izveidojot pavedienu, lai palaistu šo kodu. Jūs riskējat radīt laika, sinhronizācijas vai resursu problēmas, kas nav bijušas pirms vai saasināja problēmas, kas tur bija.
Citiem vārdiem sakot, koda iesmidzināšana ir sava veida netīrs. Ideālā pasaulē būtu drošāks veids, kā to paveikt, kas neizraisīja potenciālu nestabilitāti. Tomēr šodienas iesmidzināšana ir tikai parasta Windows lietojumprogrammu platformas daļa. Tas pastāvīgi notiek fonā Windows datorā. Jūs to saucat par nepieciešamo ļaunumu.
Kā pārbaudīt injicētos DLL
Jūs varat pārbaudīt koda injekciju savā sistēmā, izmantojot Microsoft jaudīgo Process Explorer lietojumprogrammu. Tas būtībā ir uzlabota Task Manager versija, kas papildināta ar papildu funkcijām.
Lejupielādējiet un palaidiet Process Explorer, ja vēlaties to darīt. Noklikšķiniet uz Skats> Apakšējā paneļa skats> DLL vai nospiediet taustiņu kombināciju Ctrl + D.
Izvēlieties procesu augšējā rūtī un skatiet apakšējā rūtī, lai redzētu ielādētos DLL. Ailē “Uzņēmuma nosaukums” ir noderīgs veids, kā filtrēt šo sarakstu.
Piemēram, tas ir normāli, ja šeit ir redzami dažādi DLL, kurus Microsoft Corporation ir izveidojis, jo tie ir daļa no Windows. Tas ir arī normāli, ja ir redzams, ka DLL, ko veikusi tas pats uzņēmums kā attiecīgais process - Google Inc..
Mēs varam arī pamanīt dažus DLL, kurus veic “AVAST Software”. Tas norāda, ka Avast antimalware programmatūra mūsu sistēmā injicē kodu, piemēram, “Avast Script Blocking filter library” Chrome.
Nav daudz, ko jūs varat darīt, ja savā sistēmas malā atrodat koda injekciju no programmas injicēšanas koda atinstalēšanas, lai novērstu problēmas rašanos. Piemēram, ja Chrome atteicas regulāri, iespējams, vēlēsities redzēt, vai ir kādas programmas, kas injicē kodu pārlūkā Chrome, un atinstalēt tās, lai novērstu to, ka tās var mainīt Chrome procesus.
Kā darbojas Kodu iesmidzināšana?
Kodu iesmidzināšana nemaina diska pamatā esošo programmu. Tā vietā tā gaida, ka šī lietojumprogramma darbosies, un tajā ievada papildu kodu, lai mainītu tā darbību.
Sistēmā Windows ir dažādas lietojumprogrammu saskarnes (API), ko var izmantot koda ievadīšanai. Process var saistīt sevi ar mērķa procesu, iedalīt atmiņu, rakstīt DLL vai citu kodu šai atmiņai un pēc tam uzdot mērķa procesam izpildīt kodu. Sistēma Windows neizslēdz, ka jūsu datorā notiekošie procesi šādi traucē.
Lai iegūtu plašāku tehnisko informāciju, skatiet šo emuāra ierakstu, kurā paskaidrots, kā izstrādātāji var injicēt DLL, un skatīties uz cita veida koda ievadīšanu sistēmā Windows.
Dažos gadījumos kāds var nomainīt pamatā esošo kodu diskā, piemēram, nomainot DLL failu, kas tiek piegādāts ar PC spēli, ar modificētu, lai nodrošinātu krāpšanos vai pirātismu. Tas tehniski nav „koda ievadīšana”. Kods netiek ievadīts darbības procesā, bet programma tiek tricked, lai ielādētu citu DLL ar tādu pašu nosaukumu.
Attēla kredīts: Lukatme / Shutterstock.com.