- AbakwaShims bangene Windows Kuyizendlalelo ezimaphakathi ezishintsha amakholi e-API, ezivumela izinhlelo zokusebenza ezindala ukuthi zisebenze kahle kwezintsha. izinhlelo ezisebenzayo.
- I-Microsoft isebenzisa ama-Shims ku-Application Compatibility Kit (ACT) ukuze ilingise izindawo zefa futhi ixazulule izinkinga zokusebenzisana ngaphandle kokulungisa isofthiwe yoqobo.
- En uhleloAma-Shims nawo asetshenziselwa ukuhlolwa kweyunithi kusetshenziswa amathuluzi afana ne-Microsoft Fakes, ukubamba izingcingo zezindlela zokuqinisekisa imiphumela engaguquki.
- Nakuba iwusizo ekusebenzisaneni, ama-Shims angasetshenziselwa izinjongo ezinonya, okuvumela imijovo ye-DLL noma ukukhushulwa kwamalungelo afihliwe uma kungaphathwa kahle.

Uma uke wazama ukusebenzisa uhlelo oludala enguqulweni yakamuva ye-Windows, kungenzeka ukuthi uhlangabezane nezinkinga zokusebenzisana. Abasebenzisi abaningi abakwazi lokhu, kodwa ngemuva kwalezo zixazululo zomlingo ezinikezwa yiWindows ukuze kusebenze izinhlelo ezindala, kukhona okuthiwa. AmaShiziNakuba kungase kuzwakale njenge-jargon yobuchwepheshe, lezi zinto ezincane zidlala indima enkulu ngaphakathi kwe-ecosystem ye-Microsoft.
Kulesi sihloko sizochaza Yini ama-Shims kuWindows?, ukuthi zisetshenziswa kanjani, izimo ezihlukene eziqala ukusebenza kuzo—ngokusemthethweni noma ngonya—nokubaluleka kwazo ekuthuthukisweni, ekuhloleni, nasezimo zokuphepha ze-IT. Uma unentshisekelo ekusebenzeni okujulile kwe-Windows noma usebenza ngezinhlelo zokusebenza zefa, lesi sihloko esakho.
Iyini i-Shim kusayensi yekhompyutha?
Ehlelweni, a shim Isendlalelo sekhodi esibamba izingcingo eziya ku-API ukuze ilungise ukuziphatha kwayo ngaphandle kokushintsha ikhodi yoqobo yohlelo lokusebenza noma i-API. Le nqubo ivame ukusetshenziselwa ukuqinisekisa ukuhambisana phakathi kwezinguqulo zesofthiwe noma ukushintsha ukusebenza ngendlela yesikhashana nelawulwayo.
Ama-Shims angakwazi ukuvimba, alungise noma aqondise kabusha ucingoIsibonelo, uma uhlelo lokusebenza lulindele umsebenzi ongasekho kunguqulo entsha yesistimu yokusebenza, i-Shim ingathwebula lolo kholi futhi iyiqondise kabusha komunye umsebenzi ohambisanayo. Izingxabano zingabuye zilungiswe, noma impendulo ingalingiswa.
Lo mqondo usetshenziswe kakhulu ezindaweni ezihlukahlukene, kusukela kuziphequluli ezisebenzisa izici ezintsha zezinguqulo ezindala ngokusebenzisa ama-polyfill, ezindaweni zokuxhumana kanye nezinhlelo zokusebenza ezifana ne-Windows ezidinga ukugcina izinhlelo zokusebenza zeminyaka edlule zisebenza ngaphandle kwamaphutha.
Ukusebenzisa i-Shims ku-Windows: Ukuhambisana Kwemuva

IMicrosoft iqalise ngokusemthethweni i-Shims ngaphakathi kwe I-Application Compatibility Toolkit (ACT), isethi yamathuluzi eklanyelwe ukulungisa izinkinga zokusebenzisana ezinguqulweni zanamuhla ze-Windows. Lokhu kusebenza kubalulekile uma kukhulunywa ngakho izinhlelo zokusebenza ezakhelwe izinguqulo ezindala zesistimu futhi lokho akuzange kubuyekezwe nge el tiempo.
Enye yezinketho ezinamandla kakhulu ngaphakathi kwe-ACT ukuthi kungenzeka ukufaka isicelo "inguqulo yamanga". Lolu hlobo lwe-Shim lukhohlisa uhlelo lokusebenza ukuthi lucabange ukuthi lusebenza ku-Windows XP, isibonelo, uma lusebenza ku-Windows 10 noma 11. Lokhu kufinyelelwa ngokwamukela amakholi esistimu ahlobene nenguqulo ye-OS kanye ukukhohlisa amanani abuyiswayo.
Isibonelo esisebenzayo sokusebenzisa ama-Shims nge-ACT
Ezinye izinhlelo zenza ukuhlola okuqinile enombolweni yenguqulo yesistimu yokusebenza ngaphambi kokufaka. Isibonelo, uhlelo lokusebenza olwakhelwe ngokuqondile i-Windows XP lungase luhlole ukuthi uhlelo luyayibuyisa yini inguqulo 5.1 futhi, uma lungabuyi, luvimbe ukufakwa. Kulezi zimo, i-Shim ingakwazi ukuvala ucingo System.Environment.OSVersion bese ubuyisela amanani 5.1, okwenza uhlelo lucabange ukuthi lusebenza ku-XP.
Ukuze kusetshenziswe lolu hlobo lokulungiswa ingxenye isetshenziswa Umlawuli Wokuhambisana woMTHETHO, lapho uShim ekhethwa njenge WinXPSP3VersionLie futhi kuboniswa ukuthi kuzosebenza kuwo wonke amamojula ohlelo lokusebenza.
Ungayifaka kanjani i-Shims
Uma i-Shim isilungisiwe ukusuka ku-ACT, ilondolozwa njengefayela elithi .sdb (Shim Database). Leli fayela lingafakwa ohlelweni ukuze iWindows isetshenziswe njalo uma uhlelo lokusebenza oluhambisanayo lusebenza. Isistimu yokusebenza ithola ubukhona be-Shim futhi ilungise ukuziphatha kwayo ngesikhathi sokusebenza..
Lokhu kuvumela izinhlelo zokusebenza ebezingeke zihambisane ingasebenza ngaphandle kwamaphutha, ngaphandle kokudinga ukuguqulwa kwezilingisi zangempela ezisebenzisekayo noma zangaphandle.
Shims ezindaweni ezithuthukisiwe: ukuhlolwa kweyunithi ku-Visual Studio
Enye indawo lapho ama-Shims aneqhaza elifanele kulo ukuhlolwa kweyunithi. Ezindaweni zokuthuthuka ezifana ne-Visual Studio, i ukulungiswa kokuhambisana (shim) Asetshenziselwa ukuhlukanisa izingxenye zekhodi ngesikhathi sokuhlolwa. Lokhu kuyingxenye yohlaka Microsoft Fakes, okuhlanganisa kokubili iziqu njengoba shim.
I-Shims ikuvumela ukuthi ubambe izingcingo ezindleleni zemihlangano ezingeyona ingxenye yesixazululo sakho, njengesistimu noma imitapo yolwazi yezinkampani zangaphandle. Inhloso yabo dlulisela ukusetshenziswa kukhodi yokuhlola yangokwezifiso, ngaleyo ndlela kuqinisekiswe ukuthi ukuhlola kuyabikezelwa futhi akuncikile ezintweni zangaphandle njengesistimu yefayela, inethiwekhi, noma isikhathi sesistimu.
Isibonelo esisebenzayo nge-System.IO
Ake sithi unendlela yokufona System.IO.File.ReadAllLinesEkuhlolweni kweyunithi, awufuni ukuthi empeleni ifunde kudiski, kodwa kunalokho ibuyisele isethi engashintshi yedatha. Nge-Shim, ungabamba lolo cingo futhi ulubuyisele, isibonelo, {"Hello", "World", "Shims"}.
Lokhu kufinyelelwa ngokusebenzisa ifayela Fakes okuhambisanayo, okukhiqizwa ngokuzenzakalelayo kusuka kuphrojekthi yokuhlola. Ngaphakathi kwe-Shim, ikholi yoqobo ithathelwa indawo umsebenzi wangokwezifiso.
Izinhlobo zezindlela ezisekelwayo
I-Fake Shim ingasetshenziswa ku:
- Izindlela ezimile: Ziyabanjwa futhi isithunywa sihlotshaniswa nazo ezichaza ukuziphatha okusha.
- Izindlela zesibonelo (zonke izimo): Sebenzisa ikilasi le-AllInstances ukuze ubambe indlela kunoma iyiphi into yalelo klasi.
- Izindlela zesibonelo zesibonelo esisodwa: Into ye-Shim idalwe iboshelwe esimweni esithile.
- Abakhi: Izimo eziguquliwe zento okukhulunywa ngayo zingabanjwa futhi zibuyiswe.
Imikhawulo ye-Shims ekuhlolweni
Akuyona yonke into engabanjwa ngamaShims. Ngokwesibonelo, ayikwazi ukusetshenziswa kwezinye izigaba zesisekelo ze-NET njenge-mscorlib kwezinye izindawo. Futhi, Akunconywa ukwenza izivivinyo ngokuhambisana uma usebenzisa i-Shims, njengoba ithinta yonke i-AppDomain futhi ayinakho ukuhambisana kwentambo, okungaholela emiphumeleni engahambisani.
I-Shims njengethuluzi le-cybersecurity elihlaselayo
AmaShims nawo adonse ukunaka kwabalingisi abanonya. Njengendlela esemthethweni yokuvimbela nokuguqula izinqubo zesistimu, zingasetshenziselwa ukwenza kanjalo faka ikhodi enonya ezinqubweni eziphephile noma ngisho andisa amalungelo.
Indlela eyaziwa ngokuthi Shimming Attack Kuqukethe ukudala isizindalwazi sokusebenzisana ngokwezifiso esinamathisela okusebenzisekayo noma i-DLL kufayela le ibhuthini, okuvumela ikhodi engagunyaziwe ukuthi isebenze ngaphandle kokuqalisa kabusha isistimu. Lokhu kungafinyelelwa kusetshenziswa isistimu yefayela efanayo ye-.sdb esetshenziswa yi-Microsoft, kodwa ngezinjongo ezinonya.
Ithuluzi I-Shims Database Parser ivumela abacwaningi bezokuvikela ukuthi bahlaziye lawa mafayela e-sdb futhi bathole uma kukhona imizamo yokwenza kanjalo Ukuchibiyela okushisayo, umjovo we-DLL, noma izinguquko kumalungelo okusebenzisa.
Kutholwa kanjani lokhu kuhlasela
Ezinye izinkomba ezibalulekile okufanele uzibheke yilezi:
- Ifaka i-Shim Database ngaphandle kwezinkomba ezilindelekile
- Izinsuku zokuguqulwa ezingajwayelekile
- Amaphethini afanayo/okubhala kabusha asolisayo ngaphakathi kwamabhayithi ezinhlelo zokusebenza eziqondiwe
Lokhu kukhohlisa kugcinwa ku-Windows Registry futhi kungaqhubeka ngisho nangemva kokuqalwa kabusha kwesistimu. Ngakho-ke, kubalulekile ukuqapha noma yiziphi izinguquko ezisolisayo kumafayela we-.sdb akhona kusibhalisi. \Windows\AppPatch\sysmain.sdb noma okulingana nabo.
Uyini umehluko phakathi kwe-Shim, i-Wrapper ne-Stub?
Ekuthuthukisweni kwesoftware kunemiqondo eminingana efanayo engadideka kalula:
- shim: Ibamba futhi ilungise amakholi e-API, ibhale kabusha noma iqondise kabusha ukuziphatha kwayo ngaphandle kokushintsha ikhodi yoqobo.
- Isisuli: ihlanganisa omunye umsebenzi noma into, ingeza ukusebenza ngaphandle kokulungisa into yokuqala.
- Isiqu: Ukumiselela okwenziwe lula komsebenzi wangempela, ngokuvamile osetshenziswa phakathi nokuhlolwa ukuze kulingise ukuziphatha.
Ngenkathi ama-Wrappers nama-Stubs enziwa ngokucacile kukhodi, ama-Shims asebenza ezingeni eliphansi, ukulungisa indlela yokusebenza yesikhathi sokusebenza, ngisho nakumalabhulali ahlanganisiwe noma isistimu yokusebenza ngokwayo.
Lezi zici zibalulekile ekuqondeni ukuthi iWindows ikugcina kanjani ukuhambisana, ithuthukisa ukuhlola, kanye nokuthi ingaxhashazwa kanjani abadlali abanonya. Ukuqonda kahle ukuhlukana kwabo nemisebenzi kuyisihluthulelo sokusebenzisa izinzuzo zabo kanye nokuvikela ezingozini zabo.
Umbhali oshisekayo ngomhlaba wamabhayithi nobuchwepheshe ngokujwayelekile. Ngiyathanda ukwabelana ngolwazi lwami ngokubhala, futhi yilokho engizokwenza kule bhulogi, ngikubonise zonke izinto ezithakazelisayo kakhulu ngamagajethi, isofthiwe, ihadiwe, izitayela zobuchwepheshe, nokuningi. Inhloso yami ukukusiza ukuthi uzulazule emhlabeni wedijithali ngendlela elula nejabulisayo.