ææ§ãªåå¿ã¯ãMicrosoftãWindowsã®æ°ããããŒãžã§ã³ãšä»ã®äººã®ããã°ã©ã ãšã®äºææ§ã確ä¿ããããã«ã©ãã ãåªåããŠãããã«ã€ããŠ
ã®Raymond Chenã®
話ã«ãã£ãŠåŒãèµ·ããããŸããã
éã®ã±ãŒã¹ãç¥ãããŠããŸããMicrosoftããWindowsãšMS-DOSã®ãä¿¡é Œã§ããªããã¯ããŒã³ãšã®éäºææ§ãæå³çã«æ±ãããšãã§ãã
å士ã®åé¡ãã
Dobb's Journal ã1993幎9æïŒ
Windows 3.1ã®ããŒã¿ãã¹ãã«åå ããDR-DOSãã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ãããŠããå Žåããããã次ã®ãããªç°åžžãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã
èŽåœçã§ã¯ãªããšã©ãŒãæ€åºãããŸããïŒãšã©ãŒïŒ2726
Windows 3.1ããŒã¿ãµããŒãã«ãåãåãããã ãã
ENTERãæŒããŠçµäºããããCãæŒããŠç¶è¡ããŸã
ããã¯ãèŽåœçã§ã¯ãªããšã©ãŒãã§ãããCããŒãæŒããšWindowsãèµ·åãç¶ããŸããããããã©ã«ããã¢ã¯ã·ã§ã³ã¯èµ·åããã£ã³ã»ã«ããããšã§ãã
ãã§ã«çãããïŒãšã©ãŒãèŽåœçã§ã¯ãªããWindowsãããã«ããããããåäœã§ããå ŽåããªããŠãŒã¶ãŒã«å ±åããã®ã§ããïŒ
ãã®ã¡ãã»ãŒãžã¯ãWindows 3.1ã®ããã€ãã®ãã¬ãªãªãŒã¹çã®WIN.COM
ã SETUP.EXE
ã HIMEM.SYS
ã SMARTDRV.EXE
ããã³MSD.EXE
ã«ãã£ãŠçºè¡ãããŸããã
Windows 3.1ã®æçµããŒãžã§ã³ã«ã¯ããã®ã¡ãã»ãŒãžã衚瀺ããã³ãŒãããŸã å«ãŸããŠããŸãã ãã®ã³ãŒãã¯ããªããã§ããã WIN.COM
1ãã€ããããªã³ãã«å€æŽããã ãã§ãã
ãã®æçš¿ã§æãèå³æ·±ãã®ã¯ãNovell DOS 7ã®ããŒã¿çãå«ãDR-DOSã®ãã¹ãŠã®ããŒãžã§ã³ã§è¡šç€ºãããŸãããMS-DOSãŸãã¯PC-DOSã®ãããã§ã衚瀺ãããªãããšã§ãã ãã®ã¡ãã»ãŒãžã¯äœã«ã€ããŠå ±åããŠããŸããïŒ
ãã¶ãããã¯äºæ
ã§ããïŒ
ãã€ã¯ããœããã®ã©ã€ãã«ã¯ãæªã®åžåœãããã°ã©ã ãæ
æã«æ··ä¹±ãããŠããããšããã°ãã°åããŸãã å®éãMicrosoftã¯éåžžã競åä»ç€Ÿã®ããã°ã©ã ã§ãšã©ãŒãçºçããå Žåã§ããäžäœäºææ§ããµããŒãããããã«åäŸã®ãªãåªåãããŠããŸãã
MicrosoftãWindowsãDR-DOSã§åäœãããªãããšã䞻匵ããŠãã人ã¯èª°ã§ããäºå®ãææã§ããŸããWindows3.1 Advanced Modeã¯DR-DOSã§æ£åžžã«åäœããŸãã ã¯ããæšæºã¢ãŒãã¯æ©èœããŸããããNovellã¯ãããDR-DOSã®ãã°ã«ãããã®ã§ããããšã確èªããŠããŸãã
Novell DOSã®å¥ã®ãã°ãåå ã§ãå¥åŠãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ããããšèããããŸãã N瀟ã®ããã°ã©ã ã®ãã°ããæå³çã«äºææ§ã®ãªããMãšããŠåœè£
ããããšããã®ã¯ãããåããŠã§ã¯ãããŸããã
ãããã°ä¿è·
ã¡ãã»ãŒãžã®åå ãèŠã€ããæåã®ã¹ãããã¯ã WIN.COM
ã³ãŒããåæããããšã§ãã ããã«é害ç©ã®ã³ãŒã¹ã«ééããŸãïŒ WIN.COM
ã®å¯Ÿå¿ãããã©ã°ã¡ã³ãWIN.COM
XORæå·åãããèªå·±ä¿®æ£ãããæå³çã«å°ç¡ãã«ãããããã«ãã¹ããããã€ã¹ãããã®å®è¡ããä¿è·ããããã®ããªãã¯ãè©°ã蟌ãŸããŠããŸãïŒããšãã°ã INT 1,2,3
ãããã°å²ã蟌ã¿ãã¯ãã«ãååšããªãã¢ãã¬ã¹ã«èšå®ããŸãã ææ°ã®ãããã¬ãŒã«ã¯åœ±é¿ããŸããïŒç§ã¯Nu-Megaã®Soft-ICEã䜿çšããŸããïŒããç 究èªäœãè€éã«ããããšããè©Šã¿ã¯ãã±ãŒã¹ãã¯ãªãŒã³ã§ãªãããšããã§ã«ç€ºããŠããŸãã
ã³ãŒãã®äž»èŠéšåã¯æå·åãããŠãããšããäºå®ã«ãããããããMicrosoftã®èäœæš©ã®ããè¡ã¯æå·åãããªããŸãŸã§ããããAARDããšãRSAAãã®2ã3è¡ã¯ããããããã°ã©ããŒã®ã€ãã·ã£ã«ã§ãã
ïŒèè
ã¯æšæž¬ããïŒAARD-ãã®ãé²è¡ããå®çŸããã¢ãŒãã³ã»ã¬ã€ãã«ãºã®ã€ãã·ã£ã«ãïŒ
ãã§ãã¯ã®æåå
åºæ¬çã«ãæå·åãããã³ãŒãã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãæ£èŠã®MS / PC-DOSã§ãããã©ããã確èªããŸãã ïŒãã®ã³ãŒãã¯MS-DOSã«äŸåããªã補åã§ããWindowsã®äžéšã§ããïŒïŒææžåãããŠããªãæ©èœãšå
éšDOSæ§é ã®ããŸããŸãªåŽé¢ããã¹ããããŠããŸãã ããšãã°ãAARDã³ãŒãã¯SysVars
ãã€ã³ã¿ãŒããã§ãã¯ããŠãåæåãããŠããããšã確èªããŸãã èå³æ·±ãããšã«ã SysVars
æ§é SysVars
é«å質ã®DOSã¯ããŒã³ã«å®è£
ãããŠããŸãããDR-DOS 5/6ããŒãžã§ã³ã¯HIMEM.SYS
å
ããæ€èšŒã«åæ ŒããŸããããã®ãã©ã€ããŒã¯ãå
éšDR-DOSæ§é ã®åæåãå®äºããåã«ããŒããããŸãã
以äžã¯ãããã«è€éãªãã¹ãã§ãã æåã«ãã³ãŒãã¯ãããã¯ãŒã¯ãªãã€ã¬ã¯ã¿ãå®è¡ãããŠãããã©ããã確èªããŸãã éå§ãããå ŽåãAARDã¯ãçŸåšã®ã³ãŒãããŒãžã®å°æåãšå€§æåã®ããŒãã«ãåãã»ã°ã¡ã³ãã«ãããã©ããã確èªããŸãã ãªãã€ã¬ã¯ã¿ãå®è¡ãããŠããªãå ŽåãAARDã¯æåã®ãã¡ã€ã«ã³ã³ãããŒã«ãŠãããïŒFCBïŒããªãã»ãã0ã«ããããšã確èªããŸãã
ãããã®ãã¹ãã¯MS-DOSã®ãã¹ãŠã®ããŒãžã§ã³ã«åæ ŒããŸãããDR-DOSã®1ã€ã®ããŒãžã§ã³ã«ã¯åæ ŒããŸããã
å³ããå®è·è
èšèªæ
å ±ã¯ãããã¯ãŒã¯ãªãã€ã¬ã¯ã¿ãšäœã®é¢ä¿ããããŸããïŒ Windowsã§ã¯ãè³æ¬ããŒãã«ãã©ã®ã»ã°ã¡ã³ãã«ãããã©ã®ãªãã»ããã§FCBã«ããã®ã§ããïŒ ãããã®ãééãããšã¯äœã§ããïŒ
å®éã倧æååã»ã°ã¡ã³ãã¯Windowsã®ã©ãã§ã䜿çšãããŠããŸãããAARDã³ãŒãã¯ãããã5ã€ã®ç¡é¢ä¿ãªããã°ã©ã ã®åäœãšã¯é¢ä¿ãããŸããã WindowsãDOSã®å
éšæ§é ãåæããç¹å®ã®æ©èœãå®è£
ãããŠãããã©ããã確èªããããã«ãã®ããŒãžã§ã³ã決å®ããã°ç解ã§ããŸãã ãããã WIN.COM
ããAARDã³ãŒããå«ãä»ã®ããã°ã©ã ãããã§ãã¯ã®çµæã䜿çšããŸããã圌ããè¡ãããšã¯ãDOSã®ãå€æ¥ãããŒãžã§ã³ã®ãŠãŒã¶ãŒãæå³ã®ãªããšã©ãŒã¡ãã»ãŒãžãšæ··åããããšã ãã§ãã
ééããªããæå³çãªéäºææ§ãã®ããã«èŠããŸãã ããšã©ãŒããèŽåœçã§ã¯ãªããWindowsãåŒãç¶ãæ£åžžã«åäœããŠããå Žåããšã©ãŒã¯äœã§ããïŒ ãŠãŒã¶ãŒãééã£ãããŒãžã§ã³ã®DOSãéžæããŠããŸããïŒ
MS-DOSã§ã¬ã¿ãŒããŒãã«ãšFCBãžã®ãã€ã³ã¿ãŒãå€æŽããŠãåãããŒã¿ãæãããã«ããŸããããç°ãªããã¢ïŒã»ã°ã¡ã³ãïŒãªãã»ããïŒã䜿çšããŸããã Windowsãšãã¹ãŠã®ããã°ã©ã ã¯ãäœãèµ·ãããªãã£ããã®ããã«æ©èœãç¶ããŸããã å¯äžã®å€æŽç¹ã¯ãèµ·åæã«AARDã¡ãã»ãŒãžãåä¿¡ãå§ããããšã§ãã
AARDã¯ããã€ãåäœã®çµ¶å¯ŸçãªMS-DOSäºææ§ã®ãã¹ãã§ããããšãããããŸããã
çºèŠããããšããã€ã¯ããœããã«å ±åããäžçŽåŸæ¥å¡ãããDR-DOSãæ°ã«ããŸãã... [Novell]ã¯100ïŒ
ã®äºææ§ã䞻匵ããŠããŸãããDR-DOSã«ã¯ãã°ããããããããŸãã DR-DOSãŠãŒã¶ãŒãWindowsã§åé¡ãæ±ããŠããå ŽåãNovellã«ãããç解ãããŠãã ããã
ããããã©ãããã圌ãã¯DR-DOSãæ°ã«ãããŠãã-圌ãã¯ãã®ãããªæŽç·Žããããã§ãã¯ãå®è£
ããããã«ããã泚ææ·±ãæ··ä¹±ãããããã ã
ãã€ã¯ããœããã¯ãããã¥ã¡ã³ãåãããŠããªãã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠè£œåéã®éä¿¡ãè¡ãã®ã¯åããŠã§ã¯ãããŸããã ããšãã°ãDR-DOSãå«ãDOSã¯ããŒã³ã¯ãMS-DOS 3.31ãªã©ã®å€ãããŒãžã§ã³ã®MS-DOSã«ãªãããŸããŠãWindowsãã¢ããã³ã¹ãã¢ãŒãã§å®è¡ãããããã«ããå¿
èŠããããŸãã ããã¯ã DOSMGR
ãã©ã€ããŒãã WIN386.EXE
ãŸã 埩å·åãããŠããªãMS-DOS 5/6ãšã®éä¿¡ã«ææžåãããŠããªããããã³ã«ã䜿çšããŠããããã§ãã ã¯ããŒã³ãDOSã®ææ°ããŒãžã§ã³ãšããŠæ瀺ãããå ŽåãWindowsã¯ãµããŒããããŠããªããããã³ã«ã䜿çšããŠã¯ããŒã³ãšéä¿¡ããããšããŸãã
ããããææžåãããŠããªãã€ã³ã¿ãŒãã§ãŒã¹ããæå³çã«æ··ä¹±ãæå·åãããã€ã³ã¿ãŒãã§ãŒã¹ãžã®ç§»è¡ã¯ããããŸã§ã«ãªã競äºã®ãã¯ãããžãŒã§ãã
Windowsã®ç¶èŠªã§ããBill GatesãšBrad Silverbergã®ãã¶ã«å¯Ÿãã
AARD-codeã®èè
ã®çãã¯ãéåžžã«æ¿ã£ãŠããŠæ°Žã£ãœãã§ãã èŠããã«ãWindowséçºè
ã¯ããã¹ãæã«DOSã¯ããŒã³ã«é¢ããå€ãã®åé¡ãçºèŠãããã¹ãŠã®éäºææ§ã®æ€åºãšåé¿ã«äœåãªåŽåãè²»ããããšã¯ãããMS-DOSã§ã¯ãªãWindowsã®èµ·åæã«åã«ã¡ãã»ãŒãžã衚瀺ããŸããã ãèªèº«ã®è²¬ä»»ã§ç¶è¡ããŠãã ãããã
ã¢ãŒãã³ã¯ãMicrosoftãDOSã®ä»ã®ããŒãžã§ã³ã®WindowsããµããŒãããã¹ãã§ãããšããä»®å®ã«æãããããŠããŸããã圌ãã¯ç§ãã¡ã®éçºãåŒãè£ããŠããã®ã§ãé·å¹ŽçããŠããŸããã 圌ãã®ããã«åœŒãã®å·¥èžåããããã°ããããšãã§ããŸããã§ãããã
ããŒã¿ãã¹ãã®æç¹ã§ãã¡ãã»ãŒãžãããææ§ã«ãããŠãŒã¶ãŒãã³ã³ãã¥ãŒã¿ã«ã¡ãã»ãŒãžã衚瀺ãããããšããŠãŒã¶ãŒãå ±åããããšãå¿ããªãããã«ãç解ã§ããªããšã©ãŒã®èšåãå«ããããšã決å®ãããŸããã
ãŸããããŒã¿ãªãŒã¬ãã€ã¶ãŒã«ãšã£ãŠãMS-DOSã§åäœããïŒWindowsã§å®éã®ãã°ãå ±åããïŒãŠãŒã¶ãŒãšDOSã¯ããŒã³ã§åäœãããŠãŒã¶ãŒãç¥ãããšãéèŠã§ããïŒãããããWindowsã§ã¯ãªãããããã®ã¯ããŒã³ã®ãã°ã芳å¯ããŠãã ããïŒã
ãã®åŸãã³ãŒãã¯æå·åããããããNovellã¯ãããææ¡ããŠWindowsã®ããŒã¿ãã¹ãã®çµäºåã«ééããããŒãžã§ã³ã®DR-DOSããªãªãŒã¹ããæéããããŸããã§ãããããã«ããããã¹ããªãŒã¬ãã€ã¶ãŒãšçµæãæ··åãããŸãã
ããŒã¿ãã¹ãã®åŸããªãªãŒã¹åã«ãããžã§ã¯ã管çãèšç»ãå€æŽããæåŸã«DOSã®ãèªèšŒããå®å
šã«åé€ãããŸããã 念ã®ãããæ¢åã®ã³ãŒãã¯ãã®ãŸãŸã«ããŠãããŸãããå€æŽéãå°ãªãã»ã©ãå¥ã®å Žæã§äœãã誀ã£ãŠæããããå¯èœæ§ãäœããªããŸãã
ãããªã±ãŒãã®å察åŽã«ãããçããæãåº
ãã©ãªãŒã»ãªã¹ã¿ãŒãã³ãå°ããŸã ïŒ
AARDã³ãŒããæ··ä¹±ãããçç±ã¯ããããŸããã ããã¯ã°ãããŠãããšæããŸãã ããããDOSèªèšŒã®èãæ¹ã«ã¯çµ¶å¯Ÿã«åæãããšèšããããåŸãŸããã Windowséçºè
ã¯ãææžåãããŠããªãOSæ§é ãå«ããã·ã¹ãã ã®ãã¹ãŠã®ã³ãŒããŒãææããããšã«ããŸããã 圌ãã¯ããããèŠã€ããæ¹æ³ãç¥ã£ãŠããã圌ãã¯åœŒãã®ãµã€ãºãç¥ã£ãŠããããããŠåœŒãã¯ãããã®å
éšæ§é ãèªåã®ãã®ã§çœ®ãæããããšãäžç¬ãããããŸããã§ããã èšããŸã§ããªããMS-DOSéçºè
ã®èŠ³ç¹ããèŠããšãWindowsãµããŒãã¯æªå€¢ã§ããã
1ã€ã®äŸïŒWindowsã®èµ·åæã«ãSFTã®ãµã€ãºãå¢å ããŸãã-MS-DOSãã¡ã€ã«ã®å
éšããŒãã«ïŒããã¯config.sys
FILES=
è¡ãèšå®ããããŒãã«ãšåãã§ãïŒã åæã«20ãè¶
ãããã¡ã€ã«ãéãããšãã§ããããã«ããã«ã¯ããããå¢ããå¿
èŠããããŸããã20ã®ãã¡ã€ã«ãéãããšãã§ããªããã«ãã¿ã¹ã¯OSãæ³åããŠãã ããã ãããããã®ããã«ãææžåãããŠããªãåŒã³åºããæã€Windowsããã°ã©ããŒã¯ããèå³æ·±ããMS-DOSæ§é ãžã®ãã€ã³ã¿ãŒãåãåããæ¢ç¥ã®ãªãã»ãããè¿œå ããã·ã¹ãã SFTãç¬èªã®ãã®ã«çœ®ãæããŸããã
MS-DOS 4.0ã§äœæ¥ããŠããŠãWindowsã®ãµããŒããæäŸããå¿
èŠããã£ããšããWindowsãèŠã€ãããå Žæã«ãã€ã³ã¿ã眮ããŠããã®ã¯é£ãããããŸããã§ããã åé¡ã¯ãMS-DOS 4.0ã§ã¯ãSFTãMS-DOS 3.1ããã2ãã€ãå€ãã£ããšããããšã§ããã WindowsãSFTã眮ãæããããšãã§ããããã«ã WIN.COM
ã®éå§ãèªèããã³ãŒããDOSããŒãããŒããŒã«è¿œå ããŸããã ãã®ã³ãŒãã§ãå€ãSFTã®ãµã€ãºã«çãããªãã©ã³ããæã€MOV
åœä»€ãèŠã€ããŸãã ãããŠãã¡ã¢ãªå
ã§çŽæ¥ããã®ãªãã©ã³ããæ°ããSFTãµã€ãºã«çœ®ãæããŸãã
ãã®ãšããã§ããWindowsã®ã³ãŒããå³åº§ã«ä¿®æ£ããŠãåŒãç¶ãæ©èœããããã«ããªããã°ãªããŸããã§ããã
ããã§ãWindowsãDOSã¯ããŒã³ã§å®è¡ããããªãçç±ãããããŸããã ææžåãããŠããªãæ§é ã§ãã¹ããããšããäºå®ã«å ããŠã圌女ã¯ã·ã¹ãã é¢æ°ã®ç¹å®ã®å®è£
ã®æ©èœãç©æ¥µçã«äœ¿çšããŸããã ãªãšã³ãã©ã³ããªãã®ãšããã§ãªããã®ã äºææ§ã®ãªãDOSã§äœãèµ·ãããæ³åããŠãã ããïŒåå äžæã®ããªãŒãºãããã£ã¹ã¯äžã®ããŒã¿ç ŽæãŸã§ã
WindowsãMS-DOSã®å
éšã§åŸ®åŠãªè³ç¥çµå€ç§æè¡ãè¡ã£ãããšãèãããšã圌女ãæåã«ããããšã¯ãæ£è
ãå
¥ãæ¿ãã£ãŠããªãããšã確èªããããšã§ããã