Coder Hondo: Ini vs. That VNC Guy

Π’ iyi blog Nhau shoma dzevagadziri vepurogiramu dzakaburitswa. Ndinofarira kurangarira zvinhu zvangu zvekare zvakapusa. Zvakanaka, heino imwe nyaya yakadaro.

Ndakatanga kufarira makombiyuta, kunyanya kugadzira mapurogiramu, pandakanga ndava nemakore anenge 11. Pakutanga kwechikoro chesekondari bΠΎNdakapedza yakawanda yenguva yangu yekusununguka ndichizeya neC64 yangu nekunyora BASIC, ndozocheka iyo yakaipa kodhi nechigero. Handisi kutamba, chigero.

Pashure pechikoro (pazera remakore 16), vana vokuBritain vanowanzoenda kukoreji, kwavanosarudza kudzidza zvidzidzo zvitatu kana zvina vasati vaenda kuyunivhesiti. Tichifunga nezve rudo rwangu rwebeige bhokisi uye tepi rekodhi kumba, ndakasarudza kuti kudzidza "kombuta sainzi" mukoreji yaive sarudzo yakanaka.

Ndakanakidzwa nekosi yacho kupfuura zvandaitarisira; ikoko ndakatanga kusangana naPascal naDelphi.

Panguva yekuzorora pakati pemakirasi, vadzidzi vaigona kushanda pane chero muchina wemahara mukamuri yekombuta. Fungidzira: kamuri hombe, rakagadzirirwa vanhu vangangosvika zana, rine mitsara yematafura akazadzwa nemichina, senge iyo inomira inomira pane system unit. Mafanisi anogara achinyengerera, mabhora embeva ari kurira pamatafura, asingamire kwesekondi. Kune kunhuhwirira kunoshamisa mumhepo, sekunge 50-100 vechidiki vehomoni vari kuchinja nguva nenguva kutonhora mazana ePentium III chips.

Pasinei nengozi dzeutano, ndaifarira kugara pakombiyuta pandaiva neminiti yakasununguka.

Admin webasa mumba umu aive murume mupfupi, aripakati nepakati ndiye akasarudzwa kuti aite basa iri nekuda kwechishuwo chake chekuda kuva mudzvanyiriri akaipa. Ndinofunga kudaro. Pabasa ndezvishoma; mukomana aida basa rake chaizvo. Akapiwa basa rokuchengeta kurongeka kuitira kuti pasave nomunhu aishandisa kombiyuta yechikoro nokuda kwechinhu chipi nechipi chisina kufanira.

Nanhasi, intuition yangu inondiudza kuti bhonasi ye admin yaienderana nehuwandu hwevadzidzi vaakabata neruoko ndokuperekedzwa kunze kwekamuri rekombuta. Ndine chokwadi chekuti murume uyu akabhadhara chikwereti chake nekukurumidza.

Akagara nechekure kwekamuri rekombuta pakona yetafura. Uye zvaive zvisina njodzi kufunga kuti mamonitor ake ekubereka akange awana nzira yekubereka aine nguva pfupi yekuzvitakura, yaive yakawanda kwazvo. Munhu aingozvibvunza kuti aive aine nguva here yekuvatevera vese. Hongu, ndiri kutamba...ndataura kuti aikoshesa basa rake?

Panguva iyoyo, network yekombuta yaishanda Windows 2000. Ndakakurumidza kuona kuti pese pandaipinda muhurongwa, script yakatangwa yaitsanangura kutanga VNC server kubva ku administrator account for remote access to the desktop. Pese murume uyu paaida kukusora, aibva abatanidza akananga kumushini wako wotarisa. Zvaityisa, uye zvino pandinofunga nezvazvo, pamwe zvisiri pamutemo.

Ndacheka mazino angu paBASIC neC64, ini zvino ndanyora muC uye kunyange zvishoma C ++. Panguva iyoyo, ndakanga ndichiri kufarira zvikuru mutauro weD, uyo wakagadzirisa zvimwe zvikanganiso zveC ++, sezvandakazviona panguva iyoyo.

Ndaiwanzopinda muimba yekombiyuta kuti ndiverenge chimwe chinhu chitsva paD kana kutamba neDigital Mars. zvibato.

Mumazuva akanaka ekare eWin32 programming, kutsvaga hwindo mubato yaive nzira iri nyore yekubira zvimwe zvirongwa. Zviripachena, ese mapurogiramu eGUI paWindows aive nehwindo, kunyangwe risingaonekwe pachiratidziri. Nekunyora chirongwa chekutora mubato kune imwe nzira (chaizvo chinongedzo kwairi), unogona kutumira mameseji kwairi. Izvi zvakabvumira mamwe mabasa ekutanga sekuhwanda / kuratidza hwindo rechirongwa, pamwe nezvinhu zvinotonhorera sekumanikidza maitiro kurodha DLL inopokana munzvimbo yayo yekurangarira uye kutanga kuita kodhi. Mushure mejekiseni reDLL, mafaro akatanga.

Mumwedzi wekutanga nehafu, mutikitivha uyu haana kundinetsa zvakanyanya; yakabatana neVNC server pamushini wangu kamwe chete kana kaviri. Asi imwe nguva inogona kunge yakaita kuti afarire. Ndakanga ndichinyora imwe C kodhi kuti ndivanze Minesweeper windows (pasina kuavhara) kuti zvive nyore kutamba mukirasi, pandakaona kuti chena VNC icon mune system tray yakanga yaita dema. Izvi zvaireva kuti akanga ava kunditarisa.

Ndakaramba ndichikodha semazuva ese, ndichiedza kusamuteerera. Zvichakadaro, muchina wacho wakatanga kudzikira, uchiedza kuendesa iyo yakanyanya furemu chiyero kune imwe isingaverengeki monitors mukona yekamuri. Hwindi vakamboda kumira kudaira, patience payakazopera, ndakabva ndabuda ndokupedza zuva racho.

Pakushanya kwakatevera kukamuri remakombiyuta, Colombo akafarira zvikuru zvandaiita dzinenge nguva dzose. Pashure peinenge kechina, ndakasarudza: Ndinofanira kuita chimwe chinhu pamusoro peizvi.

Ndinobvuma kuti munhu anonzwisisa, ane njere aigona kungotaura nyaya iyi kwaari kana mukuru wake. Zvisinei, nguva dzose ndaikundwa nemiedzo uye ndakakurumidza kutaura kuti ndiite imwe nzira yakasiyana zvachose.

- Iwe haugone kuita chero chinhu pasina iyi VNC server! - Ndakazviudza zvakadzikama uye zvine mutsindo kakawanda.

Zvakanga zvakakodzera kuuraya VNC.

Ndakatanga kupinda mukamuri yekombuta nemapoka makuru evadzidzi uye ndakagara kure nekona nemamonitor sezvinobvira. Izvi zvakashanda kwekanguva uye zvakandipa nguva yekuyedza mazano.

Kuedza kwangu kwekutanga, ndinofunga unobvuma, kwakanga kusina simba. Kudzvanya-kurudyi pane VNC icon mune system tray, ndakaona menyu ine mashiripiti mavara EXIT. Sezvineiwo, mabhii acho akanyorwa negrey outline text. Administrator akadzima "Buda" menyu chinhu kuburikidza neGroup Policy Editor. Ndakaedza kuuraya maitiro kubva kuna Task Manager, asi chokwadi zvaive zvisingaoneki kwandiri nekuti yaimhanya pasi peakasiyana, ane rombo rakanaka. Hazvina kushanda.

Iyo VNC server inomhanya paTCP port 5900, ndakarangarira. Zano rangu rakatevera raive rekutumira mapaketi akaora pachiteshi ichi kuitira kuti chiputse.

Ndakapedza mazuva mashoma ndichizeya neprotocol, ndichitumira akasiyana siyana akanyatsorongeka crap kuchiteshi 5900 uye ndichitarisira kuti ichaputsika. Pakupedzisira, izvozvo hazvina kushandawo.

Ndakanga ndatotanga kufunga kuti handizokwanisi kubvisa chinhu ichi, apo zvakangoerekana zvauya kwandiri: panofanira kuva nehwindo ipapo! Tinofanira kuiratidza. Pamwe ichave neinonaka ine muto "Nyamurai" bhatani randinogona kushandisa zvakanyanya!

Ndakamhanya yangu ikozvino yakada kukwana C kodhi kuti ndiwane mubato kune huru hwindo reimwe maitiro - uye chokwadi zvakakwana, VNC yakawanikwa. Ndakanzwa kufemerwa pakadhindwa zvigunwe WM_SHOWWINDOW. Edza kufungidzira zvandakaona pamberi pangu?

Hapana!

Zvino ndakanga ndakuda kuziva ... yakanga ine hwindo, asi yakanga isingateereri mameseji angu. Ndakatarisa kaviri kodhi yangu kuti ndione kuti inoshanda. Yakazviyedza pane akati wandei maitiro uye yakashanda zvakanaka. Ndakaedza kutumira mamwe mameseji kuVNC hwindo, uye hapana zvakadaro.

Uye zvakabva zvauya kwandiri zvakare!

Kutenda kune dzakakora kwazvo bhuku racho Charles Petzold Ndakanyatsodzidza mashandiro anoita Win32 mukati mehurongwa. Yese Win32 application ine hwindo pamwe ne "message queue". Mameseji anokonzereswa nekudyidzana kwevashandisi, pamwe nemameseji anotumirwa neWindows pachayo, anosvika mumutsara, uye iyo application pachayo inosarudza maitiro ekuagadzirisa.

Haina kunyanya kunakidza pachayo. Asi pandakaona kuti hombe yakakwana isina kugadziridzwa meseji mutsara wakaita seheuristic yeWindow Process Manager kuti apindire mukurembera, ndakatanga kudikitira serotonin yakachena.

Pasina kutambisa sekondi, ndakadzokera kuC kodhi yangu, ndichigadzirira kutumira imwe meseji kuhwindo guru reVNC WM_SHOWWINDOW. Mukutenderera. Nokusingaperi. Saka, mameseji akawanda. WM_SHOWWINDOW, izvo zvino ndaiziva kuti VNC yaizoedza kufuratira zvachose ... panjodzi yayo.

Ndakanyora uye ndakamhanya 4KB yekodhi-inoda rusununguko rwehupenyu hwangu. Mushure memasekondi matatu, Windows yakashuma kuti maitiro vncserver.Π΅Ρ…Π΅ haapindure, uye akapa chipo chandakanga ndisingagoni kuramba:

Unoda kupedzisa chirongwa ichi?

HELL YES!

Rega ndibvume kuti kwezuva rose ndakafara zvisingaite.

Mushure memaawa mashoma ndapedza ndichigaya simba rangu idzva, ndakafunga kuti ndaizorishandisa sei. Zvaive nyore kungouraya musangano pamberi pake. Ndakanga ndine pfungwa iri nani - kunyangarika zvachose.

pashure rubhabhatidzo rwemoto ne socket programming Ndakaona kuti ndaigona kunyora kodhi yaizoita zvinhu zviviri. Ichatanga kutora ichangobva kusunungurwa TCP port 5900, yakambogarwa ne clueless VNC server process. Ipapo ichagadzira itsva TCP yekubatanidza kune VNC server yemuchina wakataurwa. Iyo kodhi inongomiririra data rese pakati pezvigadziko zviviri, uye Columbo achafunga kuti ari kubatana neni, asi chokwadi achange achibatana neVNC server.

Kodhi yangu ichaita sezambuko rakavanzika pakati pangu nemumwe mweya wakashata wesarudzo yangu. Zvaishamisa.

Ndakabva ndatanga kunyora bhiriji rangu rekunyepera reVNC. Columbo akabatana neni kakawanda, asi ndakaramba ndichironga pamberi pake. Ndakasvika pakuti akanga asingazive zvandaiita, kunyange zvazvo ndakanyora zvinhu zviri pachena senhamba dzechiteshi uye mashoko akadai // ΠŸΡ€ΠΎΡ‰Π°ΠΉ, ΠΆΡƒΡ‚ΠΊΠΈΠΉ шпион VNC.

Mushure memazuva mashoma handina kukwanisa kuwana kodhi yacho kuti ishande nemazvo. Kuti ndiite kuti zvinhu zvinyanye, ndanga ndichishanda zvakada kuenderera neiyo dema VNC icon mune system tray. Ichiri yakabatana, handina kukwanisa kuburitsa chiteshi kuti ndiedze kodhi yangu.

Dai ndakaziva ipapo netcat!

Pakupedzisira, ndakapera simba; pashure pokurangarira zvose, ndaiva mukomana ane makore 17 okukura asingashiviriri. Ndichiona chena VNC server icon yave dema zvakare, ndakavhunduka, ndikavhura iyo yekutanga kodhi yaizadza mutsara wemeseji, ndokuimhanyisa pamberi pemeso ake. Ndakambomira maseconds maviri ndisati ndadzvanya End Process, kungoita chokwadi chekuti akazviona.

Kana kudzvanya bhatani irori kusati kwanyatsondipwisa kuti zvaive zvakakodzera, anobva asvetuka kubva kuseri kwenhare yake yemamonitor kuti akurumidze kuuya kwandiri uye andibudise mukamuri zvechokwadi akadaro.

Nekuda kweizvozvo, ndakarambidzwa kubva kune network kwemavhiki maviri. Ndakafunga kuti chirango chakanaka. Mushure memavhiki matatu, sevha yeVNC yakanyangarika kubva muzvinyorwa zvebhutsu uye haina kuzomboonekwa kumwe kumwe. Ini handina kumboziva kana chiitiko changu chakaita chero basa mune izvi kana kwete, asi zvakaparadza zvachose chirongwa changu chekupfuma zvakanyanya nekutengesa pfuti yangu yeVNC kuvadzidzi vakaora mwoyo muhoroji yemakombuta munyika yose.

Source: www.habr.com

Voeg