Coder Ntoa: Me vs. That VNC Guy

В blog ena Ho phatlalalitsoe lipale tse 'maloa tsa mananeo. Ke rata ho ikhopotsa lintho tsa ka tsa khale tse hlokang kelello. Hantle, pale e 'ngoe e joalo ke ena.

Ke ile ka qala ho thahasella lik’homphieutha, haholo-holo ho etsa mananeo, ha ke le lilemo li ka bang 11. Qalong ea sekolo se phahameng bоKe qetile boholo ba nako ea ka ea mahala ke soma C64 ea ka le ho ngola BASIC, ebe ke khaola khoutu e mpe ka sekere. Ha ke soetse, sekere.

Ka mor’a sekolo (ba ka bang lilemo tse 16), hangata bana ba Brithani ba ea kolecheng, moo ba khethang ho ithuta lithuto tse tharo kapa tse ’nè pele ba e-ea univesithing. Ka lebaka la lerato la ka bakeng sa lebokose la beige le rekoto ea theipi lapeng, ke ile ka etsa qeto ea hore ho ithuta "saense ea k'homphieutha" k'holejeng ke khetho e nepahetseng.

Ke ile ka thabela thupelo ho feta kamoo ke neng ke lebeletse; moo ke ileng ka qala ho kopana le Pascal le Delphi.

Nakong ea khefu lipakeng tsa litlelase, baithuti ba ne ba ka sebetsa mochining ofe kapa ofe oa mahala o ka phaposing ea komporo. Ak'u inahanele: kamore e kholo, e etselitsoeng batho ba ka bang lekholo, e nang le mela ea litafole tse tlatsitsoeng ka mechini, joalo ka moo sebali se emeng setsing sa sistimi. Batšehetsi ba lula ba bina, libolo tsa litoeba li ntse li luma litafoleng, li sa eme motsotsoana. Ho na le monko o makatsang moeeng, joalokaha eka bacha ba 50-100 ba li-hormone ba fetoha nako le nako ho pholisa makholo a li-chips tsa Pentium III.

Ho sa tsotellehe likotsi tsa bophelo bo botle, ke ne ke rata ho lula k'homphieutheng ha ke e-na le motsotso oa mahala.

Mookameli o ne a le mosebetsing ka kamoreng, monna e mokhutšoanyane, ea lilemo li bohareng ea ileng a khethoa bakeng sa karolo ena ka lebaka la takatso e matla ea ho ba mohatelli ea khopo. Ke nahana joalo. Mosebetsing ke ho nyenyefatsa; monna eo o ne a hlile a rata mosebetsi oa hae. O ne a filoe mosebetsi oa ho boloka taolo e le hore ho se be motho ea sebelisang k’homphieutha ea sekolo bakeng sa ntho leha e le efe e sa lokelang.

Ho fihlela letsatsing lena, intuition ea ka e mpolella hore bonus ea admin ka ho toba e itšetlehile ka palo ea liithuti tseo a li tšoereng ka letsoho 'me a li ntša ka kamoreng ea k'homphieutha. Ke na le bonnete ba hore monna enoa o lefile sekoloto sa hae sa ntlo pele ho nako.

O ile a lula hukung e hole ea phaposi ea likhomphutha tafoleng e hukung. Mme ho ne ho bolokehile ho nahana hore bahlokomeli ba hae ba pelehi ba fumane mokhoa oa ho ikatisa ka nako e khuts'oane ea boimana, ho ne ho e-na le ba bangata ba bona. Motho o ne a ka ipotsa hore na ehlile o na le nako ea ho boloka tlaleho ea tsona kaofela. Ehlile kea soasoa... na ke boletse hore o ile a nka mosebetsi oa hae ka botebo?

Ka nako eo, marang-rang a k'homphieutha a ne a sebetsa Windows 2000. Ka potlako ke ile ka fumana hore nako le nako ha ke kena ka har'a tsamaiso, ho ile ha qalisoa script e boletsoeng ho qala seva sa VNC ho tloha akhaonteng ea mookameli bakeng sa ho fihlella hole ho desktop. Neng kapa neng ha mohlankana enoa a ne a batla ho u hloela, o ne a tla hokahanya ka ho toba mochine oa hau le ho shebella. E ne e tšosa, 'me joale ha ke nahana ka eona, mohlomong e ne e se molaong.

Kaha ke ne ke sehile meno ka BASIC le C64, joale ke ngotse ka C esita le C ++ e nyenyane. Ka nako eo, ke ne ke ntse ke thahasella haholo puo ea D, e ileng ea lokisa tse ling tsa mefokolo ea C ++, joalokaha ke ile ka e bona ka nako eo.

Ke ne ke tloaetse ho kena ka kamoreng ea k'homphieutha ho bala ntho e ncha ho D kapa ho bapala le compiler ea Digital Mars D. Ka linako tse ling, ha ke ntse ke sitisoa ho nahana ka bokamoso bo boholo ba D, ke ile ka ngola khoutu ea C ho senya mananeo a mang a Win32 ka fensetere ea bona. matshwaro.

Matsatsing a matle a lenaneo la Win32, ho fumana sesebelisoa sa fensetere e ne e le mokhoa o bonolo ka ho fetisisa oa ho senya mananeo a mang. Ho hlakile hore mananeo ohle a GUI a Windows a ne a e-na le fensetere, leha e ne e sa hlahe skrineng. Ka ho ngola lenaneo la ho khutlisa sets'oants'o ts'ebetsong e 'ngoe (ha e le hantle sehokelo sa eona), u ka romella melaetsa ho eona. Sena se ile sa lumella lits'ebetso tse ling tsa mantlha joalo ka ho pata / ho bonts'a fensetere ea lenaneo, hammoho le lintho tse pholileng joalo ka ho qobella ts'ebetso ea ho kenya DLL sebakeng sa eona sa mohopolo ebe o qala ho etsa khoutu. Ka mor'a ente ea DLL, monate oa qala.

Khoeling ea pele le halofo, lefokisi lena ha lea ka la ntšoenya haholo; e hokahane le seva sa VNC mochining oa ka hang kapa habeli. Empa e ka 'na eaba nako e itseng e ile ea tsosa thahasello ea hae. Ke ne ke ngola khoutu e 'ngoe ea C ho pata lifensetere tsa Minesweeper (ntle le ho li koala) ho etsa hore ho be bonolo ho bapala ka tlelaseng, ha ke hlokomela hore letšoao le tšoeu la VNC ka tray ea tsamaiso e fetohile e ntšo. Sena se ne se bolela hore joale o ne a nchebile.

Ke ile ka tsoela pele ho khouta joaloka kamehla, ke leka ho iphapanyetsa eena. Ho sa le joalo, mochine o ile oa qala ho fokotsa lebelo, o leka ho fetisetsa tekanyo e phahameng ea foreimi ho e 'ngoe ea li-monitor tse se nang palo k'honeng ea kamore. Lifensetere li ile tsa batla li khaotsa ho arabela, ha mamello ea ka e fela, ke ile ka tsoa 'me ka qeta letsatsi.

Ha a etela kamore ea k'homphieutha ka mor'a moo, Colombo o ile a thahasella haholo seo ke neng ke se etsa hoo e ka bang nako le nako. Ka mor'a hoo e ka bang lekhetlo la bone, ke ile ka etsa qeto: Ke hloka ho etsa ho hong ka sena.

Kea lumela hore motho ea nang le kahlolo e molemo, ea nang le kahlolo e molemo a ka be a hlahisitse taba ena ka ho toba ho eena kapa ho mookameli oa hae. Leha ho le joalo, kamehla ke ne ke inehela tekong ’me ka potlako ke ipolella hore ke sebelise leano le fapaneng ka ho feletseng.

- U ke ke ua etsa letho ntle le seva sena sa VNC! - Ke ile ka ipolella ka khutso le ka tieo ka makhetlo a 'maloa.

Ho ne ho hlokahala ho bolaea VNC.

Ke ile ka qala ho kena ka kamoreng ea k'homphieutha le lihlopha tse kholo tsa liithuti 'me ke lutse hōle le k'honeng ka li-monitor kamoo ho ka khonehang. Sena se ile sa sebetsa nakoana 'me sa mpha nako ea ho leka mehopolo.

Boiteko ba ka ba pele, ke nahana hore u tla lumela, bo ne bo fokola haholo. Ka ho tobetsa ka ho le letona ho letšoao la VNC ka har'a terei ea sistimi, ke bone lethathamo le nang le litlhaku tsa boselamose EXIT. Ka bomalimabe, litlhaku li ne li ngotsoe ka mongolo o mosehla. Mookameli o koaletse ntho ea "Tloha" ea menu ka Group Policy Editor. Ke ile ka leka ho bolaea ts'ebetso ho tswa ho Mookameli oa Mosebetsi, empa ha e le hantle e ne e sa bonahale ho 'na hobane e ne e sebetsa tlas'a akhaonto e fapaneng, e nang le tokelo. Ha ea ka ea sebetsa.

Seva ea VNC e sebetsa ho TCP port 5900, ke ile ka hopola. Morero oa ka o latelang e ne e le ho romela liphutheloana tse senyehileng boema-kepeng bona e le hore ke bo hele.

Ke qetile bonyane matsatsi a 'maloa ke ntse ke qoqa le protocol, ke romela mefuta e fapaneng ea crap e hlophisitsoeng hantle ho port 5900 mme ke ts'epa hore e tla robeha. Qetellong, le seo ha sea ka sa sebetsa.

Ke ne ke se ke ntse ke qala ho nahana hore nke ke ka khona ho tlosa ntho ena, ha ka tšohanyetso e hlaha ho 'na: e tlameha ebe ho na le fensetere moo! Re hloka ho e bonahatsa. Mohlomong e tla ba le konopo e monate ea "mute" e monate eo nka e sebelisang haholo!

Ke tsamaisitse khoutu ea ka ea C e neng e batla e le e phethahetseng ho fumana sesebelisoa fensetereng e kholo ea ts'ebetso e 'ngoe - mme ehlile, VNC e ile ea fumanoa. Ke ile ka ikutloa ke bululetsoe ha menoana ea ka e thaepa WM_SHOWWINDOW. Leka ho hakanya seo ke se boneng ka pel'a ka?

Ha ho letho!

Joale ke ne ke labalabela ho tseba ... e ne e e-na le fensetere, empa e ne e iphapanyetsa melaetsa ea ka. Ke hlahlobile khoutu ea ka habeli ho netefatsa hore e ea sebetsa. E ile ea e leka lits'ebetsong tse ling tse 'maloa' me ea sebetsa hantle. Ke lekile ho romella melaetsa e meng fensetereng ea VNC, empa ho ntse ho se letho.

Eaba ke boela ke hlakeloa!

Ke leboha tse teteaneng haholo buka Charles Petzold Ke ithutile ka hloko hore na lits'ebetso tsa Win32 li sebetsa joang ka har'a sistimi. Ts'ebeliso e 'ngoe le e' ngoe ea Win32 e na le fensetere hammoho le "queue ea melaetsa". Melaetsa e hlahisoang ke tšebelisano ea basebelisi, hammoho le melaetsa e rometsoeng ke Windows ka boeona, e fihla moleng, 'me kopo ka boeona e etsa qeto ea ho e sebetsa.

Ha e thahaselle haholo ka boeona. Empa ha ke hlokomela hore mola o lekaneng oa molaetsa o sa sebetsoeng o sebetsa e le heuristic bakeng sa Window Process Manager ho kenella ts'ebetsong e fanyehiloeng, ke ile ka qala ho fufuleloa serotonin e hloekileng.

Ntle le ho senya motsotsoana, ke ile ka khutlela ho khoutu ea ka ea C, ke itokisetsa ho romela molaetsa o mong fensetereng e kholo ea VNC WM_SHOWWINDOW. Ka potoloho. Bosafeleng. Kahoo, melaetsa e mengata. WM_SHOWWINDOW, eo joale ke neng ke tseba hore VNC e tla leka ho iphapanyetsa eona ka ho feletseng... kotsing ea eona.

Ke ile ka bokella le ho matha 4KB ea khoutu e ratang tokoloho ka ho fetisisa bophelong ba ka. Kamora metsotsoana e ka bang tharo, Windows e tlalehile hore ts'ebetso ena vncserver.ехе ha a arabe, mme a etsa tlhahiso eo ke neng ke sa khone ho e hana:

Na u batla ho phethela tšebetso ee?

HELL YES!

E-re ke lumele hore letsatsi lohle ke ne ke thabile ke sa mamelle.

Ka mor'a lihora tse 'maloa ke ntse ke cheka matla a ka a maholohali a macha, ke ile ka etsa qeto ea hore na ke tla a sebelisa joang. Ho ne ho le bonolo haholo ho bolaea seboka ka pel'a hae. Ke ne ke e-na le khopolo e molemo - ho nyamela ka ho feletseng.

ka mor'a kolobetso ya mollo ka socket programming Ke ile ka hlokomela hore nka ngola khoutu e ka etsang lintho tse peli. E tla qala ka ho nka boema-kepe ba TCP 5900 e sa tsoa lokolloa, eo pele e neng e tšoaretsoe ke ts'ebetso ea seva ea VNC e sa tsebeng letho. Ebe e tla theha khokahano e ncha ea TCP ho seva sa VNC sa mochini o boletsoeng. Khoutu e tla ba moemeli oa data feela pakeng tsa li-sockets tse peli, 'me Columbo o tla nahana hore o ntse a ikopanya le' na, ha e le hantle o tla be a hokahanya le seva sa VNC se fapaneng ka ho feletseng.

Khoutu ea ka e tla sebetsa e le borokho ba lekunutu lipakeng tsa ka le moea o mong o futsanehileng oo ke o khethileng. Ho ne ho babatseha.

Hang-hang ke ile ka qala ho ngola borokho ba ka ba bohata ba VNC. Columbo o ile a ikopanya le 'na ka makhetlo a mangata, empa ke ile ka tsoela pele ho etsa lenaneo ka pel'a hae. Ke ile ka fihlela qeto ea hore o ne a sa tsebe seo ke se etsang, le hoja ke ile ka ngola lintho tse hlakileng joaloka linomoro tsa boema-kepe le litlhaloso tse kang // Прощай, жуткий шпион VNC.

Kamora matsatsi a 'maloa ke ne ke sa khone ho etsa hore khoutu e sebetse hantle. Ho mpefatsa litaba le ho feta, ke ne ke sebetsa hoo e ka bang ke sa khaotse le letšoao le letšo la VNC ka har'a terei ea sistimi. Ha e ntse e hokahane, ha kea khona ho lokolla boema-kepe ho leka khoutu ea ka.

Hoja ke tsebile mohlang oo netcat!

Qetellong, ke ile ka felloa ke matla, kaha ke ne ke le mohlankana ea lilemo li 17 ea hlokang mamello. Ha ke shebile lets'oao le lesoeu la seva sa VNC le fetoha le letšo hape, ke ile ka tšoha, ka bula khoutu ea mantlha e neng e tletse mola oa molaetsa, 'me ka e matha ka pel'a mahlo a hae. Ke ile ka ba ka ema metsotsoana e 'maloa pele ke tobetsa End Process, ho etsa bonnete ba hore o e bone.

Haeba ho tobetsa konopo eo ho ne ho sa nkholise ka botlalo hore e ne e le molemo, joale o ile a tlola ka mor'a qhobosheane ea hae ea li-monitor ho nkatamela ka potlako le ho nntšetsa ka phaposing ehlile o ile a etsa joalo.

Ka lebaka leo, ke ile ka thibeloa ho kena marang-rang ka libeke tse peli. Ke ile ka nahana hore ke kotlo e lokileng. Kamora libeke tse ka bang tharo, seva sa VNC se ile sa nyamela lingoloeng tsa boot mme ha ho mohla se hlahang kae kapa kae. Ke ne ke sa tsebe hore na ketsahalo ea ka e phetha karolo leha e le efe ho sena kapa che, empa e ile ea senya ka ho feletseng morero oa ka oa ho rua ka mokhoa o tsotehang ka ho rekisa sethunya sa ka sa VNC ho liithuti tse tepeletseng maikutlo liholong tsa k'homphieutha tsa k'holejeng ho pholletsa le naha.

Source: www.habr.com

Eketsa ka tlhaloso