Pakanga Coder: Me ki taua VNC Guy

В tenei blog He maha nga korero a te hunga hötaka kua whakaputaina. He pai ki ahau te maumahara ki aku mea poauau o mua. Ana, tenei ano tetahi korero penei.

I te tuatahi ka aro atu ahau ki nga rorohiko, ina koa ki nga kaupapa, i te 11 pea oku tau. I te timatanga o te kura tuarua bоI pau te nuinga o aku wa waatea ki te tarai i taku C64 me te tuhi BASIC, katahi ka tapahia te waehere kino ki te kutikuti. Kaore au i te kata, he kutikuti.

I muri i te kura (tata ki te 16 tau), ko te nuinga o nga wa ka haere nga tamariki o Ingarangi ki te kaareti, ka kowhiria kia toru, e wha nga kaupapa i mua i te haere ki te whare wananga. I runga i taku aroha ki te pouaka beige me te ripene rekoata i te kainga, ka whakatau ahau ko te ako "pūtaiao rorohiko" i te kaareti te whiriwhiri tika.

I harikoa ahau ki te akoranga nui atu i taku i tumanako ai; i reira ka tutaki tuatahi ahau ki a Pascal raua ko Delphi.

I nga wa okioki i waenga i nga karaehe, ka taea e nga akonga te mahi i runga i tetahi miihini kore utu i roto i te ruma rorohiko. Whakaarohia: he ruma nui, i hangaia mo te kotahi rau tangata, me nga rarangi teepu kua whakakiia ki nga miihini, penei i te waahi e tu ana te kaitirotiro i runga i te waahanga punaha. Kei te hamene tonu nga kaiwhaiwhai, kei te haruru nga poi kiore i runga i nga teepu, kaore e mutu mo te rua. He haunga kee kei te rangi, me te mea e 50-100 nga taiohi homoni e huri ana i ia wa ki te whakamatao i nga rau maramara Pentium III.

Ahakoa nga raruraru hauora, i pai ahau ki te noho ki te rorohiko i te wa e waatea ana taku meneti.

Ko te kaiwhakahaere e mahi ana i roto i te ruuma he tangata poto, waenga-pakeke, i kowhiria mo tenei mahi na tona hiahia kore e ngata ki te noho hei kaitukino kino. Ki taku whakaaro ka pena. Ko te mahi he iti te korero; i tino aroha te tangata ki tana mahi. Ko te mahi ki a ia ko te pupuri i te ota kia kore ai tetahi e whakamahi i te rorohiko o te kura mo nga mea e kore e tika.

Tae noa mai ki tenei ra, ka kii mai taku maarama ki ahau ko te bonus a te kaiwhakahaere i whakawhirinaki tika ki te maha o nga akonga i mauhia e ia ki te ringa ka mau atu ki waho o te ruma rorohiko. E tino mohio ana ahau i utua wawe e tenei tangata tana mokete.

I noho ia ki te kokonga o te ruma rorohiko i te tepu kokonga. A he pai ki te whakaaro kua kitea e ana kaitirotiro huanga he huarahi ki te whakaputa uri me te wa poto o te wa haputanga, he maha tonu. Ka taea e tetahi anake te whakaaro mena he wa tika tana ki te pupuri i a raatau katoa. Ko te tikanga, kei te kata ahau ... i korero ahau i tino kaha tana mahi?

I taua wa, kei te whakahaere te whatunga rorohiko i te Windows 2000. Kare i roa ka kitea e au ko nga wa katoa ka uru atu ahau ki te punaha, ka whakarewahia he tuhinga e tohu ana kia tiimata te VNC mai i te kaute kaiwhakahaere mo te uru mamao ki te papamahi. I nga wa katoa ka hiahia tenei tangata ki te tutei i a koe, ka hono atu ia ki to miihini me te matakitaki. He mea whakamataku, a inaianei ka whakaaro ahau, he kore ture.

Kua tapahia oku niho ki BASIC me C64, ka tuhi ahau ki te C me te iti C++. I taua wa, i tino pirangi tonu ahau ki te reo D, nana i whakatika etahi o nga ngoikoretanga o C++, penei i taku kitenga i tera wa.

I haere ahau ki roto i te ruma rorohiko ki te panui i tetahi mea hou i runga i te D, ki te takaro ranei me te Kaihanga Digital Mars D. I etahi wa, i te wa e raru ana ahau ki te whakaaro mo te heke mai nui o D, ka tuhia e ahau te waehere C ki te tarai i etahi atu kaupapa Win32 ma o raatau matapihi. kakau.

I nga ra tawhito o Win32 hōtaka, ko te kimi i te kakau matapihi ko te huarahi ngawari ki te tarai i etahi atu papatono. Maamaa, he matapihi nga kaupapa GUI katoa o Windows, ahakoa kaore i puta ki te mata. Ma te tuhi i tetahi papatono ki te tiki kakau ki tetahi atu tukanga (he hono tonu ki reira), ka taea e koe te tuku karere ki a ia. Na tenei i whakaaetia etahi mahi taketake penei i te huna/whakaatu i te matapihi hotaka, tae atu ki nga mea tino pai penei i te akiaki i tetahi mahi ki te uta DLL ki roto i tona waahi mahara ka tiimata ki te mahi waehere. I muri i te werohanga DLL, ka timata te ngahau.

I te marama tuatahi me te haurua, kaore tenei kaitirotiro i raru nui ki ahau; ka hono atu ki te tūmau VNC i runga i taku miihini kotahi, e rua ranei. Engari ko tetahi huihuinga motuhake pea i whakaohooho i tana hiahia. Kei te tuhi ahau i etahi tohu C hei huna i nga matapihi Minesweeper (kaore e kati) kia maamaa ake te takaro i roto i te karaehe, i taku kitenga kua pango te tohu VNC ma i roto i te paepae punaha. Ko te tikanga tenei kei te matakitaki mai ia i ahau inaianei.

I haere tonu ahau ki te mahi whakawaehere pera i mua, me te ngana ki te kore e aro ki a ia. I taua wa, ka timata te miihini ki te puhoi haere, e ngana ana ki te tuku i te reiti anga morahi ki tetahi o nga kaitirotiro maha i te kokonga o te ruma. I tata mutu te whakautu a Windows, ka pau taku manawanui, ka takiputa ahau ka mutu mo te ra.

I nga haerenga i muri mai ki te ruma rorohiko, ka aro nui a Colombo ki nga mahi e mahia ana e au i nga wa katoa. I muri i te wha o nga wa, ka whakatau ahau: Me mahi e au tetahi mea mo tenei.

Ka whakaae ahau ka taea e te tangata whai whakaaro, te tangata whai whakaaro te korero tika i tenei take ki a ia, ki tona rangatira ranei. Heoi, ka tuku tonu ahau ki nga whakamatautauranga me te korero tere i ahau ki te tango i tetahi rautaki rereke.

- Kare e taea e koe te mahi me te kore tenei tūmau VNC! — He maha nga wa i korero ai ahau ki a au ano ma te ata noho.

He mea tika ki te patu i te VNC.

I timata ahau ki te haere ki roto i te ruma rorohiko me nga roopu maha o nga akonga me te noho tawhiti atu i te kokonga me nga kaitirotiro ka taea. I mahi tenei mo te wa poto ka hoatu he wa ki ahau ki te whakamatautau whakaaro.

Ko taku nganatanga tuatahi, ki taku whakaaro ka whakaae koe, he tino ngoikore. Matau-matau i runga i te tohu VNC i te paepae punaha, ka kite ahau i tetahi tahua me nga reta makutu EXIT. Kia aroha mai, i tuhia nga reta ki te tuhinga whakahuahua hina. Kua monoa e te kaiwhakahaere te tuemi tahua "Puatu" na roto i te Kaiwhakatika Kaupapahere Rōpū. I ngana ahau ki te patu i te tukanga mai i te Kaiwhakahaere Mahi, engari ko te tikanga kaore i kitea e au na te mea kei te rere i raro i tetahi kaute rereke, nui ake te painga. Kaore i pai.

Ka rere te tūmau VNC i runga i te tauranga TCP 5900, i mahara ahau. Ko taku mahere i muri mai ko te tuku i nga paakete kua kino ki tenei tauranga kia pakaru ai.

He torutoru noa nga ra i pau ai ahau ki te tirotiro i te kawa, me te tuku i nga momo momo paru kua oti te hanga ki te tauranga 5900 me te tumanako ka pakaru. I te mutunga, kare ano i whai hua.

Kua timata ahau ki te whakaaro e kore e taea e au te whakakore i tenei mea, ka oho ohorere ake te ata ki ahau: me whai matapihi kei reira! Me whakaatu e tatou. Tena pea he patene reka "Wahangu" ka taea e au te whakamahi pai!

I whakahaerehia e ahau taku waehere C tata tino pai ki te kimi i te kakau ki te matapihi matua o tetahi atu tukanga - a he pono, kua kitea a VNC. I whakahihiri ahau i te wa e pato ana oku maihao WM_SHOWWINDOW. Ngana ki te whakaaro he aha taku i kite ai i mua i ahau?

Karekau!

Inaianei kei te pakiki ahau... he matapihi tona, engari kei te warewarehia aku karere. I taki rua taku waehere kia mohio kei te mahi. I whakamatauria i runga i etahi atu tukanga, a he pai te mahi. I ngana ahau ki te tuku atu i etahi atu karere ki te matapihi VNC, kaore tonu.

Na ka oho ake ano ki ahau!

He mihi ki te tino matotoru te pukapuka Charles Petzold I ata ako au me pehea te mahi a Win32 i roto i te punaha. Kei ia tono Win32 he matapihi me te "tutira karere". Ko nga karere i puta mai i te taunekeneke a te kaiwhakamahi, tae atu ki nga karere i tukuna e Windows ake, ka tae mai ki roto i te rarangi, a ma te tono tonu e whakatau me pehea te tukatuka.

Ehara i te mea tino pai ki a ia ano. Engari i taku mohiotanga he nui nga rarangi karere kaore ano kia tukatia hei heuristic mo te Kaiwhakahaere Tukatuka Matapihi ki te wawao i roto i te mahi whakairi, ka timata ahau ki te werawera i te serotonin parakore.

Ma te kore e pau te tuarua, ka hoki ahau ki taku waehere C, me te whakarite ki te tuku i tetahi atu karere ki te matapihi matua VNC WM_SHOWWINDOW. I roto i te huringa. Mutunga. Na, he maha nga karere. WM_SHOWWINDOW, i mohio ahau inaianei ka ngana a VNC ki te kore e warewarehia ... i te wa e raru ana.

I whakahiatohia e ahau, i whakahaeretia te 4KB o te waehere tino herekore o taku ao. I muri tata ki te toru hēkona, ka kii a Windows ko te tukanga vncserver.ехе kaore i whakautu, ka tuku he tuku kaore i taea e au te whakakore:

Kei te hiahia koe ki te whakaoti i tenei tukanga?

HERE AE!

Me whakaae ahau mo te toenga o te ra i tino harikoa ahau ki ahau ano.

I muri i etahi haora i pau i te keri i taku mana hou, ka whakatau ahau me pehea taku whakamahi. He tino ngawari ki te patu noa i te huihuinga i mua tonu i a ia. He pai ake taku whakaaro - kia ngaro rawa atu.

i muri i te iriiringa ahi me te kaupapa turanga I mohio ahau ka taea e au te tuhi waehere e rua nga mahi. Ka noho tuatahi ki te tauranga TCP 5900 hou kua wetekina, i nohoia i mua e te tukanga tūmau VNC kore mohio. Na ka hanga he hononga TCP hou ki te tūmau VNC o te miihini kua tohua. Ka takawaenga noa e te waehere nga raraunga katoa i waenga i nga turanga e rua, ka whakaaro a Columbo kei te hono mai ia ki ahau, inaa ka hono atu ia ki tetahi tūmau VNC tino rereke.

Ka noho taku waehere hei piriti huna i waenganui i a au me etahi atu wairua rawakore i whiriwhiria e au. He mea whakamiharo.

I timata tonu ahau ki te tuhi i taku piriti VNC rūpahu. He maha nga wa i hono mai ai a Columbo ki ahau, engari i haere tonu ahau ki te hotaka i mua i a ia. I tae ahau ki te whakatau kaore ia i mohio ki taku mahi, ahakoa i tuhia e au nga mea maamaa penei i nga nama tauranga me nga korero penei // Прощай, жуткий шпион VNC.

I muri i nga ra e rua kare e taea e au te mahi tika i te waehere. Ko te mea kino ake, tata tonu taku mahi me te tohu VNC pango i te paepae punaha. I te wa e hono ana, kaore i taea e au te tuku i te tauranga hei whakamatautau i taku waehere.

Mena kua mohio ahau i tera wa netcat!

I te pae hopea, ua paruparu to ’u aau; i muri a‘e, e taata ahoaho 17 matahiti to ’u. I te matakitaki i te tohu tūmau VNC ma ka huri pango ano, ka mataku ahau, ka whakatuwhera i te waehere taketake e noho ana i te rarangi karere, ka rere ki mua i ona kanohi. I tatari ahau mo etahi hēkona i mua i te panui End Process, kia mohio noa kua kite ia.

Mena ka pehi i taua paatene kaore au i tino mohio he pai tena, katahi ka peke mai ia i muri o tana pa kaha o nga kaitirotiro kia tere haere mai ki a au ki waho o te ruuma.

Ko te mutunga, ka aukatihia ahau i te whatunga mo nga wiki e rua. He whiu tika, i whakaaro ahau. I muri tata ki te toru wiki, ka ngaro te tūmau VNC mai i nga tuhinga whawhai, kaore ano kia puta ki hea atu. Kare au i mohio mena he waahi taku mahi i roto i tenei, kaore ranei, engari i tino pakaru taku mahere ki te whai taonga nui ma te hoko i taku pu VNC ki nga akonga pouri i roto i nga whare rorohiko o te koroni puta noa i te motu.

Source: will.com

Tāpiri i te kōrero