Ko te whakaeke tangohanga keteroki PTM i whakatinanahia i roto i te kaitirotiro paetukutuku me te kore JavaScript

Kua whakawhanakehia e te roopu o nga kairangahau mai i etahi whare wananga o Amerika, o Iharaira me Ahitereiria e toru nga whakaeke e rere ana i runga i nga kaitirotiro paetukutuku ki te tango korero mo nga ihirangi o te keteroki tukatuka. Ko tetahi tikanga e mahi ana i roto i nga kaitirotiro me te kore JavaScript, ko etahi atu e rua ka karo i nga tikanga whakamarumaru i nga whakaeke taha-taha, tae atu ki era i whakamahia i roto i te tirotiro Tor me DeterFox. Ko te waehere mo te whakaatu i nga whakaeke, me nga waahanga tūmau e tika ana mo nga whakaeke, ka whakaputaina i runga i GitHub.

Hei tātari i nga ihirangi o te keteroki, ka whakamahia e nga whakaeke katoa te tikanga Prime+Probe, e uru ana ki te whakakii i te keteroki ki te huinga paerewa o nga uara me te kite i nga huringa ma te ine i te wa uru ki a raatau ka whakakiia ana. Hei karo i nga tikanga haumarutanga kei roto i nga kaitirotiro e whakararu ana i te inenga o te wa tika, i roto i nga whiringa e rua, ka tukuna he piira ki tetahi DNS, WebSocket server ranei e whakahaerehia ana e te kaipatu, e pupuri ana i te raarangi mo te wa o nga tono kua tae mai. I roto i tetahi ahuatanga, ka whakamahia he wa whakautu DNS hei tohutoro wa.

Ko nga inenga ma te whakamahi i nga kaiwhakarato DNS o waho, WebSocket ranei, ma te whakamahi i te punaha whakarōpūtanga i runga i te ako miihini, i ranea ki te matapae i nga uara me te tika o te 98% i roto i te ahuatanga tino pai (toharite 80-90%). Ko nga tikanga whakaeke kua whakamatauria i runga i nga momo papaa taputapu (Intel, AMD Ryzen, Apple M1, Samsung Exynos) a kua kitea he ao.

Ko te whakaeke tangohanga keteroki PTM i whakatinanahia i roto i te kaitirotiro paetukutuku me te kore JavaScript

Ko te rereke tuatahi o te whakaeke DNS Racing e whakamahi ana i te whakatinanatanga matarohia o te tikanga Prime+Probe ma te whakamahi i nga raupapa JavaScript. Ko nga rereketanga ka pa ki te whakamahi i te matawā-a-waho DNS me te kaihautu onerror, ka puta i te wa e ngana ana ki te uta i tetahi ahua mai i te rohe kore. Ka taea e te taima o waho te whakaeke a Prime+Probe ki runga i nga kaitirotiro e whakatiki ana, e whakakore rawa ranei i te uru ki nga taima JavaScript.

Mo te tūmau DNS kei runga i te whatunga Ethernet kotahi, ko te tika o te taima e kiia ana ko te 2 ms, he nui ki te kawe i te whakaeke taha-taha (mo te whakataurite, ko te tika o te matawā JavaScript paerewa i Tor Browser he kua heke ki te 100 ms). Mo te whakaekenga, kaore e hiahiatia te mana whakahaere i te tūmau DNS, na te mea kua tohua te wa mahi o te mahi kia waiho ai te wa whakautu mai i te DNS hei tohu mo te whakaotinga o mua o te haki (i runga i te mea i puta te kaihautu onerror. i mua, i muri mai ranei, ka puta he whakatau mo te tere o te mahi tirotiro me te keteroki) .

Ko te tikanga whakaeke tuarua, "String and Sock", e whai ana ki te karo i nga tikanga haumaru e aukati ana i te whakamahi taumata-iti o nga raupapa i roto i te JavaScript. Engari i nga raupapa, ka whakamahia e te String me te Sock nga mahi i runga i nga aho nui rawa atu, ko te rahi ka tohua kia kapi te taurangi i te keteroki LLC katoa (Keteroki taumata whakamutunga). I muri mai, ma te whakamahi i te mahi indexOf(), ka rapua he aho iti i roto i te aho, i te tuatahi ka ngaro i te aho puna, i.e. ka puta te mahi rapu ki te huri i te aho katoa. I te mea he rite te rahi o te raina ki te rahi o te keteroki LLC, ma te karapa ka taea e koe te mahi i tetahi mahi tirotiro keteroki me te kore e raweke i nga raupapa. Hei ine i nga whakaroa, hei utu mo te DNS, ka waea atu ki te tūmau WebSocket e whakahaeretia ana e te kaipatu - i mua i muri i muri i te otinga o te mahi rapu, ka tukuna nga patai i roto i te raina, i runga i te mea ka tatauhia e te tūmau te whakaroa i whakamahia hei tātari i te keteroki. ihirangi.

Ko te rereke tuatoru o te whakaeke "CSS PP0" ka whakatinanahia ma te HTML me te CSS, ka taea te mahi i roto i nga kaitirotiro me te JavaScript kua haua. He rite te tikanga ki te "String and Sock", engari kaore e herea ki te JavaScript. I te wa o te whakaeke, ka hangaia he huinga o nga kaiwhiriwhiri CSS e rapu ana ma te kanohi kanohi. Ko te aho nui tuatahi e whakaki ana i te keteroki ka whakaritea ma te hanga i tetahi tohu div me te ingoa akomanga tino nui. Kei roto he huinga o etahi atu div me o ratou ake tohu. Kei ia o enei momo kohanga tona ake ahua me tetahi kaikowhiri e rapu ana i tetahi aho iti. I te wa e whakaatu ana i tetahi whaarangi, ka ngana te kaitirotiro ki te tukatuka i nga waahanga o roto, ka puta he mahi rapu i runga i te rarangi nui. Ka mahia te rapunga ma te whakamahi i te kopare kua ngaro, ka arahi ki te huri haere i runga i te raina katoa, ka mutu ka puta te ahuatanga "kaore" ka ngana ki te uta i tetahi whakaahua papamuri e tohu ana i nga rohe matapōkere: #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 …

Ko nga subdomains e tukuna ana e te tūmau DNS a te kaitukino, ka taea te ine i te roa o te whiwhi tono. Ka tukuna e te tūmau DNS te NXDOMAIN mo nga tono katoa me te pupuri i te raarangi mo te wa tika o nga tono. Ko te hua o te tukatuka i te huinga o nga divs, ka whiwhi te tūmau DNS a te kaipatu i te raupapa o nga tono, ko nga whakaroa i waenga e hono ana ki te hua o te tirotiro i nga ihirangi keteroki.

Ko te whakaeke tangohanga keteroki PTM i whakatinanahia i roto i te kaitirotiro paetukutuku me te kore JavaScript


Source: opennet.ru

Tāpiri i te kōrero