Coder Battle: Me vs. That VNC Guy

ะ’ ื”ื‘ืœื•ื’ ื”ื–ื” ืœื ืžืขื˜ ืกื™ืคื•ืจื™ ืžืชื›ื ืช ืคื•ืจืกืžื•. ืื ื™ ืื•ื”ื‘ ืœื”ื™ื–ื›ืจ ื‘ื“ื‘ืจื™ื ื”ืžื˜ื•ืคืฉื™ื ื”ื™ืฉื ื™ื ืฉืœื™. ื•ื‘ื›ืŸ, ื”ื ื” ืขื•ื“ ืกื™ืคื•ืจ ื›ื–ื”.

ื”ืชื—ืœืชื™ ืœื”ืชืขื ื™ื™ืŸ ื‘ืžื—ืฉื‘ื™ื, ื‘ืžื™ื•ื—ื“ ื‘ืชื›ื ื•ืช, ื›ืฉื”ื™ื™ืชื™ ื‘ืขืจืš ื‘ืŸ 11. ื‘ืชื—ื™ืœืช ื”ืชื™ื›ื•ืŸ ื‘ะพื‘ื™ืœื™ืชื™ ืืช ืจื•ื‘ ื”ื–ืžืŸ ื”ืคื ื•ื™ ืฉืœื™ ื‘ื”ืชืขืกืงื•ืช ืขื ื”-C64 ืฉืœื™ ื•ื›ืชื™ื‘ืช BASIC, ื•ืื– ื’ื–ืจืชื™ ืืช ื”ืงื•ื“ ื”ืจืข ืขื ืžืกืคืจื™ื™ื. ืื ื™ ืœื ืฆื•ื—ืง, ืžืกืคืจื™ื™ื.

ืื—ืจื™ ื”ืœื™ืžื•ื“ื™ื (ื‘ืกื‘ื™ื‘ื•ืช ื’ื™ืœ 16), ื™ืœื“ื™ื ื‘ืจื™ื˜ื™ื ื”ื•ืœื›ื™ื ื‘ื“ืจืš ื›ืœืœ ืœืงื•ืœื’', ืฉื ื”ื ื‘ื•ื—ืจื™ื ืœืœืžื•ื“ ืฉืœื•ืฉื” ืื• ืืจื‘ืขื” ืžืงืฆื•ืขื•ืช ืœืคื ื™ ืฉื”ื ื”ื•ืœื›ื™ื ืœืื•ื ื™ื‘ืจืกื™ื˜ื”. ื‘ื”ืชื—ืฉื‘ ื‘ืื”ื‘ืชื™ ืœืงื•ืคืกืช ื”ื‘ื–' ื•ื”ื˜ื™ื™ืค ื‘ื‘ื™ืช, ื”ื—ืœื˜ืชื™ ืฉืœื™ืžื•ื“ "ืžื“ืขื™ ื”ืžื—ืฉื‘" ื‘ืงื•ืœื’' ื–ื• ื”ื‘ื—ื™ืจื” ื”ื ื›ื•ื ื”.

ื ื”ื ื™ืชื™ ืžื”ืงื•ืจืก ื™ื•ืชืจ ืžืžื” ืฉืฆื™ืคื™ืชื™; ืฉื ืคื’ืฉืชื™ ืœืจืืฉื•ื ื” ืืช ืคืกืงืœ ื•ื“ืœืคื™.

ื‘ื”ืคืกืงื•ืช ื‘ื™ืŸ ื”ืฉื™ืขื•ืจื™ื, ื”ืชืœืžื™ื“ื™ื ื™ื›ืœื• ืœืขื‘ื•ื“ ืขืœ ื›ืœ ืžื›ื•ื ื” ื—ื•ืคืฉื™ืช ื‘ื—ื“ืจ ื”ืžื—ืฉื‘ื™ื. ืชืืจื• ืœืขืฆืžื›ื: ื—ื“ืจ ืขื ืง, ื”ืžื™ื•ืขื“ ืœื›ืžืื” ืื ืฉื™ื, ื•ื‘ื• ืฉื•ืจื•ืช ืฉืœ ืฉื•ืœื—ื ื•ืช ืžืœืื™ื ื‘ืžื›ื•ื ื•ืช, ื›ืžื• ืืœื• ืฉื‘ื”ืŸ ื”ืžื•ื ื™ื˜ื•ืจ ืขื•ืžื“ ืขืœ ื™ื—ื™ื“ืช ื”ืžืขืจื›ืช. ื”ืื•ื”ื“ื™ื ืžื–ืžื–ืžื™ื ื›ืœ ื”ื–ืžืŸ, ื›ื“ื•ืจื™ ืขื›ื‘ืจื™ื ืžื–ืžื–ืžื™ื ืขืœ ื”ืฉื•ืœื—ื ื•ืช, ืœื ืžืคืกื™ืงื™ื ืœืฉื ื™ื™ื”. ื™ืฉ ืจื™ื— ืžื•ื–ืจ ื‘ืื•ื•ื™ืจ, ื›ืื™ืœื• 50-100 ื‘ื ื™ ื ื•ืขืจ ื”ื•ืจืžื•ื ืœื™ื™ื ืžืชื—ืœืคื™ื ืžื“ื™ ืคืขื ื›ื“ื™ ืœืงืจืจ ืžืื•ืช ืฉื‘ื‘ื™ ืคื ื˜ื™ื•ื III.

ืœืžืจื•ืช ื”ืกื™ื›ื•ื ื™ื ื”ื‘ืจื™ืื•ืชื™ื™ื, ืื”ื‘ืชื™ ืœืฉื‘ืช ืœื™ื“ ื”ืžื—ืฉื‘ ื›ืฉื”ื™ื™ืชื” ืœื™ ื“ืงื” ืคื ื•ื™ื”.

ื”ืžื ื”ืœ ื”ืชื•ืจืŸ ื‘ื—ื“ืจ ื”ื™ื” ื’ื‘ืจ ื ืžื•ืš, ื‘ื’ื™ืœ ื”ืขืžื™ื“ื”, ืฉื ื‘ื—ืจ ืœืชืคืงื™ื“ ื–ื” ื‘ื’ืœืœ ืจืฆื•ื ื• ืฉืื™ื ื• ื™ื•ื“ืข ืฉื•ื‘ืข ืœื”ืคื•ืš ืœื“ื™ืงื˜ื˜ื•ืจ ืžืจื•ืฉืข. ืื ื™ ืžื ื™ื— ืฉื›ืŸ. ื‘ืชืคืงื™ื“ ื–ื” ืื ื“ืจืกื˜ื™ื™ื˜ืžื ื˜; ื”ื‘ื—ื•ืจ ืžืื•ื“ ืื”ื‘ ืืช ื”ืขื‘ื•ื“ื” ืฉืœื•. ื”ื•ื˜ืœ ืขืœื™ื• ืœืฉืžื•ืจ ืขืœ ื”ืกื“ืจ ื›ืš ืฉืืฃ ืื—ื“ ืœื ื™ืฉืชืžืฉ ื‘ืžื—ืฉื‘ ื‘ื™ืช ื”ืกืคืจ ืœืžืฉื”ื• ื‘ืœืชื™ ื”ื•ืœื.

ืขื“ ื”ื™ื•ื, ื”ืื™ื ื˜ื•ืื™ืฆื™ื” ืฉืœื™ ืื•ืžืจืช ืœื™ ืฉื”ื‘ื•ื ื•ืก ืฉืœ ื”ืžื ื”ืœ ื”ื™ื” ืชืœื•ื™ ื™ืฉื™ืจื•ืช ื‘ืžืกืคืจ ื”ืชืœืžื™ื“ื™ื ืฉื”ื•ื ืชืคืก ื‘ื™ื“ ื•ืœื™ื•ื• ืื•ืชื• ืžื—ื“ืจ ื”ืžื—ืฉื‘ื™ื. ืื ื™ ื“ื™ ื‘ื˜ื•ื— ืฉื”ื‘ื—ื•ืจ ื”ื–ื” ืฉื™ืœื ืืช ื”ืžืฉื›ื ืชื ืฉืœื• ืžื•ืงื“ื.

ื”ื•ื ื™ืฉื‘ ื‘ืคื™ื ื” ื”ืจื—ื•ืงื” ืฉืœ ื—ื“ืจ ื”ืžื—ืฉื‘ ืœื™ื“ ืฉื•ืœื—ืŸ ืคื™ื ืชื™. ื•ืืคืฉืจ ื”ื™ื” ืœื”ื ื™ื— ืฉืžื ื™ื—ื™ ื”ืคื•ืจื™ื•ืช ืฉืœื• ืžืฆืื• ื“ืจืš ืœื”ืชืจื‘ื•ืช ื‘ืชืงื•ืคืช ื”ืจื™ื•ืŸ ืงืฆืจื” ืœื”ืคืœื™ื, ื”ื™ื• ื›ืœ ื›ืš ื”ืจื‘ื” ื›ืืœื”. ืืคืฉืจ ื”ื™ื” ืจืง โ€‹โ€‹ืœืชื”ื•ืช ืื ื‘ืืžืช ื”ื™ื” ืœื• ื–ืžืŸ ืœืขืงื•ื‘ ืื—ืจ ื›ื•ืœื. ื›ืžื•ื‘ืŸ, ืื ื™ ืฆื•ื—ืง... ื”ื–ื›ืจืชื™ ืฉื”ื•ื ืœืงื— ืืช ื”ืขื‘ื•ื“ื” ืฉืœื• ื‘ืจืฆื™ื ื•ืช ืจื‘ื”?

ื‘ืื•ืชื• ื–ืžืŸ, ืจืฉืช ื”ืžื—ืฉื‘ื™ื ืจืฆื” Windows 2000. ืขื“ ืžื”ืจื” ื’ื™ืœื™ืชื™ ืฉื‘ื›ืœ ืคืขื ืฉื ื›ื ืกืชื™ ืœืžืขืจื›ืช, ื”ื•ืคืขืœ ืกืงืจื™ืคื˜ ืฉืฆื™ื™ืŸ ื”ืคืขืœืช ืฉืจืช VNC ืžื—ืฉื‘ื•ืŸ ื”ืžื ื”ืœ ืœื’ื™ืฉื” ืžืจื—ื•ืง ืœืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื”. ื‘ื›ืœ ืคืขื ืฉื”ื‘ื—ื•ืจ ื”ื–ื” ืจืฆื” ืœืจื’ืœ ืื—ืจื™ืš, ื”ื•ื ื”ื™ื” ืžืชื—ื‘ืจ ื™ืฉื™ืจื•ืช ืœืžื›ื•ื ื” ืฉืœืš ื•ืฆื•ืคื”. ื–ื” ื”ื™ื” ืžืคื—ื™ื“, ื•ืขื›ืฉื™ื• ื›ืฉืื ื™ ื—ื•ืฉื‘ ืขืœ ื–ื”, ื›ื ืจืื” ืœื ื—ื•ืงื™.

ืœืื—ืจ ืฉื—ืชื›ืชื™ ืืช ื”ืฉื™ื ื™ื™ื ื‘-BASIC ื•ื‘-C64, ื›ืชื‘ืชื™ ืขื›ืฉื™ื• ื‘-C ื•ืืคื™ืœื• ืงืฆืช ื‘-C++. ื‘ืื•ืชื” ืชืงื•ืคื” ืขื“ื™ื™ืŸ ื”ืชืขื ื™ื™ื ืชื™ ืžืื•ื“ ื‘ืฉืคืช D, ืฉืชื™ืงื ื” ื—ืœืง ืžื”ื—ืกืจื•ื ื•ืช ืฉืœ C++, ื›ืคื™ ืฉืจืื™ืชื™ ืื•ืชื” ืื–.

ื ื”ื’ืชื™ ืœื”ื™ื›ื ืก ืœื—ื“ืจ ื”ืžื—ืฉื‘ ื›ื“ื™ ืœืงืจื•ื ืžืฉื”ื• ื—ื“ืฉ ื‘-D ืื• ืœืฉื—ืง ืขื ื”ืžื”ื“ืจ Digital Mars D. ืœืคืขืžื™ื, ื‘ื–ืžืŸ ืฉื”ื•ืกื— ื“ืขืชื™ ืžืœื—ืฉื•ื‘ ืขืœ ื”ืขืชื™ื“ ื”ื’ื“ื•ืœ ืฉืœ D, ื›ืชื‘ืชื™ ืงื•ื“ C ื›ื“ื™ ืœืคืจื•ืฅ ืœืชื•ื›ื ื™ื•ืช Win32 ืื—ืจื•ืช ื“ืจืš ื”ื—ืœื•ืŸ ืฉืœื”ื. ื™ื“ื™ื•ืช.

ื‘ื™ืžื™ื ื”ื˜ื•ื‘ื™ื ืฉืœ ืชื›ื ื•ืช Win32, ืžืฆื™ืืช ื™ื“ื™ืช ื—ืœื•ืŸ ื”ื™ื™ืชื” ื”ืฉื™ื˜ื” ื”ืงืœื” ื‘ื™ื•ืชืจ ืœืคืจื•ืฅ ืœืชื•ื›ื ื•ืช ืื—ืจื•ืช. ื‘ืจื•ืจ ืฉืœื›ืœ ืชื•ื›ื ื™ื•ืช ื”-GUI ื‘-Windows ื”ื™ื” ื—ืœื•ืŸ, ื’ื ืื ื”ื•ื ืœื ื”ื•ืคื™ืข ืขืœ ื”ืžืกืš. ืขืœ ื™ื“ื™ ื›ืชื™ื‘ืช ืชื•ื›ื ื™ืช ืœืื—ื–ืจืช ื™ื“ื™ืช ืœืชื”ืœื™ืš ืื—ืจ (ื‘ืขืฆื ืงื™ืฉื•ืจ ืืœื™ื•), ืชื•ื›ืœ ืœืฉืœื•ื— ืืœื™ื” ื”ื•ื“ืขื•ืช. ื–ื” ืื™ืคืฉืจ ื›ืžื” ืคืขื•ืœื•ืช ื‘ืกื™ืกื™ื•ืช ื›ืžื• ื”ืกืชืจื”/ื”ืฆื’ืช ื—ืœื•ืŸ ืชื•ื›ื ื™ืช, ื›ืžื• ื’ื ื“ื‘ืจื™ื ืžืžืฉ ืžื’ื ื™ื‘ื™ื ื›ืžื• ืœืืœืฅ ืชื”ืœื™ืš ืœื˜ืขื•ืŸ DLL ืฉืจื™ืจื•ืชื™ ืœืžืจื—ื‘ ื”ื–ื™ื›ืจื•ืŸ ืฉืœื• ื•ืœื”ืชื—ื™ืœ ืœื‘ืฆืข ืงื•ื“. ืœืื—ืจ ื”ื–ืจืงืช ื”-DLL, ื”ื›ื™ืฃ ื”ืชื—ื™ืœ.

ื‘ื—ื•ื“ืฉ ื•ื—ืฆื™ ื”ืจืืฉื•ื ื™ื, ื”ื‘ืœืฉ ื”ื–ื” ืœื ื”ืคืจื™ืข ืœื™ ื‘ืžื™ื•ื—ื“: ื”ื•ื ื”ืชื—ื‘ืจ ืœืฉืจืช VNC ื‘ืžื—ืฉื‘ ืฉืœื™ ืจืง ืคืขื ืื• ืคืขืžื™ื™ื. ืื‘ืœ ื™ื™ืชื›ืŸ ืฉืžืคื’ืฉ ืžืกื•ื™ื ืื—ื“ ืขื•ืจืจ ืืช ื”ืขื ื™ื™ืŸ ืฉืœื•. ื›ืชื‘ืชื™ ืงื•ื“ C ื›ื“ื™ ืœื”ืกืชื™ืจ ื—ืœื•ื ื•ืช ืฉื•ืœื” ืžื•ืงืฉื™ื (ืžื‘ืœื™ ืœืกื’ื•ืจ ืื•ืชื) ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ืžืฉื—ืง ื‘ื›ื™ืชื”, ื›ืืฉืจ ืฉืžืชื™ ืœื‘ ืฉืกืžืœ ื”-VNC ื”ืœื‘ืŸ ื‘ืžื’ืฉ ื”ืžืขืจื›ืช ื”ืคืš ืœืฉื—ื•ืจ. ื–ื” ืื•ืžืจ ืฉื”ื•ื ืฆื•ืคื” ื‘ื™ ืขื›ืฉื™ื•.

ื”ืžืฉื›ืชื™ ืœืงื•ื“ื“ ื›ืจื’ื™ืœ, ืžื ืกื” ืœื”ืชืขืœื ืžืžื ื•. ื‘ื™ื ืชื™ื™ื, ื”ืžื›ื•ื ื” ื”ื—ืœื” ืœื”ืื˜, ื‘ื ื™ืกื™ื•ืŸ ืœื”ืขื‘ื™ืจ ืืช ืงืฆื‘ ื”ืคืจื™ื™ืžื™ื ื”ืžืงืกื™ืžืœื™ ืœืื—ื“ ืžืื™ื ืกืคื•ืจ ื”ืžื•ื ื™ื˜ื•ืจื™ื ื‘ืคื™ื ืช ื”ื—ื“ืจ. ื—ืœื•ื ื•ืช ื›ืžืขื˜ ื”ืคืกื™ืงื• ืœื”ื’ื™ื‘, ื›ืฉื”ืกื‘ืœื ื•ืช ืฉืœื™ ืคืงืขื”, ื”ืชื ืชืงืชื™ ื•ืกื™ื™ืžืชื™ ืืช ื”ื™ื•ื.

ื‘ื‘ื™ืงื•ืจื™ื ื”ื‘ืื™ื ื‘ื—ื“ืจ ื”ืžื—ืฉื‘ื™ื, ืงื•ืœื•ืžื‘ื• ื’ื™ืœื” ืขื ื™ื™ืŸ ืจื‘ ื‘ืžื” ืฉืื ื™ ืขื•ืฉื” ื›ืžืขื˜ ื‘ื›ืœ ืคืขื. ืื—ืจื™ ื”ืคืขื ื”ืจื‘ื™ืขื™ืช ื‘ืขืจืš, ื”ื—ืœื˜ืชื™: ืื ื™ ืฆืจื™ืš ืœืขืฉื•ืช ืžืฉื”ื• ื‘ื ื™ื“ื•ืŸ.

ืื ื™ ืžื•ื“ื” ืฉืื“ื ืกื‘ื™ืจ ื•ืจืฆื™ื•ื ืœื™ ื”ื™ื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืขืœื•ืช ืืช ื”ื ื•ืฉื ื”ื–ื” ื™ืฉื™ืจื•ืช ืื™ืชื• ืื• ืžื•ืœ ื”ื‘ื•ืก ืฉืœื•. ืขื ื–ืืช, ืชืžื™ื“ ื ื›ื ืขืชื™ ืœืคื™ืชื•ื™ ื•ื“ื™ื‘ืจืชื™ ืขืœ ืขืฆืžื™ ืœืืžืฅ ืืกื˜ืจื˜ื’ื™ื” ืฉื•ื ื” ืœื—ืœื•ื˜ื™ืŸ.

- ืืชื” ืœื ื™ื›ื•ืœ ืœืขืฉื•ืช ืฉื•ื ื“ื‘ืจ ื‘ืœื™ ืฉืจืช VNC ื–ื”! - ืืžืจืชื™ ืœืขืฆืžื™ ื‘ืจื•ื’ืข ื•ื‘ื ื—ื™ืฉื•ืช ื›ืžื” ืคืขืžื™ื.

ื”ื™ื” ืฆื•ืจืš ืœื”ืจื•ื’ ืืช VNC.

ื”ืชื—ืœืชื™ ืœื”ื™ื›ื ืก ืœื—ื“ืจ ื”ืžื—ืฉื‘ื™ื ืขื ืงื‘ื•ืฆื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ืชืœืžื™ื“ื™ื ื•ืœืฉื‘ืช ื›ืžื” ืฉื™ื•ืชืจ ืจื—ื•ืง ืžื”ืคื™ื ื” ืขื ื”ืžื•ื ื™ื˜ื•ืจื™ื. ื–ื” ืขื‘ื“ ืœื–ืžืŸ ืžื” ื•ื ืชืŸ ืœื™ ืงืฆืช ื–ืžืŸ ืœื‘ื—ื•ืŸ ืจืขื™ื•ื ื•ืช.

ื”ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ ืฉืœื™, ืื ื™ ื—ื•ืฉื‘ ืฉืชืกื›ื™ื, ื”ื™ื” ื“ื™ ื—ืœืฉ. ืœื—ื™ืฆื” ื™ืžื ื™ืช ืขืœ ืกืžืœ ื”-VNC ื‘ืžื’ืฉ ื”ืžืขืจื›ืช, ืจืื™ืชื™ ืชืคืจื™ื˜ ืขื ืื•ืชื™ื•ืช ื”ืงืกื EXIT. ืœืจื•ืข ื”ืžื–ืœ, ื”ืื•ืชื™ื•ืช ื ื›ืชื‘ื• ื‘ื˜ืงืกื˜ ืžืชืืจ ืืคื•ืจ. ืžื ื”ืœ ื”ืžืขืจื›ืช ื”ืฉื‘ื™ืช ืืช ืคืจื™ื˜ ื”ืชืคืจื™ื˜ "ื™ืฆื™ืื”" ื“ืจืš ืขื•ืจืš ื”ืžื“ื™ื ื™ื•ืช ื”ืงื‘ื•ืฆืชื™ืช. ื ื™ืกื™ืชื™ ืœื”ืจื•ื’ ืืช ื”ืชื”ืœื™ืš ืžืžื ื”ืœ ื”ืžืฉื™ืžื•ืช, ืื‘ืœ ื›ืžื•ื‘ืŸ ืฉื–ื” ื”ื™ื” ื‘ืœืชื™ ื ืจืื” ืœื™ ื›ื™ ื”ื•ื ืคืขืœ ืชื—ืช ื—ืฉื‘ื•ืŸ ืื—ืจ, ืžื™ื•ื—ืก ื™ื•ืชืจ. ื–ื” ืœื ื”ืกืชื“ืจ.

ืฉืจืช VNC ืคื•ืขืœ ืขืœ ื™ืฆื™ืืช TCP 5900, ื ื–ื›ืจืชื™. ื”ืชื•ื›ื ื™ืช ื”ื‘ืื” ืฉืœื™ ื”ื™ื™ืชื” ืœืฉืœื•ื— ืžื ื•ืช ืคื’ื•ืžื•ืช ืœื™ืฆื™ืื” ื”ื–ื• ื›ื“ื™ ืœืงืจื•ืก ืื•ืชื”.

ื‘ื™ืœื™ืชื™ ืœืคื—ื•ืช ื›ืžื” ื™ืžื™ื ื‘ื”ืชืขืกืงื•ืช ืขื ื”ืคืจื•ื˜ื•ืงื•ืœ, ืฉืœื—ืชื™ ืฆื•ืจื•ืช ืฉื•ื ื•ืช ืฉืœ ืฉื˜ื•ื™ื•ืช ืžื•ื‘ื ื•ืช ื”ื™ื˜ื‘ ืœืคื•ืจื˜ 5900 ื•ื‘ืชืงื•ื•ื” ืฉื–ื” ื™ื™ืฉื‘ืจ. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื’ื ื–ื” ืœื ืขื‘ื“.

ื›ื‘ืจ ื”ืชื—ืœืชื™ ืœื—ืฉื•ื‘ ืฉืื ื™ ืœื ืืฆืœื™ื— ืœื”ื™ืคื˜ืจ ืžื”ื“ื‘ืจ ื”ื–ื”, ื›ืฉืœืคืชืข ื”ืชื—ื•ื•ืจ ืœื™: ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืฉื ื—ืœื•ืŸ! ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืฆื™ื’ ืืช ื–ื”. ืื•ืœื™ ื™ื”ื™ื” ืœื• ื›ืคืชื•ืจ "ื”ืฉืชืง" ืขืกื™ืกื™ ื•ืขืกื™ืกื™ ืฉืื•ื›ืœ ืœืขืฉื•ืช ื‘ื• ืฉื™ืžื•ืฉ ืจื‘!

ื”ืจืฆืชื™ ืืช ืงื•ื“ ื”-C ื”ื›ืžืขื˜ ืžื•ืฉืœื ืฉืœื™ ื›ื“ื™ ืœืžืฆื•ื ืืช ื”ื™ื“ื™ืช ืœื—ืœื•ืŸ ื”ืจืืฉื™ ืฉืœ ืชื”ืœื™ืš ืื—ืจ - ื•ื‘ื•ื•ื“ืื™, VNC ื ืžืฆื. ื”ืจื’ืฉืชื™ ื”ืฉืจืื” ื›ืฉื”ืืฆื‘ืขื•ืช ืฉืœื™ ื”ืงืœื™ื“ื• WM_SHOWWINDOW. ืชื ืกื” ืœื ื—ืฉ ืžื” ืจืื™ืชื™ ืžื•ืœื™?

ืฉื•ื ื“ื‘ืจ!

ืขื›ืฉื™ื• ื”ื™ื™ืชื™ ืกืงืจืŸ... ื”ื™ื” ืœื• ื—ืœื•ืŸ, ืื‘ืœ ื”ื•ื ื”ืชืขืœื ืžื”ื”ื•ื“ืขื•ืช ืฉืœื™. ื‘ื“ืงืชื™ ืคืขืžื™ื™ื ืืช ื”ืงื•ื“ ืฉืœื™ ื›ื“ื™ ืœื•ื•ื“ื ืฉื”ื•ื ืขื•ื‘ื“. ื‘ื“ืง ืืช ื–ื” ื‘ื›ืžื” ืชื”ืœื™ื›ื™ื ืื—ืจื™ื ื•ื–ื” ืขื‘ื“ ื ื”ื“ืจ. ื ื™ืกื™ืชื™ ืœืฉืœื•ื— ื”ื•ื“ืขื•ืช ืื—ืจื•ืช ืœื—ืœื•ืŸ VNC, ื•ืขื“ื™ื™ืŸ ื›ืœื•ื.

ื•ืื– ื–ื” ืฉื•ื‘ ื”ืชื—ื•ื•ืจ ืœื™!

ื‘ื–ื›ื•ืช ื”ืขื‘ื” ืžืื•ื“ ื”ืกืคืจ ืฆ'ืืจืœืก ืคืฆื•ืœื“ ืœืžื“ืชื™ ื‘ืงืคื™ื“ื” ื›ื™ืฆื“ ืคื•ืขืœื™ื ืชื”ืœื™ื›ื™ Win32 ื‘ืชื•ืš ื”ืžืขืจื›ืช. ืœื›ืœ ื™ื™ืฉื•ื Win32 ื™ืฉ ื—ืœื•ืŸ ื•ื’ื "ืชื•ืจ ื”ื•ื“ืขื•ืช". ื”ื•ื“ืขื•ืช ื”ืžื•ืคืขืœื•ืช ืขืœ ื™ื“ื™ ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ื”ืžืฉืชืžืฉ, ื›ืžื• ื’ื ื”ื•ื“ืขื•ืช ืฉื ืฉืœื—ื•ืช ืขืœ ื™ื“ื™ Windows ืขืฆืžื”, ืžื’ื™ืขื•ืช ื‘ืชื•ืจ, ื•ื”ืืคืœื™ืงืฆื™ื” ืขืฆืžื” ืžื—ืœื™ื˜ื” ื›ื™ืฆื“ ืœืขื‘ื“ ืื•ืชืŸ.

ืœื ืžืื•ื“ ืžืขื ื™ื™ืŸ ื‘ืคื ื™ ืขืฆืžื•. ืื‘ืœ ื›ืฉื”ื‘ื ืชื™ ืฉืชื•ืจ ื”ื•ื“ืขื•ืช ืœื ืžืขื•ื‘ื“ ืžืกืคื™ืง ื’ื“ื•ืœ ืคืขืœ ื›ื”ื™ื•ืจื™ืกื˜ื™ืงื” ืขื‘ื•ืจ Windows Process Manager ืœื”ืชืขืจื‘ ื‘ืชื”ืœื™ืš ืชืœื•ื™, ื”ืชื—ืœืชื™ ืœื”ื–ื™ืข ืกืจื•ื˜ื•ื ื™ืŸ ื˜ื”ื•ืจ.

ื‘ืœื™ ืœื‘ื–ื‘ื– ืฉื ื™ื™ื”, ื—ื–ืจืชื™ ืœืงื•ื“ C ืฉืœื™, ืžืชื›ื•ื ืŸ ืœืฉืœื•ื— ื”ื•ื“ืขื” ื ื•ืกืคืช ืœื—ืœื•ืŸ ื”-VNC ื”ืจืืฉื™ WM_SHOWWINDOW. ื‘ืžื—ื–ื•ืจ. ื ึดืฆื—ึดื™. ืื–, ื”ืจื‘ื” ื”ื•ื“ืขื•ืช. WM_SHOWWINDOW, ืฉืขื›ืฉื™ื• ื™ื“ืขืชื™ ืฉ-VNC ื™ื ืกื” ืœื”ืชืขืœื ืœื—ืœื•ื˜ื™ืŸ... ื‘ืกื›ื ื” ืฉืœื”.

ืœื™ืงื˜ืชื™ ื•ื”ืจืฆืชื™ 4KB ืฉืœ ื”ืงื•ื“ ื”ื›ื™ ืื•ื”ื‘ ื—ื•ืคืฉ ื‘ื—ื™ื™. ืœืื—ืจ ื›ืฉืœื•ืฉ ืฉื ื™ื•ืช, Windows ื“ื™ื•ื•ื—ื” ืฉื”ืชื”ืœื™ืš vncserver.ะตั…ะต ืœื ืขื•ื ื”, ื•ื”ืฆื™ืข ื”ืฆืขื” ืฉืคืฉื•ื˜ ืœื ื™ื›ื•ืœืชื™ ืœืกืจื‘ ืœื”:

ื”ืื ืืชื” ืจื•ืฆื” ืœื”ืฉืœื™ื ืืช ื”ืชื”ืœื™ืš ื”ื–ื”?

ืœืขื–ืื–ืœ ื›ืŸ!

ื”ืจืฉื• ืœื™ ืœื”ื•ื“ื•ืช ืฉื‘ืžืฉืš ื›ืœ ื”ื™ื•ื ื”ื™ื™ืชื™ ืžืจื•ืฆื” ืžืขืฆืžื™ ื‘ืฆื•ืจื” ื‘ืœืชื™ ื ืกื‘ืœืช.

ืื—ืจื™ ื›ืžื” ืฉืขื•ืช ืฉื‘ื™ืœื™ืชื™ ื‘ืขื™ื›ื•ืœ ื›ื•ื— ื”ืขืœ ื”ื—ื“ืฉ ืฉืœื™, ื”ื—ืœื˜ืชื™ ืื™ืš ืืฉืชืžืฉ ื‘ื•. ื–ื” ื”ื™ื” ืงืœ ืžื“ื™ ืคืฉื•ื˜ ืœื”ืจื•ื’ ืืช ื”ืคื’ื™ืฉื” ืžืžืฉ ืžื•ืœื•. ื”ื™ื” ืœื™ ืจืขื™ื•ืŸ ื˜ื•ื‘ ื™ื•ืชืจ - ืœื”ื™ืขืœื ืœื’ืžืจื™.

ืœืื—ืจ ื˜ื‘ื™ืœืช ืืฉ ืขื ืชื›ื ื•ืช ืฉืงืขื™ื ื”ื‘ื ืชื™ ืฉืื ื™ ื™ื›ื•ืœ ืœื›ืชื•ื‘ ืงื•ื“ ืฉื™ืขืฉื” ืฉื ื™ ื“ื‘ืจื™ื. ื”ื•ื ื™ืชืคื•ืก ืชื—ื™ืœื” ืืช ื™ืฆื™ืืช TCP 5900 ืฉื”ื•ื—ืจืจื” ืœืื—ืจื•ื ื”, ืฉื ื›ื‘ืฉื” ื‘ืขื‘ืจ ืขืœ ื™ื“ื™ ืชื”ืœื™ืš ืฉืจืช VNC ื—ืกืจ ืžื•ืฉื’. ืื– ื–ื” ื™ืฆื•ืจ ื—ื™ื‘ื•ืจ TCP ื—ื“ืฉ ืœืฉืจืช VNC ืฉืœ ื”ืžื›ื•ื ื” ืฉืฆื•ื™ื ื”. ื”ืงื•ื“ ืคืฉื•ื˜ ื™ื‘ืฆืข ืคืจื•ืงืกื™ ืฉืœ ื›ืœ ื”ื ืชื•ื ื™ื ื‘ื™ืŸ ืฉื ื™ ื”ืฉืงืขื™ื, ื•ืงื•ืœืžื‘ื• ื™ื—ืฉื•ื‘ ืฉื”ื•ื ืžืชื—ื‘ืจ ืืœื™ื™, ื›ืฉืœืžืขืฉื” ื”ื•ื ื™ืชื—ื‘ืจ ืœืฉืจืช VNC ืื—ืจ ืœื’ืžืจื™.

ื”ืงื•ื“ ืฉืœื™ ื™ืฉืžืฉ ื›ื’ืฉืจ ืกื•ื“ื™ ื‘ื™ื ื™ ืœื‘ื™ืŸ ื ืฉืžื” ืขืœื•ื‘ื” ืื—ืจืช ืฉื‘ื—ืจืชื™. ื–ื” ื”ื™ื” ื ืคืœื.

ืžื™ื“ ื”ืชื—ืœืชื™ ืœื›ืชื•ื‘ ืืช ื’ืฉืจ ื”-VNC ื”ืžื–ื•ื™ืฃ ืฉืœื™. ืงื•ืœื•ืžื‘ื• ื”ืชื—ื‘ืจ ืืœื™ื™ ื›ืžื” ืคืขืžื™ื, ืื‘ืœ ื”ืžืฉื›ืชื™ ืœืชื›ื ืช ืžื•ืœื•. ื”ื’ืขืชื™ ืœืžืกืงื ื” ืฉืื™ืŸ ืœื• ืžื•ืฉื’ ืžื” ืื ื™ ืขื•ืฉื”, ืœืžืจื•ืช ืฉื›ืชื‘ืชื™ ื“ื‘ืจื™ื ื‘ืจื•ืจื™ื ื›ืžื• ืžืกืคืจื™ ื™ืฆื™ืื” ื•ื”ืขืจื•ืช ื›ืžื• // ะŸั€ะพั‰ะฐะน, ะถัƒั‚ะบะธะน ัˆะฟะธะพะฝ VNC.

ืื—ืจื™ ื›ืžื” ื™ืžื™ื ืœื ื”ืฆืœื—ืชื™ ืœื’ืจื•ื ืœืงื•ื“ ืœืขื‘ื•ื“ ื›ืžื• ืฉืฆืจื™ืš. ื›ื“ื™ ืœื”ื—ืžื™ืจ ืืช ื”ืžืฆื‘, ืขื‘ื“ืชื™ ื›ืžืขื˜ ื‘ืจืฆื™ืคื•ืช ืขื ืกืžืœ ื”-VNC ื”ืฉื—ื•ืจ ื‘ืžื’ืฉ ื”ืžืขืจื›ืช. ื‘ื–ืžืŸ ืฉื”ื•ื ื”ื™ื” ืžื—ื•ื‘ืจ, ืœื ื™ื›ื•ืœืชื™ ืœืฉื—ืจืจ ืืช ื”ื™ืฆื™ืื” ื›ื“ื™ ืœื‘ื“ื•ืง ืืช ื”ืงื•ื“ ืฉืœื™.

ืื ื”ื™ื™ืชื™ ื™ื•ื“ืข ืื– netcat!

ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื”ืขืฆื‘ื™ื ืฉืœื™ ื”ืชืคื•ื’ื’ื•, ืื—ืจื™ ื”ื›ืœ, ื”ื™ื™ืชื™ ื‘ื—ื•ืจ ื‘ืŸ 17 ื—ืกืจ ืกื‘ืœื ื•ืช. ื›ืฉืฆืคื™ืชื™ ื‘ืื™ื™ืงื•ืŸ ืฉืจืช ื”-VNC ื”ืœื‘ืŸ ื”ื•ืคืš ืœืฉื—ื•ืจ ืฉื•ื‘, ื”ืชื—ืจืคื ืชื™, ืคืชื—ืชื™ ืืช ื”ืงื•ื“ ื”ืžืงื•ืจื™ ืฉืื›ืœืก ืืช ืชื•ืจ ื”ื”ื•ื“ืขื•ืช, ื•ื”ืจืฆืชื™ ืื•ืชื• ืžื•ืœ ืขื™ื ื™ื•. ืืคื™ืœื• ื—ื™ื›ื™ืชื™ ื›ืžื” ืฉื ื™ื•ืช ืœืคื ื™ ืฉืœื—ืฆืชื™ End Process, ืจืง ื›ื“ื™ ืœื•ื•ื“ื ืฉื”ื•ื ืจืื” ืืช ื–ื”.

ืื ืœื—ื™ืฆื” ืขืœ ื”ื›ืคืชื•ืจ ื”ื–ื” ืœื ืฉื›ื ืขื” ืื•ืชื™ ืœื’ืžืจื™ ืฉื–ื” ืฉื•ื•ื” ืืช ื–ื”, ืื– ื”ื•ื ื–ื™ื ืง ืžืื—ื•ืจื™ ืžื‘ืฆืจ ื”ืžื•ื ื™ื˜ื•ืจื™ื ืฉืœื• ื›ื“ื™ ืœื”ืชืงืจื‘ ืืœื™ื™ ื‘ืžื”ื™ืจื•ืช ื•ืœื”ื•ืฆื™ื ืื•ืชื™ ืžื”ื—ื“ืจ ื‘ื”ื—ืœื˜ ื›ืŸ.

ืขืงื‘ ื›ืš ื ืืกืจืชื™ ืžื”ืจืฉืช ืœืฉื‘ื•ืขื™ื™ื. ืขื•ื ืฉ ื”ื•ื’ืŸ, ื—ืฉื‘ืชื™. ืœืื—ืจ ื›ืฉืœื•ืฉื” ืฉื‘ื•ืขื•ืช, ืฉืจืช ื”-VNC ื ืขืœื ืžืกืงืจื™ืคื˜ื™ ื”ืืชื—ื•ืœ ื•ืœื ื”ื•ืคื™ืข ื‘ืฉื•ื ืžืงื•ื ืื—ืจ. ืžืขื•ืœื ืœื ื™ื“ืขืชื™ ืื ื”ืชืงืจื™ืช ืฉืœื™ ืฉื™ื—ืงื” ืชืคืงื™ื“ ื›ืœืฉื”ื• ื‘ื–ื” ืื• ืœื, ืื‘ืœ ื–ื” ื”ืจืก ืœื—ืœื•ื˜ื™ืŸ ืืช ื”ืชื•ื›ื ื™ืช ืฉืœื™ ืœื”ืชืขืฉืจ ืœื”ืคืœื™ื ืขืœ ื™ื“ื™ ืžื›ื™ืจืช ืืงื“ื— ื”-VNC ืฉืœื™ ืœืกื˜ื•ื“ื ื˜ื™ื ืžื“ื•ื›ืื™ื ื‘ืื•ืœืžื•ืช ืžื—ืฉื‘ื™ื ื‘ืงื•ืœื’' ื‘ืจื—ื‘ื™ ื”ืืจืฅ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”