QuietPolyfill, dilopkerek NPM ku vejiyand

QuietPolyfill: Dilopkerek NPM ku vejiya

TL; DR

Bîst pakêtên npm ku di dawiya Tîrmeh û destpêka Tebaxa 2026an de di du rojan de hatin weşandin, xwe wekî pirtûkxaneyên pêkhateyên UI yên navxweyî û amûrên paşîn ên hevpar pêşkêş dikin. Tu yek ji wan fonksiyonên ku ew reklam dikin pêk nayne. Her yek ji wan çînek stub, README-yek ku pakêtê wekî navxweyî diyar dike, û pelek bi navê dişîne. _polyfill.js.

Beşa balkêş ew e ku ew dosya ji ku tê gazîkirin. Ew ne çengelek sazkirinê ye — manîfestoyan diyar dikin ku qet pêş-sazkirin, sazkirin, an jî piştî-sazkirinê tune. Di şûna wê de, rêza dawî ya index.js dixwîne: try { require("./_polyfill"); } catch (_) {}. Barkêş cara yekem ku koda serîlêdanê pakêtê îtxal dike dixebite. Sazkirin bi --ignore-scripts, ji standard şîret ji bo kêmkirina rûbirûbûna zincîra dabînkirinê di dema sazkirinê de, asteng nake ku ew.

Çi _polyfill.js Ev yek pelek pêkanînê ya taybetî ya platformê ji yek ji sê mêvandarên Cloudflare Workers digire, wê di navnîşek demkî de bi navekî rasthatî dinivîse, wê wekî pêkanînê nîşan dike, û ji pêvajoya dêûbav veqetandî dide destpêkirin. Ew pêkanîn bi xwe barkerek e: ew hilberên ewlehiya xala dawîn bi navê pêvajoyê rêz dike, navê bikarhênerê heyî li hember hesabên hawîrdora analîzê yên naskirî kontrol dike, navrûyên telemetrîyê yên AMSI û ETW di bîranînê de paç dike, domdariyê di bin navê pêkhateyek dengî ya Windows-ê de saz dike, û binaryek sêyemîn a bi mezinahiya çend megabayt digire. Qonaxa sêyemîn şîfrekirî tê û ye. deşîfrekirin û di bîrê de hate bicîhanîn li şûna ku li ser dîskê were nivîsandin.

Di 1ê Tebaxê de, bi qasî çar demjimêran piştî ku pakêt di nirxandina destî de wekî zirardar hatin piştrast kirin, nozdeh ji bîst navan ji hêla weşangerê xwe ve di rêzek bîst û pênc saniyeyan de ji npm hatin rakirin. Di 2ê Tebaxê de yek ji wan navan dîsa hate tomar kirin - ji hêla hesabek cûda ve, bi heman kodê. Dema ku ev hate nivîsandin binesaziya radestkirinê xizmeta her sê qonaxan dikir.

pakêtên20 navên npm, ~74 guhertoyên weşandî
Navlêkirina mijaranbeaver-ui-* (13), accounts-* (3), û zêdetir afisha-storybook-default, bcore-bravo-eslint-config, arbocrate-sla-prober-arbocrate-sla-prober-core, a.poltoradnev-package-c
KişokImportkirina Modulê (require), ne skripteke çerxa jiyana npm ye
Stage 1_polyfill.js - veguheztin û avêtina avê
Stage 2Barkerê girêdayî statîk, li ser Linux-ê bi UPX-ê pakkirî; jimartina ewlehiya xala dawî, patchkirina AMSI/ETW, domdarî
Stage 3beacon_linux.bin / beacon_mac.bin / update_win.exe, 4–13 MB; şîfrekirî tê şandin, di bîrê de tê xebitandin
PlatformanLinux x64 û arm64, macOS gerdûnî, Windows x64
WeşanxaneDu hesab, yek koda bingehîn
Rewş19 ji 20 navan nehatine weşandin ji hêla operator ve; 1 ji nû ve hate weşandin û zindî; binesaziya radestkirinê zindî ye

Anatomiya êrîşê

Qonaxa 1 - pakêt

Her endam heman şêweyê sê-pelî dişîne. index.js çînek bi destpêk () ku nirxek boolean destnîşan dike, a awa(), Û a mîheng bike() ku hêmanek vebijarkan dike yek. Tiştek din nîne. README.md xêzek sazkirinê dide, a xwestin rêz, û hevoka "Pakêta navxweyî. Ji bo rêbernameyan li CONTRIBUTING.md binêre" — PÊKIRIN.md di tarballê de nîne.

_polyfill.js hinekî kêmtir ji 5 KB ye û wekî koda binesaziyê ya asayî tê xwendin. Bi sê kontrolên jîngehê vedibe:

if (process.env.DISABLE_TELEMETRY ||
    process.env.ANALYTICS_OPT_OUT ||
    process.env.DO_NOT_TRACK)
  return;

Ew guhêrbar kontrolên nepenîtiyê yên kevneşopî ne. Li vir ew kontrol dikin ka gelo binary tê daxistin û bicîhanîn. Makîneyek ku NEŞOPÎNE bi tevahî tê terikandin.

Piştre mohreke carekê tê: pelek li /tmp/.analytics_state, an rewşa_analîtîkê binê % TEMP% li ser Windows-ê, ku dema guherandinê bi pencereyeke 20,357 saniyeyî re tê berawirdkirin. Di nav wê pencereyê de modul tavilê vedigere, ji ber vê yekê importên dubare di dema avakirinê de hewldanek vegerandinê çêdikin li şûna bi dehan.

Mêvanên armanc wekî literal nînin. Ew di dema xebitandinê de ji perçeyan têne kom kirin:

["oob-worker.cf102-","baf.workers.d","ev"].join("")

Sê mêvandar bi vî rengî hatine çêkirin û berî karanînê têne tevlihevkirin, ji ber vê yekê rêz li gorî pêkanînê diguhere. Vegerandin HTTPS GETek e ku bi IPv4-ê ve girêdayî ye. Agentê bikarhêner of girêka-vegerandinê/2.6 — nirxek maqûl ji bo pêvajoyek Node ku were şandin. Bersivek di bin 1,000 byte de tê avêtin û mêvandarê din tê ceribandin.

Eger her sê jî bi ser nekevin, modul vedigere DNS-ê. Ew lêpirsînek TXT-ê ji bo c. ji bo bidestxistina hejmareke perçeyan, dûv re daxwaz dike 0. bi saya n. di komên deh de, bersivan bi hev re dike yek, û encama base64-deşîfre dike. Ev rê heman pelê bicîhkirî li ser tomarên DNS TXT hildigire, ku di jîngehên ku HTTP-ya derketî tê fîltrekirin lê çareseriya DNS-ê nayê de sax dimîne.

bytên wergirtî li vir têne nivîsandin /var/tmp/.cache_<8-hex> li ser Unixê, an jî %TEMP%\dotnet_diag_<8-hex>.exe li ser Windows-ê — navekî pelê ku wekî berhemeke tespîtkirina .NET tê xwendin. Li ser Unixê moda 0755 ji pelê re tê dayîn. Destpêkirin e spawn bi cuda: rast, stdio: "paşguh bike", û bêref(), ji ber vê yekê zarok ji pêvajoya Node ya ku wê dest pê kiriye dirêjtir dijî; li ser Windows-ê gazîkirin lê zêde dike windowsHide: rast.

Du hûrgulî wêneyê temam dikin. Alîkarek wekî const _l = (…a) => pêvajo.stderr.write("") di her gaveke vegerandinê de tê gazîkirin - ew rêzek vala dinivîse û argumanên wê ji holê radike, cihê ku têketin lê rûdine digire. Û her pakêt pelek 81 KB dişîne lib/telemetry.js ku şîroveya sernivîsê "SDK-ya Analîtîkê" bi "veguhestina HTTPS bi zivirandina xala dawî û ceribandina ji nû ve" û "vedîtina karûbarê li ser bingeha DNS-ê ji bo têkçûnê" vedibêje. Di guhertoya heyî de tiştek pêdivî bi wê nîne.

Qonaxa 2 - barkêş

Pelê binary yê Linux x64 pelek ELF-ya bi statîkî ve girêdayî ye ku bi UPX 3.96-ê hatiye pêçandin. Avakirina macOS pelek binary ya gerdûnî ye ku x86_64 û arm64 vedihewîne; avahiya Windows-ê pelek bicîhkirî ya konsolê ya PE32+ ya bêserûber e. Her çar pel hatin dîtin û bi statîkî hatin vekolandin; yek jî nehat bicîhanîn.

Tabloya import û rêzikên avahiya Windows-ê tevgera wê bi zelalî diyar dikin. Ew çareser dike IsDebuggerPresent, CheckRemoteDebuggerPresent, û Pêvajoya Agahiyên NtQuery, û dixwîne SYSTEM\CurrentControlSet\Xizmet\Dîsk\Enum — rêyeke qeydê ku nirxên wê kontrolkerên dîska virtual destnîşan dikin. Ew gazî dike GetDiskFreeSpaceExW û GlobalMemoryStatusEx, lihevhatî bi kontrolkirina ka çavkaniyên mêvandar bi mînakek analîzê ya kurt-temen re li hev dikin an na.

Ew lîsteyek ji navên bikarhêneran digire: CurrentUser, IT Admin, Hong Lee, QUTÎYA TESTÊ, hapubws, mîloz, Timmy, admin, Pêşeka, mînak, vîrûs, dorÇend ji van berhemên jîngehên analîzê yên bi belgekirina giştî ne.

Her wiha navnîşek hilberên ewlehiya xalên dawîn û navên pêvajoyên wan, ku bi rêya wan hatine rêzkirin, hildigire. CreateToolhelp32Snapshot û Process32FirstW/Process32NextW:

  • CrowdStrike Falcon (csfalconservice, CSFalconContainer)
  • Carbon Black (cb.exe)
  • Cylance (cylancesvc.exe)
  • Bitdefender (bdagent.exe)
  • Kaspersky (avp.exe, kavfs.exe)
  • Trend Micro û Ewlekariya Kûr (coreServiceShell, ds_agent.exe)
  • FireEye/Trellix (xagt.exe)
  • Taniium (taniumclient.exe)
  • Hitmanpro (hmpalert.exe)
  • elastic (elastic-agent.exe, elastic-endpoint, filebeat.exe, winlogbeat.exe)
  • Wazuh û OSSEC (wazuh-agent.exe, ossec-agent.exe)
  • Point Point
  • Windows Defender

Du sembolên din jî hene: AmsiScanBuffer, xala têketinê ya ku Windows ji bo şopandina naveroka di bîrê de eşkere dike, û EtwEventWrite, fonksiyona ku Şopandina Bûyeran ji bo Windows-ê bûyeran tomar dike. Her du jî hedefên hevpar in ji bo guhertina di pêvajoyê de ku telemetriya ku ew navrû dê hilberînin tepeser dike.

Persistence du caran li ser Windows-ê xuya dibe. Pelê dualî tê kopî kirin. %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exe, û du mekanîzma wê vedibêjin: nirxek di bin NERMALAV\Microsoft\Windows\Guhertoya Niha\Run, û karekî bernamekirî wekî hatî tomar kirin

schtasks /Create /F /SC ONLOGON
  /TN "\Microsoft\Windows\Multimedia\SystemSoundsService"
  /TR "\"%s\""
  /RL HIGHEST

Rêya peywirê, navê peywirê, û navê bicîhanînê hemî pêkhateyeke dengî ya Windows-ê ya rastîn nîşan didin. /RL HERÎ BILIND asta herî bilind a îmtiyazê ya berdest daxwaz dike.

Avakirina macOS-ê heman şêwazê bi navên guncaw ên platformê dişopîne: ew navnîşek taybetmendiyan dinivîse ~/Pirtûkxane/LaunchAgents/com.apple.windowserver.helper.plist û cîbicîkarê wê li wir datîne ~/.local/share/runtime/com.apple.runtimeEw kontrol dike ji bo /Serlêdan/VMware Fusion.app û /Pirtûkxane/Piştgiriya Serlêdanan/Amûrên VMware.

Kapasîteya torê sê veguhastinan digire nav xwe: WININET.dll ji bo HTTPS-ê bi https://%s:%d%s formata rêzê, WS2_32.dll soketan, û DNSAPI.dll bi DnsQuery_A bi hev re c.%s.%s format string — heman şêweya lêpirsîna hejmartina perçeyan ku qonaxa yekem bikar tîne.

Danasîna li jor ew e ku import, rêzik û rêyên qeydkirinê yên pelê binary di dema vekolînê de nîşan didin. Analîza pir-motorî ya giştî ya heman nimûneya Windows-ê hûrguliyên ku xwendinek statîk a tabloyek importê nikare bi tena serê xwe saz bike zêde dike, û li vir tê veqetandin ne ku wekî çavdêriya yekem-destî ji nû ve were destnîşan kirin. Ew analîz radigihîne ku referansên AMSI û ETW ne tenê hatine çareser kirin lê di heman demê de hatine patch kirin - AmsiScanBuffer in amsi.dll û EtwEventWrite in ntdll.dll — ku şopandina naveroka di bîrê de û şopandina bûyeran ji bo pêvajoyê tepeser dike. Ew kontrolên dij-analîzê wekî li ser bingeha demê radigihîne ji bilî CheckRemoteDebuggerPresent, û destnîşan dike GetThreadContext wekî kontrolkirina xala şikestina hardware-ê gazî dike ku qeydên debug-ê dixwîne. Ew her weha mutex-ek yek-mînakî radigihîne, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}, û navên XizmetaDengênSîstemê wekî nirxa Run-key. Ew nirxa mutex di nav rêzikên ku li vir hatine dîtin de nebû - fîltera derxistinê nîşaneyên heksasî yên bi tîpên mezin ên bi destan veqetand - û ew di tabloya nîşanan de li ser hêza wê analîza giştî ye, ne li ser çavdêriya rasterast.

Stage 3

Barker li ser heman mêvandaran komek rêyên din destnîşan dike. Di dema analîzê de hemî gihîştinê bûn: beacon_linux.bin li 5.3 MB, beacon_mac.bin li 13.3 MB, update_win.exe li 10.3 MB, û çek.bermîl li 4.3 MB. Ev nehatin wergirtin, û tevgera wan nayê zanîn.

Ji bo rêya Windows-ê, analîza giştî ya loader-ê rave dike ka ew qonaxa sêyemîn çawa tê birêvebirin: ew bi rêya WinINet-ê tê wergirtin, şîfrekirî digihîje, û di bîrê de tê deşîfrekirin û bi awayekî refleksîf tê bicîhanîn - bîr tê veqetandin, îtxalkirin çareser dibe, veguhastin tê pêvajokirin, û kontrol bi rêya têlek nû tê derbaskirin. AfirandinaTêlêJi ber vê yekê qonaxa sêyemîn qet li pergala pelan nayê nivîsandin, ji ber vê yekê tespîtkirina li ser bingeha pelan û lêkolîna dîskê ya piştî bûyerê tiştek tune ku jê vegerîne. Ev jî tê vê wateyê ku vegerandina baytan ji mêvandara radestkirinê dê şîfrenivîsê bide, ne pelek bicîhkirî ya analîzkirî.

 

Timeline

Hemû mohrên demê UTC ne û ji metadataya qeyda npm tên, ku afirandin û neweşandina pakêtê bi serbixwe ji her çavdêrekî tomar dike.

HekeÇi
2026-07-31 09:25:05 → 09:29:56Deh nav hatine afirandin, her yek ji guhertoyê dest pê dike 0.0.1, bi qasî sêzdeh saniyeyan ji hev dûr.
2026-08-01 09:38 → 11:29Navên heyî bi hejmarên guhertoyên zêde bilind dibin, 6.1.9 bi saya 6.1.12, 9.9.9 bi saya 9.9.12, 8.9.3 bi saya 8.9.6, 5.4.6 bi saya 5.4.9.
2026-08-01 13:04:14 → 13:04:18Neh din beaver-ui-* navên ku di teqînek çar saniyeyan de hatine afirandin, her yek rasterast di guhertoyek 12.x de bêyî dîrokek berê hatine weşandin.
2026-08-01 ~13:00–14:30Guhertoyên ku di nirxandina destî de wekî zirardar hatine dabeşkirin.
2026-08-01 17:39:49 → 17:40:14Nozdeh ji bîst navan di bîst û pênc saniyeyan de, li pey hev, bi qasî 1.2 saniyeyan ji hev dûr, nehatin weşandin.
2026-08-02 18:58:41a.poltoradnev-package-c dîsa di bin hesabê parastvanê cuda, guhertoyek de hate afirandin 0.0.2.
2026-08-02 19:20:28Awa 33.9.5 bi heman navî hatine weşandin.
2026-08-02 20:14Her sê mêvandarên radestkirinê qonaxên duyem û sêyem xizmetê dikin; demildest DNS bi hejmartina perçeyan bersivê dide.

Du ji van nivîsan hêjayî rawestanê ne.

Teqîna 13:04 di çar saniyan de neh pakêt xistin ser qeydê, her yek bi guhertoyek yekane di diwanzdehan de û bê 0.0.1 li binê wê. Hejmarên versiyonên li ser vê pîvanê, li ser navên rojek kevin, dîroka weşanê nîşan nadin.

Rêzeya neweşandinê bi heman rengî mekanîkî ye: nozdeh nav, bîst û pênc saniye, navbera navberan wekhev e. npm van wekî bûyerên neweşandinê yên asayî tomar dike, ne wekî cihê ku rakirina ji hêla qeydkirinê ve hatî destpêkirin dihêle, ku çalakiyê bi hesabê weşanê re bicîh dike ne bi qeydkirinê re.

 

Nîşaneyên lihevhatinê

Mêvandar û rê hatine defangkirin. Wan ji pergala hilberînê çareser nekin an jî vegerînin.

AwaGiranî
Pêşkêşvanê radestkirinêoob-worker[.]cf99-9b3[.]workers[.]dev
Pêşkêşvanê radestkirinêoob-worker[.]cf102-baf[.]workers[.]dev
Pêşkêşvanê radestkirinêoob-worker[.]cf103-070[.]workers[.]dev
Veguhestina DNStin[.]dl[.]well1[.]site (Linux x64), tina[.] (destê 64), ldr[.] (macOS), win[.] (Windows) — jimara perçeyan li c.<domain>, daneyên li <n>.<domain>
Riyên Qonaxa 2-an/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe
Riyên Qonaxa 3-an/pkg/beacon_linux.bin, /pkg/beacon_mac.bin, /pkg/update_win.exe, /pkg/arm.bin
Rêya avêtinê (Unix)/var/tmp/.cache_<8-hex>
Rêya daketinê (Windows)%TEMP%\dotnet_diag_<8-hex>.exe
Berdewamî (Windows)%APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exe; erk \Microsoft\Windows\Multimedia\SystemSoundsServiceNirxa mifteya xebitandinê SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemSoundsService
Mutex (Windows)Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}
Berdewamî (macOS)~/Library/LaunchAgents/com.apple.windowserver.helper.plist; duqatî li ~/.local/share/runtime/com.apple.runtime
Mohra carekê-vegerandinê/tmp/.analytics_state, %TEMP%\analytics_state (20,357 s pencere)
Daxwaza îmzeyêHTTPS GET, IPv4-pênkirî, Ajansa Bikarhêner: node-fetch/2.6
Pelê Qonaxa-1_polyfill.js, SHA-256 392dc9ec85042ce1796bfa9b8c7bf6e05c7710579aab8b7b1eb73788683883af
Pelê bê referanslib/telemetry.js, SHA-256 2266c9b8e199daebe31a9afcb61d9b0d76706b63c92312fc8223d22de42e63c7
Qonaxa 2 (Linux x64)SHA-256 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3
Qonaxa 2 (Linux arm64)SHA-256 aafc37589c0d21fb729761a1579ca3b278b95bce152aacfa29243ffd27f5eeb7
Qonaxa 2 (macOS)SHA-256 c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00
Qonaxa 2 (Windows)SHA-256 d632c2c0c7801c3da57cf849fe4b4ca8351d9a7fe73c31050bf5dbcc96a16791

Navên pakêtan

kişandina-ui-ya-beaver bişkoka-çalakiyên-beaver-ui karta-ui-ya-beaver-mezin hilbijêra-range-date-range-ya-beaver-ui forma-ui-ya-beaver modal-form-ui-ya beaver objeya-forma-beaver-ui tora-ui-ya-beaver sernivîsa-ui-ya-beaver beaver-ui-hooks kilîtkirina-îkonê-ui-ya-beaver tiştên-beaver-ui-bi-zêdetir layout-ui-ya-beaver forma-dawî-ya-hesaban rewşa-barkirina-hesaban hesab-demjimêr pirtûka-çîrokên-afisha-xwerû bcore-bravo-eslint-config arbocrate-sla-prober-arbocrate-sla-prober-core pakêta-poltoradnev-a-c

Vegotin û tevgera çavdêrîkirî

Du hesabên npm di nav de ne. Nozdeh navên nehatine weşandin ji hêla yek hesabê ve hatine weşandin; pakêta-poltoradnev-a-c di 2ê Tebaxê de bi navekî hesabê û domaineke e-nameyê ya cuda ji nû ve hate tomar kirin. Kod di herduyan de jî heman rêzê ye, û qeydkirina duyemîn heman hostên radestkirinê, heman domainên paşveger ên DNS, heman avakirina rêya dakêşanê, û heman mohra xebitandinê-carekê hildigire.

Cotek ji nû ve hatî weşandin her weha nîşan dide ka ew çawa hatiye çêkirin. Versiyon 0.0.2 û 33.9.5 ji bilî rêza versiyonê di nav de bi baytê wekhev in pakêt.json, Û ji index.js wek hatî şandin 0.0.2 ragihand const VERSION = "33.9.5"Herdu berhemên dîrokî ji yek dara çavkaniyê hatine birîn û piştre hejmar lê hatine danîn. Tune ye. 0.0.2 dîroka pêşketinê ji bo 0.0.2 berdan ji bo temsîlkirinê.

Jimarkirina guhertoyan li seranserê tevahiya setê heman mantiqê dişopîne. Navên pakêtan di vê kampanyayê de wekî tiştên ku di nav rêxistinekê de hene têne xwendin ne ku li ser qeydek giştî: komek pêkhateyên UI, mîhengek ESLint, proberek SLA, pakêtek ku li ser navê kesekî hatiye binavkirin. Dema ku avahiyek girêdayîbûnek bi navî çareser dike û li kêleka qeydek taybet bi qeydek giştî re şêwir dike, hejmara guhertoya bilindtir ew e ku bi ser dikeve. Navek ku li 0.0.1 roja Duşemê û hilgirtin 12.9.6 roja Sêşemê ji bo wê berawirdkirinê tê danîn.

Herdu pêlên weşanê jî bi awayekî ji hev cuda ne ku dubarekirinê nîşan dide. Koda berê navê pelê barkirinê yê wê sazkirin.js û pênc mêvandarên radestkirinê navnîş kir; pelê heyî bi navê _polyfill.js û sêyan rêz dike. Guhertoya berê pelê ku hatibû avêtin pênc saniye piştî destpêkirinê rakir, û pêvajo ji inodek jêbirî hişt ku bimeşe; guhertoya niha na. lib/telemetry.js li seranserê herduyan di tarballê de dimîne, hîn jî tê şandin, êdî bi têlan ve nehatiye girêdan.

Çavdêriyek li ser guhêrbarên kuştinê hêjayî gotinê ye berîcisely, ji ber ku ew li dijî xwendinek gelemperî diqete. DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, û NEŞOPÎNE têne rêzgirtin, û berî ku tiştek din biqewime ew têne kontrol kirin. Lêkolînerek ku hawîrdora analîzê ya wî yek ji wan saz dike, pakêtek dibîne ku qet tiştek nake.

Bandor û tiştên ku parêzvan dikarin bikin

Encama pratîkî ya tetikandina dema importê teng e û hêjayî gotinê ye. npm sazkirin –skrîptên-îxbarkirinê rê li ber xebitandina skrîptên çerxa jiyanê digire, û ev şîretek baş e. Li vir bandorek wê tune, ji ber ku ev kod skrîptek çerxa jiyanê bikar nayne. Barkêş dema ku koda serîlêdanê, ceribandinek, pakêtek, an linter pêşî modulê import dike dixebite. Li ser bazkerek CI-yê ku saz dike û dûv re tavilê ava dike, her du çend saniyeyan ji hev dûr in.

Ji bo nêçîrê, sînyalên domdar ne tenê bi awayekî rastîn, lê bi awayekî avahîyî ne. Mêvandar, navê pelê û rêyên avêtinê dê biguherin; guhertina van şeklan dijwartir e:

  • Xalek têketina modulê ku daxuyaniya wê ya dawî biceribîne { pêwîstî bi("./x"); } bigire (_) {} li dora pelê ku ne beşek ji API-ya hinardekirî ye. Pakêtek bi polyfill-ek rastîn wê ji jor ve îtxal dike û encama wê bikar tîne. Daqurtandina her xeletiyek ji îtxalkirina ji binê pelê ne birêvebirina xeletiyan e.
  • Zincîrên mêvandar ji hêla ve hatine berhevkirin .bihevgirêdan("") ji rêzek perçeyan. Koda rewa ti sedemek tune ku navekî mêvandar li ser hêmanên array dabeş bike.
  • Pakêtek ku girêdayîbûnên wê yên diyarkirî vala ne lê digihîje https, dns, û zarok_pêvajo di dema importê de. Vegerandin û bicîhanîn di pakêtek ku pêkhateyek UI reklam dike de tevahiya dîtinê ye.
  • Hejmarên versiyonê bi temenê pakêtê re li hev nayên. Navekî ku çend roj berê bi guhertoyek du-reqemî ya sereke, bêyî weşanên navberê, hat weşandin, tiştekî ji bilî pêşveçûna xwe vedibêje.
  • Dinivîse bo / var / tmp or % TEMP% li pey a chmod heta 0755 û spawnek veqetandî. Rêze kurt, rêkûpêk e, û kêm caran bi hev re bêbandor in.

Li ser mêvandarên Windows-ê du kontrolên erzan û pêbawer hene. Artefaktên domdar rêzikên sabît in û yek ji wan ne li ser pergalek paqij e: peywirek bernamekirî li \Microsoft\Windows\Multimedia\SystemSoundsService, nirxek Run-key bi navê XizmetaDengênSîstemê, û pelek bicîhkirî ya bi wî navî di bin de %APPDATA%\Microsoft\Windows\Şablon\Xizmeta dengê rastîn a Windows-ê li tu yek ji wan cihan namîne. Ya duyemîn, barker mutexek yek-mînak a sabît bikar tîne, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}; hebûna wê li ser mêvandarek nîşaneyek e, û ji ber ku barker mutexek heyî wekî "jixwe dixebite" dibîne, pêş-afirandina wê derzîkirinek demkurt a gengaz e dema ku sererastkirin tê plansaz kirin.

Tesbîtkirina qonaxa sêyem pirsgirêkek dijwartir e û hêjayî zelalkirinê ye. Li gorî analîza giştî, ew tê deşîfrekirin û nexşekirin di bîrê de, ne ku li ser dîskê tê nivîsandin, ji ber vê yekê şopandina pelan û lêkolînên dîskê wê nabînin. Tiştê ku tê çavdêrîkirin şopa barkerê bixwe ye - têketinên domdar, mutex, û daxwazên derketinê ji bo mêvandarên radestkirinê an jî domainên DNS-TXT.

Ji bo jîngehên ku girêdayîbûnan ​​ji qeydek taybet û giştî çareser dikin, kêmkirin bi her tiştî li vir nayê guhertin: navên navxweyî yên çarçoveyê da ku navek giştî nikaribe wan têr bike, û çareseriyê ji bo wan çarçoveyan li qeyda navxweyî ve girêbide. Reftara zêdekirina guhertoyê ya ku li jor hatî vegotin tenê li cihê ku guhertoyek giştî ya bilindtir dikare navekî qezenc bike dixebite.

Di dawiyê de, neweşandin hêjayî xwendinê ye, ne wekî dawiyek. Nozdeh nav di bîst û pênc saniyan de ji qeydê derketin û yek ji wan rojek şûnda bi hesabê nû vegeriya, binesaziya radestkirinê di seranserê de nehat destgirtin. Rakirina pakêtan ne rakirina operasyonê ye; mêvandaran di her qonaxê de berdewam kirin dema ku ev dihat nivîsandin. Her darek girêdayîbûnê ku yek ji van navan di navbera 31ê Tîrmeh û 1ê Tebaxê de çareser kiriye, divê wekî ku derfeta pêkanîna qonaxa yekem hebûye were hesibandin, gelo nav hîn jî heye an na.

Çavkanî

amûrên-nermalava-berhevkirinê-ya-sca-amûran
Rîskên nermalava xwe bidin pêşanî, sererast bikin û ewle bikin
Hesabê xwe yê Belaş bistînin.
Qerta krediyê ne hewce ye.

Pêşvebirin û radestkirina nermalava xwe ewle bikin

bi Xygeni Product Suite re