Ð
ç§ãåããŠã³ã³ãã¥ãŒã¿ãŒãç¹ã«ããã°ã©ãã³ã°ã«èå³ãæã¡å§ããã®ã¯ 11 æ³ã®é ã§ããã é«æ ¡ã®åãã«bПç§ã¯èªç±æéã®ã»ãšãã©ã C64 ãããã£ãããBASIC ãæžãããããŠãæªãã³ãŒããããµãã§åãåãããšã«è²»ãããŸããã
è±åœã®åäŸãã¡ã¯æŸèª²åŸïŒ16 æ³é ïŒãé垞倧åŠã«éãããã㧠XNUMX ã€ãŸã㯠XNUMX ã€ã®ç§ç®ãéžæããŠå匷ããŠãã倧åŠã«é²åŠããŸãã 家ã«ããããŒãžã¥ã®ç®±ãšããŒãã¬ã³ãŒããŒãžã®æçãèãããšã倧åŠã§ãã³ã³ãã¥ãŒã¿ãŒ ãµã€ãšã³ã¹ããåŠã¶ã®ãæ£ããéžæã ãšå€æããŸããã
äºæ³ä»¥äžã«ã³ãŒã¹ã楜ãããŸããã ããã§ç§ã¯åããŠãã¹ã«ã«ãšãã«ãã£ã«äŒããŸããã
ææ¥éã®äŒæ©æéã«ã¯ãåŠçã¯ã³ã³ãã¥ãŒã¿ãŒå®€ã«ããèªç±ãªãã·ã³ã§äœæ¥ããããšãã§ããŸããã æ³åããŠã¿ãŠãã ãããçŽ 50 人çšã«èšèšããã巚倧ãªéšå±ã«ãã·ã¹ãã ãŠãããã®äžã«ã¢ãã¿ãŒã眮ãããŠãããããªãæ©æ¢°ã䞊ã¹ãããããŒãã«ã®åã䞊ãã§ãããšããŸãã ãã¡ã³ã¯åžžã«ãã³ãã³é³ãç«ãŠãŠãããããŒãã«ã®äžã§ã¯ããŠã¹ããŒã«ãäžç¬ãããšãæ¢ãŸããŸããã ãŸãã§ãã«ã¢ã³äžæ¯ã®100ïœXNUMX人ã®ãã£ãŒã³ãšã€ãžã£ãŒãäœçŸãã®Pentium IIIããããå·åŽããããã«å®æçã«äº€æããŠãããã®ãããªãå¥åŠãªåãã空æ°äžã«æŒã£ãŠããã
å¥åº·äžã®ãªã¹ã¯ã«ãããããããç§ã¯æéãããã°ã³ã³ãã¥ãŒã¿ãŒã®åã«åº§ãã®ã奜ãã§ããã
ãã®éšå±ã®ç®¡çè ã¯èã®äœãäžå¹Žç·æ§ã§ãæªã®ç¬è£è ã«ãªããããšãã飜ããªãé¡æã®ãããã®åœ¹ã«éžã°ããã ããã ãšæããŸãã å€åäžãšããã®ã¯æ§ãããªè¡šçŸã§ã圌ã¯èªåã®ä»äºãæ¬åœã«æããŠããŸããã 圌ã¯ã誰ãåŠæ ¡ã®ã³ã³ãã¥ãŒã¿ãŒãäžé©åãªç®çã§äœ¿çšããªãããã«ç§©åºãä¿ã€ä»»åãè² ã£ãŠããŸããã
ä»ã§ãç§ã®çŽèŠ³ã«ãããšã管çè ã®ããŒãã¹ã¯ã圌ãæã§æãŸããŠã³ã³ãã¥ãŒã¿ãŒå®€ããè¿œãåºããçåŸã®æ°ã«çŽæ¥äŸåããŠããããã§ãã 確ããã®äººã¯äœå® ããŒã³ãæ©ãå®æžãããšæããŸãã
圌ã¯ã³ã³ãã¥ãŒã¿ãŒå®€ã®é ã®ããŒãã«ã«åº§ã£ãŠããŸããã ãããŠã圌ã®çæ®èœåã¢ãã¿ãŒã¯ãéåžžã«å€ãã®æ°ããã£ããããé©ãã»ã©çãåŠåš æéã§çæ®ããæ¹æ³ãçºèŠãããšèããã®ãå®å šã§ãã æ¬åœã«ããããã¹ãŠã远跡ããæéããã£ãã®ãã©ããçåã«æã人ãããã§ãããã ãã¡ããåè«ã§ã...圌ãèªåã®ä»äºãéåžžã«çå£ã«åãæ¢ããŠãããšèšããŸããã?
åœæãã³ã³ãã¥ãŒã¿ ãããã¯ãŒã¯ã§ã¯ Windows 2000 ãå®è¡ãããŠããŸãããã·ã¹ãã ã«ãã°ã€ã³ãããã³ã«ããã¹ã¯ããããžã®ãªã¢ãŒã ã¢ã¯ã»ã¹ã®ããã«ç®¡çè ã¢ã«ãŠã³ããã VNC ãµãŒããŒãèµ·åããããšãæå®ããã¹ã¯ãªãããèµ·åãããããšãããã«ããããŸããã ãã®ç·ãããªããã¹ãã€ããããšãã¯ãã€ã§ããããªãã®ãã·ã³ã«çŽæ¥æ¥ç¶ããŠç£èŠããŠããŸããã äžæ°å³ã ã£ãããä»æããšéæ³ã ã£ããããããªãã
BASIC ãš C64 ã®åºç€ã身ã«ã€ããä»ã§ã¯ C ãšå°ãã® C++ ã§æžãããã«ãªããŸããã åœæãç§ã¯ C++ ã®ããã€ãã®æ¬ ç¹ãä¿®æ£ãã D èšèªã«ãŸã éåžžã«èå³ãæã£ãŠããŸããã
ç§ã¯ãD ã«é¢ããæ°ããæ å ±ãèªãã ããDigital Mars D ã³ã³ãã€ã©ãŒããããããã«ã³ã³ãã¥ãŒã¿ãŒå®€ã«è¡ã£ããããŠããŸãããæã«ã¯ãD ã®çŽ æŽãããå°æ¥ã«ã€ããŠèããããšã«æ°ãåãããŠããéã«ãC ã³ãŒããæžããŠããŠã£ã³ããŠããä»ã® Win32 ããã°ã©ã ããããã³ã°ããŠããŸããããã³ãã«ã
Win32 ããã°ã©ãã³ã°ã®å€ãè¯ãæ代ã«ã¯ããŠã£ã³ã㊠ãã³ãã«ãèŠã€ããããšãä»ã®ããã°ã©ã ããããã³ã°ããæãç°¡åãªæ¹æ³ã§ããã æããã«ãWindows äžã®ãã¹ãŠã® GUI ããã°ã©ã ã«ã¯ãããšãç»é¢äžã«è¡šç€ºãããªãã£ããšããŠãããŠã£ã³ããŠããããŸããã å¥ã®ããã»ã¹ãžã®ãã³ãã« (æ¬è³ªçã«ã¯ãã®ããã»ã¹ãžã®ãªã³ã¯) ãååŸããããã°ã©ã ãäœæãããšããã®ããã»ã¹ã«ã¡ãã»ãŒãžãéä¿¡ã§ããŸãã ããã«ãããããã°ã©ã ãŠã£ã³ããŠã®é衚瀺/衚瀺ãªã©ã®åºæ¬çãªæäœã ãã§ãªããããã»ã¹ã«ã¡ã¢ãªç©ºéã«ä»»æã® DLL ã匷å¶çã«ããŒãããŠã³ãŒãã®å®è¡ãéå§ãããªã©ãéåžžã«åªããæäœãå¯èœã«ãªããŸããã DLL ãæ³šå ¥ããåŸã楜ããããšãå§ãŸããŸããã
æåã® XNUMX ãæåã®éããã®æ¢åµã¯ç§ãããŸãæ©ãŸããŸããã§ãããç§ã®ãã·ã³äžã® VNC ãµãŒããŒã«æ¥ç¶ããã®ã¯ XNUMX ã XNUMX åã ãã§ããã ããããããç¹å®ã®ã»ãã·ã§ã³ã圌ã®èå³ãããã£ãã®ãããããŸããã ææ¥ã§ãã¬ã€ããããããã«ããã€ã³ã¹ã€ãŒãã®ãŠã£ã³ããŠã (éããã«) é衚瀺ã«ãã C ã³ãŒããäœæããŠãããšããã·ã¹ãã ãã¬ã€ã®çœã VNC ã¢ã€ã³ã³ãé»ããªã£ãŠããããšã«æ°ã¥ããŸããã ããã¯ã圌ãä»ç§ãèŠãŠããããšãæå³ããŸããã
ç§ã¯åœŒãç¡èŠããããšããŠããã€ãã®ããã«ã³ãŒãã£ã³ã°ãç¶ããŸããã ãã®éããã·ã³ã¯éšå±ã®é ã«ããç¡æ°ã®ã¢ãã¿ãŒã® XNUMX ã€ã«æ倧ãã¬ãŒã ã¬ãŒããéä¿¡ããããšããŠé床ãèœãšãå§ããŸããã Windows ãã»ãšãã©åå¿ããªããªããææ ¢ã®éçã«éãããšãããã°ã¢ãŠãããŠãã®æ¥ã®ä»äºãçµããŸããã
ãã®åŸã³ã³ãã¥ãŒã¿ãŒå®€ã蚪ãããšãã³ãã³ãã¯ã»ãŒæ¯åç§ãäœãããŠãããã«åŒ·ãé¢å¿ã瀺ããŸããã XNUMX åç®ãããã§ãç§ã¯ãããã«ã€ããŠã¯äœããããå¿ èŠãããããšæ±ºå¿ããŸããã
çæ§çã§çæ§çãªäººã§ããã°ããã®åé¡ãèªåãŸãã¯äžåžã«çŽæ¥æèµ·ããããšãã§ããã ãããšç§ã¯èªããŸãã ããããç§ã¯ãã€ãèªæã«è² ããŠãããã«èªåã«èšãèãããŠãŸã£ããå¥ã®æŠç¥ãæ¡çšããŸããã
- ãã® VNC ãµãŒããŒããªããã°äœãã§ããŸããã ââç§ã¯å·éã«ããããŠæ¯ ç¶ãšããŠäœåºŠãèªåã«èšãèãããŸããã
VNC ã匷å¶çµäºããå¿ èŠããããŸããã
ç§ã¯å€§å¢ã®åŠçãšäžç·ã«ã³ã³ãã¥ãŒã¿ãŒå®€ã«å ¥ããã¢ãã¿ãŒã®ããé ããã§ããã ãé¢ãããšããã«åº§ãããã«ãªããŸããã ããã¯ãã°ããããŸããããã¢ã€ãã¢ããã¹ãããæéãã§ããŸããã
ç§ã®æåã®è©Šã¿ã¯ãããªããåæããŠããã ãããšæããŸãããããªã匱ãã£ãã§ãã ã·ã¹ãã ãã¬ã€ã® VNC ã¢ã€ã³ã³ãå³ã¯ãªãã¯ãããšãEXIT ãšããããžãã¯æåã®ã¡ãã¥ãŒã衚瀺ãããŸãã æ®å¿µãªãããæåã¯ç°è²ã®ã¢ãŠãã©ã€ã³ããã¹ãã§æžãããŠããŸããã 管çè ãã°ã«ãŒã ããªã·ãŒ ãšãã£ã¿ãŒã§ [çµäº] ã¡ãã¥ãŒé ç®ãç¡å¹ã«ããŸããã ã¿ã¹ã¯ãããŒãžã£ãŒããããã»ã¹ã匷å¶çµäºããããšããŸããããããã»ã¹ã¯å¥ã®ãããç¹æš©ã®ããã¢ã«ãŠã³ãã§å®è¡ãããŠããããããã¡ããç§ã«ã¯èŠããŸããã§ããã ããŸããããŸããã§ããã
VNC ãµãŒããŒã¯ TCP ããŒã 5900 ã§å®è¡ãããããšãæãåºããŸããã ç§ã®æ¬¡ã®èšç»ã¯ããã®ããŒããã¯ã©ãã·ã¥ãããããã«ç Žæãããã±ããããã®ããŒãã«éä¿¡ããããšã§ããã
ç§ã¯å°ãªããšãæ°æ¥ãããŠãããã³ã«ãããããããŸããŸãªåœ¢ã§ããæ§é åããããããããããŒã 5900 ã«éä¿¡ãããããå£ããããšãæã¿ãŸããã çµå±ããããããŸããããŸããã§ããã
ããããã¯ããææŸããªãã ãããšæãå§ããŠãããšããçªç¶æ°ã¥ããŸããããããã«çªãããã«éããªãïŒ ããã衚瀺ããå¿ èŠããããŸãã ããããããããšãŠã䟿å©ãªããã¥ãŒãããã¿ã³ããããããããŸããã
ã»ãŒå®ç§ã«ãªã£ã C ã³ãŒããå®è¡ããŠãå¥ã®ããã»ã¹ã®ã¡ã€ã³ ãŠã£ã³ããŠãžã®ãã³ãã«ãèŠã€ããŸããããããŠãæ¡ã®å®ãVNC ãèŠã€ãããŸããã æã§ã¿ã€ããããšãã«ã€ã³ã¹ãã¬ãŒã·ã§ã³ãæããŸãã WM_SHOWWINDOW
ã ç§ãç®ã®åã«äœãèŠãã®ãåœãŠãŠã¿ãŠãã ãã?
äœããªãïŒ
ããŠãæ°ã«ãªã£ãã®ã§ããâŠçªã¯ãããŸããããç§ã®ã¡ãã»ãŒãžãç¡èŠããŠããŸããã ã³ãŒããæ©èœããããšã確èªããããã«ã³ãŒããåãã§ãã¯ããŸããã ä»ã®ããã€ãã®ããã»ã¹ã§ãã¹ããããšãããããŸãæ©èœããŸããã ä»ã®ã¡ãã»ãŒãžã VNC ãŠã£ã³ããŠã«éä¿¡ããããšããŸãããããŸã äœãéä¿¡ãããŸããã
ãããŠããŸãæ°ã¥ããŸããïŒ
ãšãŠãåããããã§
ããèªäœã¯ããŸãé¢çœããããŸããã ããããååãªå€§ããã®æªåŠçã®ã¡ãã»ãŒãž ãã¥ãŒããWindows ããã»ã¹ ãããŒãžã£ãŒããã³ã°ããããã»ã¹ã«ä»å ¥ããããã®ãã¥ãŒãªã¹ãã£ãã¯ãšããŠæ©èœããããšã«æ°ã¥ãããšããç§ã¯çŽç²ãªã»ãããã³ã®æ±ãããå§ããŸããã
XNUMX ç§ãç¡é§ã«ããããšãªããC ã³ãŒãã«æ»ããVNC ã¡ã€ã³ ãŠã£ã³ããŠã«å¥ã®ã¡ãã»ãŒãžãéä¿¡ããæºåãããŸããã WM_SHOWWINDOW
ã ãµã€ã¯ã«ã§ã æ°žé ã®ã ãšããããšã§ãããããã®ã¡ãã»ãŒãžã WM_SHOWWINDOW
ãVNC ãå®å
šã«ç¡èŠããããšããããšãããã£ãã®ã§ããã®å±éºãåããŠãã ããã
ç§ã¯äººçã§æãèªç±ãæãã 4 KB ã®ã³ãŒããã³ã³ãã€ã«ããŠå®è¡ããŸããã çŽ XNUMX ç§åŸãWindows ã¯ããã»ã¹ã次ã®ããã«å ±åããŸããã vncserver.еÑ
е
ã¯çãããæãããšãã§ããªãç³ãåºãããŸããã
ãã®ããã»ã¹ãå®äºããŸãã?
ãã¡ããïŒ
ãã®æ¥ã®æ®ãã®éãç§ã¯èªåèªèº«ã«èããããªãã»ã©æºè¶³ããŠããããšãèªããããŠãã ããã
æ°ããã¹ãŒããŒãã¯ãŒãç解ããã®ã«æ°æéãè²»ãããåŸãç§ã¯ãããã©ã®ããã«äœ¿ããã決ããŸããã 圌ã®ç®ã®åã§ã»ãã·ã§ã³ãçµããããã®ã¯ããŸãã«ãç°¡åã ã£ãã ãã£ãšè¯ãèãããã£ã - å®å šã«æ¶ããããšã ã
åŸã«
ç§ã®ã³ãŒãã¯ãç§ãšç§ãéžãã ä»ã®åããªéãšã®éã®ç§å¯ã®æ©ãšããŠæ©èœããŸãã ãã°ãããã£ãã
ç§ã¯ããã«åœã® VNC ããªããžãæžãå§ããŸããã ã³ãã³ãã¯äœåºŠãç§ã«æ¥ç¶ããŸããããç§ã¯åœŒã®åã§ããã°ã©ãã³ã°ãç¶ããŸããã ç§ã¯ãããŒãçªå·ã次ã®ãããªã³ã¡ã³ããªã©ã®æçœãªããšãæžããã«ããããããã圌ã¯ç§ãäœãããŠããã®ãç解ããŠããªãã£ããšããçµè«ã«éããŸããã // ÐÑПÑай, жÑÑкОй ÑпОПМ VNC
.
æ°æ¥åŸãã³ãŒããæ£ããåäœãããããšãã§ããªããªããŸããã ããã«æªãããšã«ãç§ã¯ã·ã¹ãã ãã¬ã€ã«é»ã VNC ã¢ã€ã³ã³ã衚瀺ãããŸãŸãã»ãŒç¶ç¶çã«äœæ¥ããŠããŸããã æ¥ç¶ãããŠããéãã³ãŒãããã¹ãããããã«ããŒãã解æŸã§ããŸããã§ããã
ãããã®æç¥ã£ãŠããã netcat
!
çµå±ã®ãšãããç§ã¯ãã£ãã¡ãª 17 æ³ã®ç·ã§ããã çœã VNC ãµãŒããŒã®ã¢ã€ã³ã³ãåã³é»ããªãã®ãèŠãŠãç§ã¯ã³ã£ããããŠãã¡ãã»ãŒãž ãã¥ãŒã«èšå®ãããŠããå
ã®ã³ãŒããéããŠã圌ã®ç®ã®åã§å®è¡ããŸããã ã¯ãªãã¯ãããŸã§æ°ç§åŸ
ã£ãããšããããŸã End Process
ã圌ããããèŠãããšã確èªããããã ãã«ã
ãããã®ãã¿ã³ãæŒããŠããããã ãã®äŸ¡å€ããããšç§ã«ååã«çŽåŸãããããªãã£ããšããŠãã圌ãã¢ãã¿ãŒã®èŠå¡ã®åŸãããé£ã³éããŠç§ã«çŽ æ©ãè¿ã¥ããç§ãéšå±ã®å€ã«é£ãåºããã®ã¯ç¢ºãã«çŽåŸã§ããŸããã
ãã®çµæãç§ã¯XNUMXé±éãããã¯ãŒã¯ããè¿œæŸãããŸããã æ£åœãªçœ°ã ãšç§ã¯æã£ãã çŽ XNUMX é±éåŸãVNC ãµãŒããŒã¯ããŒã ã¹ã¯ãªããããæ¶ããä»ã®ã©ãã«ã衚瀺ãããªããªããŸããã ç§ã®äºä»¶ãããã«äœããã®åœ±é¿ãäžãããã©ããã¯ããããŸããã§ããããå
šåœã®å€§åŠã®ã³ã³ãã¥ãŒã¿ãŒããŒã«ã§èœã¡èŸŒãã§ããåŠçã«VNCéã売ã£ãŠå€§éæã¡ã«ãªããšããç§ã®èšç»ã¯å®å
šã«å°ç¡ãã«ãªããŸããã
åºæïŒ habr.com