Coder Sib ntaus sib tua: Kuv vs. Tus txiv neej VNC

Π’ qhov blog no Muaj ob peb tus programmer tales tau luam tawm. Kuv nyiam nco txog kuv tej qub kev ruam. Zoo, ntawm no yog lwm zaj dab neeg zoo li no.

Kuv thawj zaug xav txog computers, tshwj xeeb tshaj yog programming, thaum kuv muaj 11 xyoos. Thaum pib ntawm high school bΠΎKuv siv feem ntau ntawm kuv lub sijhawm dawb tinkering nrog kuv C64 thiab sau BASIC, tom qab ntawd txiav tawm cov lej tsis zoo nrog txiab. Kuv tsis kidding, txiab.

Tom qab tsev kawm ntawv (nyob ib ncig ntawm lub hnub nyoog ntawm 16), cov menyuam yaus Askiv feem ntau mus kawm ntawv qib siab, qhov chaw lawv xaiv kawm peb lossis plaub yam ua ntej mus kawm ntawv qib siab. Muab kuv txoj kev hlub rau lub thawv beige thiab daim kab xev kaw hauv tsev, kuv tau txiav txim siab tias kev kawm "kev tshawb fawb hauv computer" hauv tsev kawm qib siab yog qhov kev xaiv zoo.

Kuv nyiam qhov kev kawm ntau tshaj qhov kuv xav tau; nyob ntawd kuv xub ntsib Pascal thiab Delphi.

Thaum lub sijhawm so ntawm cov chav kawm, cov tub ntxhais kawm tuaj yeem ua haujlwm ntawm ib lub tshuab dawb hauv chav computer. Xav txog: ib chav loj loj, tsim rau txog li ib puas tus neeg, nrog cov kab ntawm cov ntxhuav ntim nrog cov tshuab, zoo li cov uas lub monitor sawv ntawm lub system unit. Cov kiv cua tsis tu ncua humming, nas pob yog buzzing ntawm lub rooj, tsis nres ib pliag. Muaj cov ntxhiab tsw txawv txawv hauv huab cua, zoo li 50-100 cov tub ntxhais hluas hormonal hloov pauv mus rau ntau pua Pentium III chips txias.

Txawm tias muaj kev pheej hmoo rau kev noj qab haus huv, kuv nyiam zaum ntawm lub computer thaum kuv muaj ib feeb dawb.

Admin nyob rau hauv lub luag hauj lwm nyob rau hauv lub chav tsev yog ib tug luv luv, nruab nrab-hnub nyoog txiv neej uas raug xaiv rau lub luag hauj lwm no vim hais tias ntawm nws insatiable lub siab xav los ua ib tug phem dictator. kuv xav tias yog li ntawd. Lub luag haujlwm yog qhov tsis txaus ntseeg; tus txiv neej yeej hlub nws txoj haujlwm. Nws tau ua haujlwm ua kom muaj kev tswj hwm kom tsis txhob muaj ib tus neeg siv lub tsev kawm ntawv lub computer rau ib yam dab tsi tsis tsim nyog.

Txog rau hnub no, kuv qhov kev xav tau qhia kuv tias tus thawj tswj hwm cov nyiaj tau los ncaj qha nyob ntawm tus lej ntawm cov tub ntxhais kawm uas nws tau ntes los ntawm txhais tes thiab coj tawm hauv chav computer. Kuv paub tseeb tias tus txiv neej no tau them nws cov nqi tsev ntxov.

Nws zaum ntawm lub ces kaum deb ntawm chav computer ntawm ib lub rooj zaum. Thiab nws muaj kev nyab xeeb los xav tias nws cov neeg saib xyuas fertility tau pom ib txoj hauv kev los ua me nyuam nrog lub sijhawm gestation luv luv, muaj ntau ntawm lawv. Ib tug tsuas xav paub seb nws puas muaj sijhawm los taug qab lawv txhua tus. Tau kawg, kuv kidding... Kuv puas tau hais tias nws coj nws txoj haujlwm hnyav heev?

Lub sijhawm ntawd, lub khoos phis tawj network tau khiav Windows 2000. Kuv tsis ntev tau pom tias txhua zaus kuv nkag mus rau hauv lub kaw lus, ib tsab ntawv tau tshaj tawm uas tau teev tseg pib VNC server los ntawm tus thawj tswj hwm tus account rau cov chaw taws teeb nkag mus rau lub desktop. Thaum twg tus txiv neej no xav soj xyuas koj, nws yuav txuas ncaj qha rau koj lub tshuab thiab saib. Nws yog creepy, thiab tam sim no uas kuv xav txog nws, tej zaum tsis raug cai.

Tau txiav kuv cov hniav ntawm BASIC thiab C64, tam sim no kuv tau sau hauv C thiab txawm tias me ntsis C ++. Lub sijhawm ntawd, kuv tseem xav paub ntau yam lus D, uas kho qee qhov tsis txaus ntawm C ++, raws li kuv pom thaum ntawd.

Kuv tau nkag mus rau hauv chav tsev computer nyeem ib yam dab tsi tshiab ntawm D lossis ua si nrog Digital Mars D compiler, qee zaum, thaum kuv cuam tshuam los ntawm kev xav txog lub neej yav tom ntej ntawm D, Kuv tau sau C code rau hack lwm Win32 cov kev pab cuam los ntawm lawv lub qhov rais. tuav.

Nyob rau hauv lub hnub qub zoo ntawm Win32 programming, nrhiav lub qhov rais kov yog txoj kev yooj yim tshaj rau hack lwm cov kev pab cuam. Pom tseeb, txhua qhov kev pab cuam GUI ntawm Windows muaj lub qhov rais, txawm tias nws tsis tshwm sim ntawm qhov screen. Los ntawm kev sau ib qho kev pab cuam los muab ib qho kev tuav mus rau lwm tus txheej txheem (qhov tseem ceeb yog qhov txuas rau nws), koj tuaj yeem xa cov lus rau nws. Qhov no tso cai rau qee qhov kev ua haujlwm yooj yim xws li zais / qhia lub qhov rais program, nrog rau cov khoom txias tiag tiag xws li yuam cov txheej txheem los thauj cov DLL tsis txaus ntseeg rau hauv nws qhov chaw nco thiab pib ua cov lej. Tom qab txhaj tshuaj DLL, kev lom zem pib.

Hauv thawj lub hlis thiab ib nrab, tus neeg tshawb nrhiav no tsis thab kuv ntau; nws txuas nrog VNC server ntawm kuv lub tshuab ib zaug lossis ob zaug. Tab sis ib qho kev sib tham tshwj xeeb yuav ua rau nws txaus siab. Kuv tau sau qee qhov C code los nkaum Minesweeper windows (tsis tau kaw lawv) kom nws yooj yim dua rau kev ua si hauv chav kawm, thaum kuv pom tias dawb VNC icon nyob rau hauv qhov system tais tau tig dub. Qhov no txhais tau tias tam sim no nws tab tom saib kuv.

Kuv txuas ntxiv coding li niaj zaus, sim tsis quav ntsej nws. Lub caij no, lub tshuab pib qeeb, sim xa cov ncej siab tshaj plaws mus rau ib qho ntawm cov neeg saib xyuas hauv kaum tsev. Windows yuav luag tsis teb, thaum kuv ua siab ntev khiav tawm, kuv tawm thiab ua tiav rau hnub.

Tom qab mus ntsib chav computer, Colombo nyiam qhov kuv tau ua yuav luag txhua zaus. Tom qab txog zaum thib plaub, kuv txiav txim siab: Kuv yuav tsum ua qee yam txog qhov no.

Kuv lees paub tias tus neeg tsim nyog, tus neeg muaj peev xwm tuaj yeem tsa qhov teeb meem no ncaj qha nrog nws lossis nws tus thawj coj. Txawm li cas los xij, kuv ib txwm muab rau hauv kev ntxias thiab sai sai tham kuv tus kheej rau kev siv lub tswv yim sib txawv kiag li.

- Koj ua tsis tau dab tsi yog tsis muaj VNC server! - Kuv ua siab ntev thiab txiav txim siab hais rau kuv tus kheej ob peb zaug.

Yuav tsum tua VNC.

Kuv pib mus rau hauv chav computer nrog cov tub ntxhais kawm coob coob thiab zaum kom deb ntawm lub ces kaum nrog cov saib raws li qhov ua tau. Qhov no ua haujlwm ib pliag thiab muab sijhawm rau kuv los sim cov tswv yim.

Kuv thawj zaug sim, kuv xav tias koj yuav pom zoo, tsis muaj zog heev. Txoj cai-nias ntawm VNC icon nyob rau hauv lub tais system, kuv pom ib daim ntawv qhia zaub mov nrog cov tsiaj ntawv khawv koob EXIT. Hmoov tsis zoo, cov tsiaj ntawv tau sau rau hauv cov ntawv sau grey. Tus thawj tswj hwm tau kaw qhov "Tawm" cov ntawv qhia zaub mov los ntawm Pab Pawg Txoj Cai Editor. Kuv sim tua cov txheej txheem los ntawm Task Manager, tab sis tau kawg nws yog qhov tsis pom kuv vim nws tau khiav hauv qhov sib txawv, muaj cai ntau tus account. Nws tsis ua hauj lwm tawm.

VNC server khiav ntawm TCP chaw nres nkoj 5900, kuv nco qab. Kuv txoj kev npaj tom ntej no yog xa cov pob ntawv tsis raug rau qhov chaw nres nkoj no txhawm rau txhawm rau nws.

Kuv tau siv sijhawm tsawg kawg yog ob peb hnub tinkering nrog cov txheej txheem, xa ntau hom kev ua haujlwm zoo rau qhov chaw nres nkoj 5900 thiab vam tias nws yuav tawg. Thaum kawg, qhov ntawd tsis ua haujlwm.

Kuv twb pib xav tias kuv yuav tsis muaj peev xwm tshem tau qhov no, thaum nws kaj ntug rau kuv: yuav tsum muaj lub qhov rais! Peb yuav tsum tso nws. Tej zaum nws yuav muaj lub suab zoo "Mute" khawm uas kuv tuaj yeem siv tau zoo!

Kuv tau khiav kuv tam sim no ze li zoo meej C code kom pom tus kov rau lub qhov rais tseem ceeb ntawm lwm cov txheej txheem - thiab paub meej txaus, VNC tau pom. Kuv tau txais kev tshoov siab thaum kuv tus ntiv tes ntaus WM_SHOWWINDOW. Sim twv seb kuv pom dab tsi ntawm kuv xub ntiag?

Tsis muaj dab tsi!

Tam sim no kuv xav paub ... nws muaj lub qhov rais, tab sis nws tsis quav ntsej kuv cov lus. Kuv ob zaug tshawb xyuas kuv cov lej kom paub tseeb tias nws ua haujlwm. Kuaj nws ntawm ob peb lwm cov txheej txheem thiab nws ua haujlwm zoo. Kuv sim xa lwm cov lus rau VNC qhov rais, thiab tseem tsis muaj dab tsi.

Thiab ces nws dawned rau kuv dua!

Ua tsaug rau qhov tuab heev phau ntawv Charles Petzold kuv ua tib zoo kawm seb cov txheej txheem Win32 ua haujlwm li cas hauv qhov system. Txhua daim ntawv thov Win32 muaj lub qhov rais nrog rau "cov lus kab lus". Cov lus tshwm sim los ntawm cov neeg siv kev sib cuam tshuam, nrog rau cov lus xa los ntawm Windows nws tus kheej, tuaj txog hauv kab, thiab daim ntawv thov nws tus kheej txiav txim siab yuav ua li cas rau lawv.

Tsis heev nthuav nyob rau hauv nws tus kheej. Tab sis thaum kuv pom tau hais tias qhov loj txaus cov lus tsis tau ua tiav tau ua raws li qhov kev xav rau Tus Thawj Tswj Haujlwm Qhov rai los cuam tshuam rau hauv cov txheej txheem dai, kuv pib tawm hws ntshiab serotonin.

Tsis nkim ib pliag, kuv rov qab mus rau kuv tus lej C, npaj xa lwm cov lus mus rau lub qhov rais VNC lub ntsiab WM_SHOWWINDOW. Hauv ib lub voj voog. Nyob mus ib txhis. Yog li, ntau cov lus. WM_SHOWWINDOW, uas tam sim no kuv paub VNC yuav sim tsis quav ntsej kiag li ... ntawm nws qhov kev phom sij.

Kuv tau sau thiab khiav 4KB ntawm txoj kev ywj pheej-hlub tshaj plaws ntawm kuv lub neej. Tom qab li peb vib nas this, Windows tshaj tawm tias cov txheej txheem vncserver.Π΅Ρ…Π΅ tsis teb, thiab muab ib qho kev uas kuv tsuas yuav tsis kam:

Koj puas xav ua kom tiav cov txheej txheem no?

HUAB TAIS!

Cia kuv lees tias rau hnub so kuv tau txaus siab rau kuv tus kheej.

Tom qab ob peb teev siv zom kuv lub zog tshiab, kuv txiav txim siab tias kuv yuav siv nws li cas. Nws yog ib qho yooj yim heev kom cia li tua qhov kev sib tham nyob rau hauv pem hauv ntej ntawm nws. Kuv muaj lub tswv yim zoo dua - kom ploj tag.

tom qab kev cai raus dej ntawm hluav taws nrog lub qhov (socket programming). Kuv paub tias kuv tuaj yeem sau cov lej uas yuav ua ob yam. Nws yuav xub nyob hauv qhov tshiab tso tawm TCP chaw nres nkoj 5900, yav dhau los nyob los ntawm cov txheej txheem tsis paub VNC server. Tom qab ntawd nws yuav tsim TCP txuas tshiab rau VNC server ntawm lub tshuab teev. Cov cai yuav tsuas tso cai rau tag nrho cov ntaub ntawv ntawm ob lub qhov (socket), thiab Columbo yuav xav tias nws txuas rau kuv, thaum qhov tseeb nws yuav txuas mus rau VNC server sib txawv kiag li.

Kuv txoj cai yuav ua raws li tus choj zais cia ntawm kuv thiab qee tus neeg pluag ntawm kuv xaiv. Nws zoo heev.

Kuv tam sim ntawd pib sau kuv tus choj VNC cuav. Columbo txuas nrog kuv ob peb zaug, tab sis kuv txuas ntxiv ua haujlwm rau pem hauv ntej ntawm nws. Kuv tuaj txog qhov xaus tias nws tsis paub tias kuv tab tom ua dab tsi, txawm tias kuv tau sau cov khoom pom tseeb xws li cov lej chaw nres nkoj thiab cov lus pom zoo li // ΠŸΡ€ΠΎΡ‰Π°ΠΉ, ΠΆΡƒΡ‚ΠΊΠΈΠΉ шпион VNC.

Tom qab ob peb hnub kuv tsis tuaj yeem tau txais cov lej ua haujlwm kom raug. Txhawm rau ua qhov teeb meem loj dua, kuv tau ua haujlwm yuav luag tsis tu ncua nrog VNC lub cim dub hauv qhov system tais. Thaum nws txuas nrog, kuv tsis tuaj yeem tso tawm qhov chaw nres nkoj los kuaj kuv tus lej.

Yog kuv twb paub lawm netcat!

Thaum kawg, kuv cov hlab ntsha tau muab txoj hauv kev; tom qab tag nrho, kuv yog ib tug neeg siab ntev 17 xyoo. Saib cov dawb VNC neeg rau zaub mov icon tig dub dua, kuv freaked tawm, qhib tus thawj code uas populated cov lus queue, thiab khiav nws nyob rau hauv pem hauv ntej ntawm nws ob lub qhov muag. Kuv txawm tos ob peb vib nas this ua ntej nias End Process, tsuas yog kom paub tseeb tias nws pom nws.

Yog tias nias lub pob ntawd tsis tau lees paub kuv tias nws tsim nyog, ces nws dhia ntawm qab nws lub fortress ntawm saib kom sai sai rau kuv thiab coj kuv tawm ntawm chav tsev yeej ua tau.

Vim li ntawd, kuv raug txwv los ntawm lub network rau ob lub lis piam. Kev rau txim ncaj ncees, kuv xav. Tom qab li peb lub lis piam, VNC neeg rau zaub mov ploj ntawm khau raj scripts thiab yeej tsis tshwm sim nyob qhov twg. Kuv yeej tsis paub tias kuv qhov xwm txheej tau ua lub luag haujlwm hauv qhov no lossis tsis yog, tab sis nws ua rau kuv txoj kev npaj kom tau txais txiaj ntsig zoo los ntawm kev muag kuv rab phom VNC rau cov tub ntxhais kawm nyuaj siab hauv tsev kawm qib siab hauv tsev kawm ntawv qib siab thoob plaws lub tebchaws.

Tau qhov twg los: www.hab.com

Ntxiv ib saib