Hoʻokomo ʻia ka hoʻouka ʻana i ka hoʻouka cache CPU ma kahi polokalamu kele pūnaewele me ka ʻole o JavaScript

Ua hoʻomohala kekahi hui o nā mea noiʻi mai nā kulanui ʻAmelika, Israeli a me Australia i ʻekolu hoʻouka ʻana e holo ana ma luna o nā polokalamu kele pūnaewele e unuhi i ka ʻike e pili ana i nā ʻike o ka cache processor. Hoʻokahi ʻano hana i nā polokalamu kele me ka ʻole o JavaScript, a ʻo nā mea ʻelua ʻē aʻe e kāpae i nā ʻano o ka pale ʻana i nā hoʻouka ʻaoʻao ʻaoʻao, me nā mea i hoʻohana ʻia ma ka polokalamu Tor a me DeterFox. ʻO ke code no ka hōʻike ʻana i nā hoʻouka ʻana, a me nā ʻāpana kikowaena e pono ai no ka hoʻouka ʻana, ua paʻi ʻia ma GitHub.

No ka nānā ʻana i nā ʻike o ka cache, hoʻohana nā hoʻouka āpau i ke ʻano Prime + Probe, e pili ana i ka hoʻopiha ʻana i ka cache me kahi hoʻonohonoho maʻamau o nā waiwai a me ka ʻike ʻana i nā loli ma ke ana ʻana i ka manawa komo iā lākou i ka wā e hoʻopiha ai iā lākou. No ke kāpae ʻana i nā ʻōnaehana palekana i loaʻa i nā mea hoʻokele e hoʻopilikia i ke ana ʻana i ka manawa kūpono, ma nā koho ʻelua, hoʻopiʻi ʻia i kahi kikowaena DNS a i ʻole WebSocket i hoʻomalu ʻia e ka mea hoʻouka, e mālama ana i kahi log o ka manawa o nā noi i loaʻa. I hoʻokahi hoʻohālike, hoʻohana ʻia kahi manawa pane DNS paʻa ma ke ʻano he kuhikuhi manawa.

ʻO nā ana i hana ʻia me ka hoʻohana ʻana i nā kikowaena DNS waho a i ʻole WebSocket, me ka hoʻohana ʻana i kahi ʻōnaehana hoʻohālikelike e pili ana i ka aʻo ʻana o ka mīkini, ua lawa ia e wānana i nā waiwai me ka pololei a hiki i ka 98% i ka hiʻohiʻona maikaʻi loa (awelika 80-90%). Ua hoʻāʻo ʻia nā ʻano hoʻouka kaua ma nā ʻano ʻenehana like ʻole (Intel, AMD Ryzen, Apple M1, Samsung Exynos) a ua hōʻike ʻia i ke ao holoʻokoʻa.

Hoʻokomo ʻia ka hoʻouka ʻana i ka hoʻouka cache CPU ma kahi polokalamu kele pūnaewele me ka ʻole o JavaScript

Hoʻohana ka ʻano mua o ka hoʻouka kaua DNS Racing i kahi hoʻokō maʻamau o ke ʻano Prime+Probe me ka hoʻohana ʻana i nā arrays JavaScript. Hoʻopili nā ʻokoʻa i ka hoʻohana ʻana i kahi kīwī ma waho DNS-based a me kahi mea hoʻohana onerror, i hoʻoulu ʻia i ka wā e hoʻāʻo ʻia e hoʻouka i kahi kiʻi mai kahi kikowaena ʻole. Hiki i kahi manawa waho ke hoʻouka kaua Prime+Probe i nā polokalamu kele pūnaewele e kaupalena a hoʻopau paha i ke komo ʻana i nā manawa JavaScript.

No kahi kikowaena DNS i loaʻa ma ka pūnaewele Ethernet hoʻokahi, ua manaʻo ʻia ka pololei o ka manawa ma kahi o 2 ms, ʻo ia ka lawa no ka hoʻokō ʻana i kahi hoʻouka kaua ʻaoʻao (no ka hoʻohālikelike, ʻo ka pololei o ka manawa JavaScript maʻamau ma Tor Browser ʻo ia. hoemi i ka 100 ms). No ka hoʻouka ʻana, ʻaʻole koi ʻia ka mana ma luna o ka server DNS, no ka mea ua koho ʻia ka manawa hoʻokō o ka hana i mea e lilo ai ka manawa pane mai ka DNS ma ke ʻano he hōʻailona o ka hoʻopau mua ʻana o ka loiloi (e pili ana i ka hoʻomaka ʻana o ka mea hoʻokele hewa. ma mua a ma hope paha, ua huki ʻia kahi hopena e pili ana i ka wikiwiki o ka hana hōʻoia me ka cache) .

ʻO ke ʻano hoʻouka kaua ʻelua, "String and Sock", manaʻo e kāpae i nā ʻenehana palekana e kaupalena ana i ka hoʻohana haʻahaʻa o nā arrays ma JavaScript. Ma kahi o nā arrays, hoʻohana ʻo String a me Sock i nā hana ma nā kaula nui loa, ʻo ka nui o ia mea i koho ʻia i uhi ʻia ka loli i ka cache LLC holoʻokoʻa (Last level cache). A laila, me ka hoʻohana ʻana i ka hana indexOf(), ʻimi ʻia kahi substring liʻiliʻi ma ke kaula, kahi i ʻike ʻole ʻia ma ke kaula kumu, ʻo ia hoʻi. ʻO ka hopena o ka ʻimi ʻana i ka hoʻololi ʻana i ke kaula holoʻokoʻa. No ka mea e pili ana ka nui o ka laina i ka nui o ka cache LLC, hiki i ka scanning ke hana i kahi hana nānā cache me ka ʻole o ka hoʻohana ʻana i nā arrays. No ke ana ʻana i nā lohi, ma kahi o DNS, ua kāhea ʻia kahi kikowaena WebSocket i hoʻomalu ʻia e ka mea hoʻouka - ma mua a ma hope o ka pau ʻana o ka hana ʻimi, hoʻouna ʻia nā nīnau ma ka laina, e pili ana i ka helu ʻana o ka server i ka lohi i hoʻohana ʻia e nānā i ka cache. mea i loko.

Hoʻokomo ʻia ke kolu o ka hoʻouka kaua "CSS PP0" ma o HTML a me CSS, a hiki ke hana i nā polokalamu kele pūnaewele me JavaScript. Ua like ke ʻano me "String and Sock", akā ʻaʻole pili i JavaScript. I ka wā o ka hoʻouka ʻana, hoʻokumu ʻia kahi pūʻulu o nā mea koho CSS i kēlā hulina e ka mask. Hoʻonohonoho ʻia ke kaula nui mua e hoʻopiha ana i ka cache ma ka hana ʻana i kahi div tag me kahi inoa papa nui loa. Aia i loko he pūʻulu o nā divs ʻē aʻe me kā lākou mau ʻike ponoʻī. Loaʻa i kēlā me kēia o kēia mau nested div kona ʻano ponoʻī me kahi mea koho e ʻimi ana i kahi substring. Ke hāʻawi ʻana i kahi ʻaoʻao, e hoʻāʻo mua ka polokalamu kele e hoʻoponopono i nā divs i loko, kahi e loaʻa ai kahi hana ʻimi ma kahi lālani nui. Hoʻohana ʻia ka ʻimi ʻana me kahi mask i ʻike ʻole ʻia a alakaʻi i ka ʻike ʻana ma luna o ka laina holoʻokoʻa, a laila hoʻomaka ke kūlana "ʻaʻole" a hoʻāʻo ʻia e hoʻouka i kahi kiʻi hope e kuhikuhi ana i nā kāʻei kapu. #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

Hāʻawi ʻia nā subdomains e ka server DNS o ka mea hoʻouka, hiki ke ana i nā lohi i ka loaʻa ʻana o nā noi. Hoʻopuka ke kikowaena DNS iā NXDOMAIN no nā noi āpau a mālama i kahi log o ka manawa kūpono o nā noi. Ma muli o ka hoʻoponopono ʻana i kahi hoʻonohonoho o nā divs, loaʻa ka server DNS o ka mea hoʻouka i kahi ʻano o nā noi, ʻo nā lohi ma waena e pili ana me ka hopena o ka nānā ʻana i nā ʻike cache.

Hoʻokomo ʻia ka hoʻouka ʻana i ka hoʻouka cache CPU ma kahi polokalamu kele pūnaewele me ka ʻole o JavaScript


Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka