D.C.¸ê°T¥æ¬yºô-[ºî¦X½×¾Â]-Ãö³¬µù¥U's Archiver

seep1234567890 µoªí©ó 2007-9-21 01:44

¥~±¾½s¼g§¹¥þ§ð²¤

¥~±¾½s¼g§¹¥þ§ð²¤
¤@¡B¥ý»¡¤@¤U¼g¤@­Ó¥~±¾»Ý­n¤°»ò±ø¥ó
1¡B¼ô½mªºC»y¨¥ª¾ÃÑ
¥Ø«eªº¥~±¾¤j³¡¤À³£¬O¥ÎBC©ÎªÌ¬Ovc¼gªº¡A¾Ö¦³¼ô½mªºC»y¨¥ª¾ÃѬO¼g¥~±¾ªº°ò¥»±ø¥ó
2¡B¨ã¦³«Ü±jªº¶×½s°ò¦ ¤@¯ë´åÀ¸³£¤£¥i¯à¦³­ì¥N½Xªº¡A¥²¶·*¤Ï¶×½s©ÎªÌ¸òÂܪº¿ì
ªk¨Ó±´¯Á¨ä¤¤ªº¾÷²z ¡A©Ò¥H¦³±jªº¶×½s°ò¦¤]¬O¥²¤£¥i¤Öªº±ø¥ó
3¡B¼ô½m´x´¤¸òÂÜ©M½Õ¸Õªº¤u¨ã
¦³¤F¤W­±2­Ó±ø¥ó«á¡A´x´¤¤@¨Ç¤u¨ã¤]¬O«Ü¦³¥²­nªº
¸òÂܪº¤u¨ã¡Asoftice·íµM¬O¤£¤G¤§¿ï¡A¦Ü©ó¤Ï¶×½sªº¤u¨ã¡A§Ú±À¯ò¥ÎIDA PRO
³o­Ó¤u¨ã¤Ï¶×½s¥X¨Óªº¥N½Xµ²ºc²M´·¡A«D±`¦nŪ
¦pªG§A¤£¨ã¦³¤W­±ªº±ø¥ó¡AÁÙ¬O¥ý§â°ò¦¥´¦n¡A¦A¨Ó¼g¥~±¾§a¡A¤@¤À¯Ñ¯Ð¡A¤@¤À¦¬Àò¡A¤Ñ¤U¨S¦³¥Õ±¼ªºÀ`»æªº
¤G¡B¼g¥~±¾­±Á{ªº°ò¥»§Þ³N°ÝÃD
1¡B­×§ï¶iµ{ªº°õ¦æ¥N½X ­n­×§ï¶iµ{ªº°õ¦æ¥N½X¡A­n¥ý¨ú±o¶iµ{ªºID,¦pªG¬O¥Ñ¥~±¾µ{§Ç±Ò°Ê¡Aªð¦^­È¨½´N¦³¶iµ{ID,
¦pªG¤£¬Oªº¸Ü¡A
»Ý­n¥Îfindwindow§ä¨ìµøµ¡¥y¬`¡A¦A¥ÎGetWindowProcessID¨ú±o¶iµ{ID,¨ú±o¶iµ{ID¥H«á¡A´N¥i¥H¥Î
writeprocessmemory¨Ó­×§ï¶iµ{ªº°õ¦æ¥N½X¤F¡A¨Ïµ{§Ç«ö·Ó§Ú­Ìªº·NÄ@¨Ó°õ¦æ¡A¥Û¾¹¥~±¾¨½ªº¤£¹J¼Ä¡B¤o¨B¹J¼Ä
´N¬O¥Î³o¼Ëªº¤èªk¨Ó¹ê²{ªº
2¡BºIÀò¥~±¾°e¥X©M±µ¦¬ªº«Ê¥]
°£¤F³q¹L­×§ï¥N½X¨Ó¹ê²{ªº¥\¯à¥H¥~¡A«Ü¦hªº¥\¯à³£¬O³q¹L­×§ï«Ê¥]¨Ó¹ê²{ªº¡A­n­×§ï«Ê¥]¡A­º¥ý­n¯àºIÀò¥¦¡C
²Ä¤@¨B¬O­n¸òÂÜ¥Xµo©M¦¬ªº¦ì¸m¡A¦Ü©ó«ç»ò¸òÂÜ¡A§Ú¥H«á·|´£¨ì¡A§ä¨ì¦ì¸m¥H«á¡A¦³2­Ó¿ìªk¡A¤@¬O¦b¨º­Ó¦ì¸m¥[¤@
­Ójmp»y¥y¡A¸õ¨ì§Aªº³B²z¨ç¼Æ¦ì¸m¡A³B²z§¹«á¡A¦A¸õ¦^¨Ó¡A³oºØ¤èªk­n¨D¤ñ¸û°ª¡A»Ý­n³B²z¦n«Ü¦h¨Æ±¡¡A¥t¤@ºØ¿ìªk
¬O©¹¨º­Ó¦ì¸m¼g±ø¯à³y¦¨¨Ò¥~ªº«ü¥O¡A¤ñ¦pint 3,µM«á¥ÎDebugActiveProcess½Õ¸Õ´åÀ¸¶iµ{¡A³o¼Ë¨C·í´åÀ¸°õ¦æ¨ì¨º­Ó
¦ì¸mªº®É­Ô¡A´N·|°±¤U¨Ó¡A¨ì¥~±¾µ{§Ç¨½­±¥h¡Aµ¥¥~±¾µ{§Ç³B²z§¹¥H«á¡A¥ÎContinueDebugEvent Ä~Äò¹B¦æµ{§Ç¡C
¤µ¤Ñ¥ý¼g³o»ò¦h¡A¤U¦^±N°Q½×¥~±¾ªº¨ãÅé¥\¯à¸Ó«ç»ò¹ê²{

¤µ¤Ñ¨Ó½Í½Í¦a§}ªº½Õ¬d°ÝÃD¡A¦a§}½Õ¬d¬O¼g¥~±¾¤¤³ÌÁ}¨¯¡A³Ì´I¦³¬D¾Ô©Êªº¨Æ±¡¡A
«Ü¦hªB¤Í°Ý§Ú­n¥~±¾ªº­ìµ{§Ç¡A¨ä¹ê¦³¤F¥~±¾­ìµ{§Ç¡A¦pªG§A¤£·|½Õ¬d¦a§}¡AÁÙ¬O
¨S¥Îªº¡A ­ìµ{§Ç©M¦a§}ªºÃö«Y´N¶HªZ¾Ç¤¤©Û¦¡»P¤º¥\ªºÃö«Y¡A¨S¦³¤º¥\ªº©Û¦¡¡A
¥u¬O¤@­Óªá¬[¤l¡C¦Ó¤º¥\ºë²`¥H«á¡A¥ô¦ó´¶³qªº©Û¦¡¡A³£¦³¥i¯à¤Æ»G¦´¬°¯«©_¡A¥~
±¾¤¤ªº¦a§}¤À¬°¨âÃþ¡A¤@Ãþ¬Oµ{§Ç¦a§}¡A¤@Ãþ¬O¸ê®Æ¦a§}¡C¶H¥Û¾¹¤¤ªºÂù¥Û¾¹¡A¯u
±m¡A¤£¹J¼Ä¡A¤o¨B¹J¼Ä¡A°e¥X±µ¦¬«Ê¥]µ¥¡A³£ÄÝ©ó²Ä¤@Ãþ¡A¦Ó¤Hª«§¤¼Ð¡Aª¬ºAµ¥¡A
³£ÄÝ©ó²Ä¤GÃþ¡C¹ï©ó²Ä¤@Ãþ¦a§}¡A¥D­n¨Ì*softice¨Ó½Õ¬d¦a§}¡A¹ï²Ä¤GÃþ¦a§}¡A
¥i¥H¥Î¤@¨Ç´åÀ¸¤u¨ã¡A¤ñ¦pfpe,game expert,game masterµ¥¨Ó½Õ¬d¡A§Ú¤@ª½¥Îgame
expert,¦]¬°§Ú§ä¤£¨ì2000¤U¯à¥Îªºfpe, ¦U¦ì¥H«e¥Îfpe§ï´åÀ¸ªº®É­Ô¡A¨S·Q¹L¥L
¤]¯à¥Î¨Ó¤z³o­Ó§a ¹ï©ó²Ä¤GÃþ¸ê®Æªº½Õ¬d¤èªk¡A¤j³¡¤À¤H³£«Ü¼ô²ß¤F¡A§Ú´N¤£¦h
»¡¤F¡A²{¦b¥D­n¨Ó½Í½Í²Ä¤@Ãþ¸ê®Æªº¸Ô²Ó½Õ¬d¹Lµ{¡A¤ñ¦p§Ú­Ì­n½Õ¬d°e¥X«Ê¥]ªº¦ì
¸m¡A¦p¦óµÛ¤â©O¡A«È¤áºÝ©¹ªA°È¾¹­nµo«Ü¦h«Ê¥]¡A¦ý³Ì²³æªº¿ìªk²ö¹L±q»¡¸Üªº«Ê
¥]¤J¤â¡A¥ý»¡¤@¥y«Üªøªº¸Ü¡A³Ì¦n¬O­^¤å¡A¬d°_¨Ó¤è«K¡A»¡§¹¥H«á¡A¥Î¥ô·N¤@ºØ¿ì
ªk¶i¤J´åÀ¸µ{§Çªº¶iµ{ªÅ¶¡¡]¤ñ¦p¥ý¥Îspy¬d¥X´åÀ¸µ{§Çªºµøµ¡¥y¬`¡A¦A¤Á´«¨ìsof
tice¥´¤Jbmsg µøµ¡¥y¬` wm_lbuttondown,³o¼Ë¦b´åÀ¸µ{§Ç¤¤¤@ÂI·Æ¹«´N¶i¤J¤F¥L
ªº¶iµ{ªÅ¶¡¡^µM¦Z¥Îs©R¥O¬d¥X³o¥y¸Ü©Ò©ñªº°O¾ÐÅé¦a§}¡A°O¤U³o­Ó¦a§}¡A¦bsoftice
¤¤¥´¤Jbpm ­è¤~½Õ¬d¨ìªº¦a§}¡A³o­Ó«ü¥Oªº·N«ä¬O¥u­n¦³³X°Ý³o­Ó°O¾ÐÅ骺°Ê§@¡A¥ß¨è
¤¤Â_¡AµM¦Z¦A¤Á´«¨ì´åÀ¸¡A»¡¤@¥y¸Ü¡A§A·|µo²{softice¦Û°Ê¤¤Â_¨ì¬Y¤@­Ó¦ì¸m¤F¡A±q
³o­Ó¦ì¸m¸òÂܤU¥h¡A°e¥X«Ê¥]ªº¦ì¸m¤]´N¤£»·¤F¡C ¤W­±©Ò»¡ªº³£¬O°w¹ï¤@­Ó¥þ·sªº´å
À¸µ{§Ç¦Ó¨¥¡A¦pªG¬O¤@­Ó¦Ñªºµ{§Ç¡A¦³«e½ú°µ¤F¤j¶qªº¤u§@¡AÁÙ¥i¥H¥Î¨Ç§Oªº¿ìªk¡A
¦p¤Ï¶×½sµ¥¡A¨Ó½Õ¬d¡C¥H¦Z´åÀ¸ª©¥»ªº§ó·s¤]¬O¦p¦¹¡A¥u­n§â¦Ñª©¥»ªº¦a§}¦ì¸mªþªñªº
¥N½X°O¤U¨Ó¡A¥h·sª©¥»ªº¥N½X¨½­±search¤@¤U¡A´Nok¤F¡C ®¦¡A¥ð®§¤@·|¨à¡A¥ð®§¤@·|¨à

§Ú¥D­n¹ï¥~±¾ªº§Þ³N¶i¦æ¤ÀªR,¦Ü©ó´åÀ¸¨½­±ªº¤º³¡µ²ºc¨C­Ó³£¤£¤@¼Ë,³o¨½´N¤£°µÁ¿¸Ñ¤F,§Ú¤]¨S¦³¨º»ò¼F®`,©Ò¦³ªº³£ª¾¹D,¨þ¨þ!
1 ­º¥ý´åÀ¸¥~±¾ªº­ì²z
¥~±¾²{¦b¤À¬°¦n¦hºØ,¤ñ¦p¼ÒÀÀÁä½Lªº,·Æ¹«ªº,­×§ï¸ê®Æ¥]ªº,ÁÙ¦³­×§ï¥»¦a°O¾ÐÅ骺,¦ý¦n¹³¨S¦³­×§ïªA°È¾¹°O¾ÐÅ骺®@,¨þ¨þ!¨ä¹ê­×§ïªA°È¾¹¤]¬O¦³¿ìªkªº,¥u¬O§Þ³N¤Ó°ª¤@¯ë¤H¨S¦³¿ìªk¤J¤â¦Ó¤w!(¤ñ¦p½ÐGM¥h©]Á`·|,°e§,¦¬¶Â¿úµ¥µ¥¿ìªk³£¥i¥H­×§ïªA°È¾¹¸ê®Æ,«¢«¢)
­×§ï´åÀ¸µL«D¬O­×§ï¤@¤U¥»¦a°O¾ÐÅ骺¸ê®Æ,©ÎªÌºIÀòapi¨ç¼Æµ¥µ¥,³o¨½§Ú§â©Ò¯à·Q¨ìªº¤èªk³£§@¤@­Ó¤¶²Ð,§Æ±æ¤j®a¯à°µ¥X«Ü¦nªº¥~±¾¨Ó¨Ï´åÀ¸¼t°Ó§ó¦nªº§¹µ½¦Û¤vªº§Þ³N.
§Ú¨£¨ì¤@¤ù¤å³¹¬OÁ¿Å]¤OÄ_¨©ªº²z½×¤ÀªR,¼gªº¤£¿ù,¤j·§¬O¨º­Ó¼Ë¤l.
¤U¨Ó§Ú´NÁ¿¸Ñ¤@¤U§Þ³N¤è­±ªºªF¦è,¥H§@¤Þ¥É¤§¥Î
2 §Þ³N¤ÀªR³¡¤À
1 ¼ÒÀÀÁä½L©Î·Æ¹«ªºÅTÀ³
§Ú­Ì¤@¯ë¨Ï¥ÎUINT SendInput(
UINT nInputs, // count of input events
LPINPUT pInputs, // array of input events
int cbSize // size of structure
);api¨ç¼Æ
²Ä¤@­Ó°Ñ¼Æ¬O»¡©ú²Ä¤G­Ó°Ñ¼Æªº¯x°}ªººû¼Æªº,²Ä¤G­Ó°Ñ¼Æ¥]§t¤FÅTÀ³¨Æ¥ó,³o­Ó¦Û¤v¶ñ¥R´N¥i¥H,³Ì¦Z¬O³o­Óµ²ºcªº¤j¤p,«D±`²³æ,³o¬O³Ì²³æªº¤èªk¼ÒÀÀÁä½L·Æ¹«¤F,¨þ¨þ
ª`·N:³o­Ó¨ç¼ÆÁÙ¦³­Ó´À¥N¨ç¼Æ:
VOID keybd_event(
BYTE bVk, // µêÀÀÁä½X
BYTE bScan, // ±½ºË½X
DWORD dwFlags,
ULONG_PTR dwExtraInfo // ªþ¥[Á䪬ºA
);©M
VOID mouse_event(
DWORD dwFlags, // motion and click options
DWORD dx, // horizontal position or change
DWORD dy, // vertical position or change
DWORD dwData, // wheel movement
ULONG_PTR dwExtraInfo // application-defined information
);
³o¨â­Ó¨ç¼Æ«D±`²³æ¤F,§Ú·Q¨º¨Ç«öÁäºëÆF´N¬O¥Îªº³o­Ó§a,¨þ¨þ,¤W­±ªº¬O¼ÒÀÀÁä½L,¤U­±ªº¬O¼ÒÀÀ·Æ¹«ªº.
³o­Ó¶È¶È¬O¼ÒÀÀ³¡¤À,­n©M´åÀ¸Áp¨t°_¨Ó§Ú­ÌÁٻݭn§ä¨ì´åÀ¸ªºµøµ¡¤~¦æ,©ÎªÌ¥]§t§Ö±¶Áä,´N¶H«öÁäºëÆFªº¨º­Ó¿E¬¡Áä¤@¼Ë,§Ú­Ì¥i¥H¥ÎGetWindow¨ç¼Æ¨ÓªTÁ|µøµ¡,¤]¥i¥H¥ÎFindwindow¨ç¼Æ¨Ó·j´M¨î©wªºµøµ¡(ª`·NÁÙ¦³¤@­ÓFindWindowEx),FindwindowEx¥i¥H§ä¨ìµøµ¡ªº¤lµøµ¡,¤ñ¦p«ö¶s,µ¥¤°»òªF¦è.·í´åÀ¸¤Á´«³õ´ºªº®É­Ô§Ú­Ì¥i¥H¥ÎFindWindowEx¨Ó½T©w¤@¨Ç·í«eµøµ¡ªº¯S©º,±q¦Ó§PÂ_¬O§_ÁÙ¦b³o­Ó³õ´º,¤èªk«Ü¦h¤F,¤ñ¦p¥i¥HGetWindowInfo¨Ó½T©w¤@¨ÇªF¦è,¤ñ¦p·í·j´M¤£¨ì¬Y­Ó«ö¶sªº®É­Ô´N»¡©ú´åÀ¸³õ´º¤w¸g¤Á´«¤F,µ¥µ¥¿ìªk.¦³ªº´åÀ¸¨S¦³±±¥ó¦b¨½­±,³o¬O¹ï¹Ï¹³°µ§¤¼ÐÅÜ´«ªº¸Ü,³oºØ¤èªk´N­n¨ü¨ì­­¨î¤F.³o´N»Ý­n§Ú­Ì¥Î§Oªº¿ìªk¨Ó»²§U¤ÀªR¤F.
¦Ü©ó§Ö±¶Áä§Ú­Ì­n¥Î°ÊºA³s±µ®w¹ê²{¤F,¨½­±­n¥Î¨ìhook§Þ³N¤F,³o­Ó¤]«D±`²³æ,¤j®a¥i¯à³£·|¤F,¨ä¹ê´N¬O¤@­Ó¥þ§½ªºhook¹ï¶HµM¦ZSetWindowHook´N¥i¥H¤F,¦^½Õ¨ç¼Æ³£¬O²{¦¨ªº,¦Ó¥B²{¦bºô¤Wªº¨Ò¤l¦h¦p¤û¤ò,³o­Ó¹ê²{¦b¥~±¾¤¤¤w¸g«Ü´¶¹M¤F.¦pªGÁÙ¦³½Ö¤£©ú¥Õ,¨º´N¥h¬Ý¬Ýmsdn·j´MSetWindowHook´N¥i¥H¤F.
³o­Ó°ÊºA³s±µ®wªº§@¥Î«Ü¤j,¤£­n§C¦ô¤F®@,¥¦¥i¥H¤Á¤J©Ò¦³ªº¶iµ{ªÅ¶¡,¤]´N¬O¥i¥H¥[¸ü¨ì©Ò¦³ªº´åÀ¸¨½­±®@,¥u­n¥Î¹ï,§A·|µo²{«Ü¦³¥Î³~ªº!
³o­Ó»Ý­n§A´_²ß¤@¤Uwin32µ{¦¡¤Æªº°ò¦ª¾ÃѤF,¨þ¨þ,»°§Ö¥h¬Ý®Ñ§a!
2ºIÀò®ø®§
¦³¨Ç´åÀ¸ªºÅTÀ³¾÷¨î¤ñ¸û²³æ,¬O°ò©ó®ø®§ªº,©ÎªÌ¥Î¤°»ò©w®É¾¹ªºªF¦è,³o­Ó®É­Ô§A´N¥i¥H¥ÎÄdºI®ø®§¨Ó¹ê²{¤@¨Ç¦³½ìªº¥\¯à¤F.
§Ú­ÌÄdºI®ø®§¨Ï¥Îªº¤]¬Ohook§Þ³N,¨½­±¥]¬A¤FÁä½L®ø®§,·Æ¹«®ø®§,¨t²Î®ø®§,¤é§Óµ¥,§Oªº¹ï§Ú­Ì¨S¦³¤°»ò¤jªº¥Î³B,§Ú­Ì¥u¥ÎÄdºI®ø®§ªº¦^½Õ¨ç¼Æ´N¥i¥H¤F,³o­Ó¤£·|Åý§Ú¼g¨Ò¤l§a,¨ä¹ê³o­Ó©M¤W­±ªº¤@¼Ë,³£¬O¥ÎSetWindowHook¨Ó¼gªº,¬Ý¬Ý´N©ú¥Õ¤F«Ü²³æªº.
¦Ü©óÄdºI¤F¥H¦Z°µ¤°»ò´N¬O§Aªº¨Æ±¡¤F,¤ñ¦p¦b¨C­Ó©w®É¾¹®ø®§¨½­±³B²z¤@¨Ç§Ú­Ìªº¸ê®Æ§PÂ_,©ÎªÌ¦b©w®É¾¹¨½­±¦b¼ÒÀÀ¤@¦¸©w®É¾¹,¨º»ò¦³¨Ç¸ê®Æ´N·|³B²z¨â¦¸,¨þ¨þ,¦ZªG¹À,¤£¤@©w¬O¦n¨Æ±¡®@,¨þ¨þ,¤£¹L¦pªG¸ê®Æ­pºâ©ñ¦b«È¤áºÝªº´åÀ¸´N¥i¥H¯uªº§ïÅÜ¸ê®Æ¤F,¨þ¨þ,¸Õ¸Õ¬Ý§a!¥Î³~ÁÙ¦³«Ü¦h,¦Û¤v·Q¤]¥i¥H·Q¥X¨Óªº,¨þ¨þ!
3ÄdºIsocket¥]
³o­Ó§Þ³NÃø«×­n¤ñ­ì¨Óªº°ª«Ü¦h®@,­n¦³«ä·Q·Ç³Æ.
­º¥ý§Ú­Ì­n´À´«winSock.dll©ÎªÌwinsock32.dll,§Ú­Ì¼gªº´À´«¨ç¼Æ­n©M­ì¨Óªº¨ç¼Æ¤@­P¤~¦æ,´N¬O»¡¥¦ªº¨ç¼Æ¿é¥X¤°»ò¼Ëªº,§Ú­Ì¤]­n¿é¥X¤°»ò¼Ë¤lªº¨ç¼Æ,¦Ó¥B°Ñ¼Æ,°Ñ¼Æ¶¶§Ç³£­n¤@¼Ë¤~¦æ,µM¦Z¦b§Ú­Ìªº¨ç¼Æ¨½­±½Õ¥Î¯u¥¿ªºwinSock32.dll¨½­±ªº¨ç¼Æ´N¥i¥H¤F
­º¥ý:§Ú­Ì¥i¥H´À´«°ÊºA®w¨ì¨t²Î¸ô®|
¨ä¦¸:§Ú­ÌÀ³¥Îµ{§Ç±Ò°Êªº®É­Ô¥i¥H¥[¸ü­ì¦³ªº°ÊºA®w,¥Î³o­Ó¨ç¼ÆLoadLibary
µM¦Z©w¦ì¨ç¼Æ¤J¤f¥ÎGetProcAddress¨ç¼ÆÀò±o¨C­Ó¯u¥¿socket¨ç¼Æªº¤J¤f¦a§}
·í´åÀ¸¶i¦æªº®É­Ô¥¦·|½Õ¥Î§Ú­Ìªº°ÊºA®w,µM¦Z±q§Ú­Ìªº°ÊºA®w¤¤³B²z§¹²¦¦Z¤~¸õÂà¨ì¯u¥¿°ÊºA®wªº¨ç¼Æ¦a§},³o¼Ë§Ú­Ì´N¥i¥H¦b¨½­±³B²z¦Û¤vªº¸ê®Æ¤F,À³¸Ó¬O¤@¤Á¸ê®Æ.¨þ¨þ!
¿³¾Ä§a,ÄdºI¤F¸ê®Æ¥]§Ú­ÌÁÙ­n¤ÀªR¤§¦Z¤~¯à¶i¦æ¥¿½TªºÀ³µª,¤£­n¥H¬°³o¼Ë¤u§@´N§¹¦¨¤F,¨þ¨þ!ÁÙ¦­©O,µ¥¤ÀªR§¹²¦¥H¦Z§Ú­ÌÁÙ­n¥é¯uÀ³µª¾÷¨î¨Ó©MªA°È¾¹³q«H,¤@­Ó¤£¤p¤ß´N·|³Q«Ê¸¹,¨þ¨þ,¶ã~~~~~~~~§Ú´N³Q«Ê¤F¦n¦h°Ú!
¤ÀªR¸ê®Æ¤~¬O¤u§@¶qªº¨Ó·½©O,´åÀ¸¨C¦¸ª@¯Å¦³¥i¯à¥[±K¤è¦¡·|¦³©Ò§ïÅÜ,¦]¦¹§Ú­Ì¼g¥~±¾ªº¤H³£¬O¤`©R¤§®{°Ú,³Q¤H®T¼Ö¤FÁÙ¤£ª¾¹D,¨þ¨þ!(Án©ú§Ú¥i¨S¦³ÁÈ¿ú,§Ú¬O§K¶Oªº)
¦n¤F,µ¹¤j®a¤@­Ó¤£¿ùªº°_ÂI,³o¨½¦³§¹¾ãªº´À´«socket·½¥N½X,¨þ¨þ!
4ºIÀòapi
¤W­±ªº§Þ³N¦pªG¥i¥HÆF¬¡¹B¥Îªº¸Ü§Ú­Ì´N¤£¥ÎºIÀòapi¨ç¼Æ¤F,¨ä¹ê³oºØ§Þ³N¬O¤@ºØ¸É¥R§Þ³N.¤ñ¦p§Ú­Ì»Ý­nºIÀòsocket¥H¥~ªº¨ç¼Æ§@¬°§Ú­Ìªº¥Î³~,§Ú­Ì´N­n¥Î³o­Ó§Þ³N¤F,¨ä¹ê§Ú­Ì¤]¥i¥H¥Î¥¦ª½±µÄdºI¦bsocket¤¤ªº¨ç¼Æ,³o¼Ë§óª½±µ.
²{¦bÄdºIapiªº±Ðµ{¨ì³B³£¬O,§Ú´N¤£¦CÁ|¤F,§Ú¥Îªº¤ñ¸û²ßºDªº¤èªk¬O®Ú¾Ú¿é¤J¸`¶i¦æÄdºIªº,³o­Ó¤èªk¥i¥H¥Î¨ì¥ô¦ó¤@ºØ¾Þ§@¨t²Î¤W,¤ñ¦p98/2000µ¥,¦³¨Ç¤èªk¤£¬O¸ó¥­¥xªº,§Ú¤£«ØÄ³¨Ï¥Î.³o­Ó§Þ³N¤j®a¥i¥H°Ñ¦Òwindows®Ö¤ßµ{¦¡¤Æ¨½­±ªº545­¶¶}©lªº¤º®e¨Ó¾Ç²ß,¦pªG¬O98¨t²Î¥i¥H¥Îwindow¨t²Î¶ø¯¦¨º­Ó³Ì¦Z¤@³¹¨Ó¾Ç²ß.
¦n¤F¤èªk´N¬O³o»ò¦h¤F,¬Ý¤j®a«ç»ò¹B¥Î¤F,¨ä¥¦ªº¤@¨Ç°w¹ï©Êªº§Þ¥©³o¨½§Ú´N¤£»¡¤F,­n¤£µM·|¦³¤H±þ¤F§Úªº,¨þ¨þ!
°O¦í¨C­Ó´åÀ¸ªº­×§ï¤èªk³£¤£¤@¼Ë,¦pªG¬Y­Ó´åÀ¸¸ê®Æ³B²z¥þ³¡¦bªA°È¾¹ºÝ,¨º»ò§AÁÙ¬O§O¼g¥~±¾¤F,¨þ¨þ,³Ì¦h¼g­Ó¦Û°Ê¨«¸ôªº¥~±¾,«¢«¢!
¸ê®Æ¤ÀªRªº®É­Ô¤j®a¤@©w­nª`·N,¤£­n»´©ö¹Á¸Õ©MªA°È¾¹ªº³s±µ,¦]¬°¨º¦³«Ü¦MÀI,¤Á§Ò!µ¥§A´x´¤¤F¤j¶qªº¸ê®Æ¤ÀªRµ²ªG¥H¦Z,¤ñ¸û¦³§â´¤¤F¦b¸Õ¸Õ,¬Ý¬Ý§Aªº¹B®ð¦n¤£¦n,«Ü¦³¥i¯à·|¦¨¥\ªº®@,¨þ¨þ!
¨ä¹ê¹³ºôª÷¤]ºÆ¨gªº¨ººØ¼ÒÀÀ«È¤áºÝªºµ{§Ç¤]¬O¤£¿ùªº,«Ü¾A¦Xofficeªº¤H¥Î,´N¬Ý¤j®a²£«~©w¦ì¤F.
¦n¤F¤£»¡¤F,¤j®a§V¤O§a!¤Á§Ò¤£­n³Q´åÀ¸¼t°Ó©Û¦w®@,¨º¼Ë¦³·l§Ú­Ìªº§Î¶H,§Ú­Ì¬O¬°¤FÅý´åÀ¸°µªº§ó¦n¦Ó¶}µoªº,¤]¤£Ä@·N¥´¶Ã´åÀ¸ªº¥­¿Å,«u,¦n¹³²{¦b¤£¬O³o¼Ë¤F!¤£»¡¤FÀH¨ä¦ÛµM§a!


    98¤U¬O¥i¥Hªº¡A¦ý¨ì¤F2000®É¥N¡A¤£¦P¶iµ{¶¡¤£¤¹³\¤¬¬Û³X°Ý¤F¡A¡G¡]
°¸§ä¤F½g¤å³¹¡A¦³ÂI°Ñ¦Ò©Ê¡A¦p¤U¡G
===================================================
§Q¥Î·Æ¹«¹_¤lÀò±oWin2000±K½X®Ø±K½X
Àò±oWindows¤Uªº±K½X®Ø±K½X¡A¦ü¥G¬O«Ü¦h¤H·P¿³½ìªº¸ÜÃD¡ACSDN¤W°Ý³oÃþ°ÝÃDªº¤H¤£­p¨ä¼Æ¡K¡K³o¼Ë¬Ý¨Ó¡A¦Ñù¤]¤£¯à§K«U°Õ¡A¤µ¤Ñ´NÅý§Ú¸ò¤j®a±´°Q¤@¤U¦p¦ó¹ê²{³o¤@¥\¯à§a¡C^_^
§Ú­Ìª¾¹D¡AWindows¤U¦³¤@±ø¥\¯à«Ü±j«lªº¨ç¼Æ¡X¡XSendMessage()¡A§Q¥Î¥¦¯à°÷¹ê²{«Ü¦h·N·Q¤£¨ìªº¥\¯à¡A¨Ò¦pÀò±o±K½X®Øªº±K½X´N¬O¨ä¤¤¤@¨Ò¡C§Ú­Ì¥i¥H³o¼Ë°µ¡G
char szPsw[255];
SendMessage(hWnd, WM_GETTEXT, 255, (LPARAM)(LPCTSTR)szPsw);
³q¹L°e¥X®ø®§ WM_GETTEXT µ¹¥Ø¼Ðµøµ¡¥y¬`¡A§Ú­Ì´N¯à°÷Àò±o±K½X®Øªº±K½X¤F¡A¥i¬O¥¦ÁÙ¦³¤@ÂI¤£¨¬¡A´N¬OµLªk¦b Win2000/WinXP ¨½­±Àò±o±K½X¡C³o¬O¦]¬° Win2000 ¹ï³o­Ó¤èªk§@¤F¨¾½d¡]·íµM°Õ¡A¦Ñ¤ñ¦]¬°³o­Ó°ÝÃD¤w¸g·~¬É³Q½|¦º¤F¡^¡A¥u­n§A¬O¹ï¨ä¥L¶iµ{¶i¦æ³o­Ó¾Þ§@¡A´N·|¥¢®Ä¡C¨þ¨þ¡A³o¤]´N¬O¬°¤°»ò«Ü¦h¦PÃþªº³nÅé¨ì¤F Win2000 ´N¦ºÂ¼Â¼ªº­ì¦]¡C ¡G¡^
¨º»ò¬O§_´N²@µL¿ìªk¤F©O¡H·íµM¤£¬O¡I§Ú­Ì¤w¸gª¾¹D¤F¥¢±Ñªº­ì¦]¡A´N¬O¤£¯à¦b§Oªº¶iµ{¤¤¨Ï¥Î³o¤@¨ç¼Æ¡K¡K¶â¡H¡K¡KÁo©úªº§A¬O¤£¬O¤w¸g·Q¨ì¤F¤°»ò¡H
¹ï¤F¡A¥u­n§Ú­Ì¯à°÷¦b¦P¤@­Ó¶iµ{¤¤¨Ï¥Î¥¦¡A´N¥i¥H¹ê²{¤F¡I¦p¦ó°µ¨ì¡§¦P¤@­Ó¶iµ{¡¨¡H¨þ¨þ¡A³o¤S¬O¤@­Ó°ÝÃD¡C¡mWindows®Ö¤ßµ{¦¡¤Æ¡nªº¤j¤û Jeffrey Richter §i¶D§Ú­Ì¡A¹ê²{¡§¦P¤@¶iµ{¡¨ªº¿ìªk¦³«Ü¦hºØ¡A¨Ò¦p¦³³q¹Lª`¥Uªí¨Ó´¡¤JDLL¡B¨Ï¥Î»·µ{½uµ{´¡¤JDLL¡B¨Ï¥Î¯S¬¥¥ìDLL¨Ó´¡¤JDLL¡B³q¹L°O¾ÐÅé¬M®g¤å¥ó´¡¤JDLL¡K¡K¤èªk¯uªº¬O¦³«Ü¦hºØ¡A¥¦­Ì³£¯à¹ê²{¡§¦P¤@­Ó¶iµ{¡¨³o¤@¥Øªº¡A¤£¹L¦Ñùı±o³£¤£¤Ó²z·Q¡A¨Ò¦p¡A¨Ï¥Î»·µ{½uµ{¬O³q¹L CreateRemoteThread() ¨Ó´¡¤JDLL¡A¦ý¬O³o­Ó CreateRemoteThread() ¦bMSDN¤¤¬O©ú½T«ü¥X¤F¤£¯à¦b Win9X ¤¤¨Ï¥Îªº¡A¤]´N¬O»¡¡A³q¥Î©Ê­n¤j¥´§é¦©¡C©Ò¥H³Ì¦Z§Ú¨M©w¨Ï¥Î·Æ¹«¹_¤l¨ç¼Æ¨Ó¹ê²{¡I
Áo©úªºÅªªÌ¥i¯àÁÙ·|°Ý¹D¡G¬°¤°»ò¥Î·Æ¹«¹_¤l´N¯à¹ê²{¤F¡H¨ä¹êµª®×«Ü²³æ¡A¦]¬°±K½X®Ø¬O¤@­Ó EDIT ±±¥ó¡A¥¦ªÖ©w¯à°÷±µ¦¬¨ì·Æ¹«®ø®§¡A³o¼Ë¡A§Ú­Ìªº·Æ¹«¹_¤l¨ç¼Æ´N¯à°÷ª`¤J¨ì»·µ{ªº¥Ø¼Ð¶iµ{¡A³o®Éªº SendMessage() ´N¬O¸ò¥Ø¼Ð¶iµ{¦b¦P¤@­Ó¶iµ{¨½­±¡A¬O¥i¥H¨ú¥X±K½Xªº¡C¦Ó¥B¥¦¦³­Ó«D±`¦nªº¦a¤è¡G´N¬O³q¥Î©Ê±j¡A²z½×¤W¥ô¦ó¤@­Óª©¥»ªº Windows ³£¯à¨Ï¥Î¡I¡I¡]§Ú¨S¦³ WinXP ¡A©Ò¥H¥u¦n»¡¡§²z½×¤W¡¨°Õ¡A½Ð¦³¸Ë XP ªºªB¤ÍÀ°¦£¸Õ¸Õ¡AOK¡H¡^
©ú¥Õ¤F§a¡H³Ì¦ZÁÙ¦³¤@­Ó²Ó¸`°ÝÃD¡X¡X±K½X¬O¦b·Æ¹«¹_¤l¨ç¼Æ¨½­±Àò±oªº¡A¨º»ò¦p¦óªð¦^µ¹§Ú­Ìªº¥Dµ{§Ç¡H¦Ñùªº°µªk¬O§â±K½X§@¬°¥þ§½¦@¨ÉÅܶq¡A³o¼Ë´N¥i¥H¦b¨â­Ó¶iµ{¨½­±¦@¨É¡A§Ú­Ìªº¥Dµ{§Ç´N¥i¥H¿é¥Xµ²ªG°Õ¡I
»¡¤F¤@¤j³q¼o¸Ü¡A§Æ±æ¤j®a¤£­n¤¶·N¡C¤U­±§Úµ¹¥X¤@­Ó§¹¾ãªº¨Ò¤l¡A³q¹L·Æ¹«¹_¤l¨ç¼Æª`¤J»·µ{¶iµ{Àò±o¥ô¦ó¤@­Óª©¥» Windows ªº±K½X®Ø±K½X¡C¡]¨þ¨þ¡A¦n©í¤f°Ú¡I°Ú¡I§O¥µµf­X¡I¡I¡^

---------- ·Æ¹«¹_¤l¨ç¼ÆªºDLL ----------
¤å¥ó¦W¡G HookDll.asm
--------------------------------------
;******************************************************
.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
DllEntry proto :HINSTANCE, WORD, WORD
MouseProc proto WORD, WORD, WORD
GetPsw proto
InstallHook proto WORD
UninstallHook proto
.const
WM_MOUSEHOOK equ WM_USER + 6
;¦@¨É¬q¡G
.data?
hHook dd ?
hWnd dd ?
szPsw db 255 dup(?) ;ÃöÁä»y¥y¡I¡I¡I¦@¨É³o­ÓÅܶqszPsw¡A¥H«K¦b¥Dµ{§Ç¤¤¤]¯à±o¨ì±K½X¡I
.data
hInstance HINSTANCE 0
.code
DllEntry proc hInst:HINSTANCE, reasonWORD, reserved1WORD
.if reason == DLL_PROCESS_ATTACH
push hInst
pop hInstance
.endif
mov eax, TRUE
ret
DllEntry endp
GetPsw proc
;ÃöÁä¡I¡Iªð¦^±K½X¡I¡]«e´£¬O±K½X¥²¶·©ñ¦b¦@¨É¬q¡I¡^
lea eax, szPsw
ret
GetPsw endp
MouseProc proc uses edx nCodeWORD, wParamWORD, lParamWORD
invoke CallNextHookEx, hHook, nCode, wParam, lParam
mov edx, lParam
assume edx: PTR MOUSEHOOKSTRUCT
;Àò±o·í«e·Æ¹«¦ì¸mªºµøµ¡¥y¬`¡G
invoke WindowFromPoint, [edx].pt.x, [edx].pt.y
;°e¥X¤@­Ó®ø®§µ¹·í«eµøµ¡¡AÀò±o¥¦ªº¼ÐÃD¡G
invoke SendMessage, eax, WM_GETTEXT, 255, addr szPsw
;°e¥X¤@­Ó®ø®§µ¹¥Dµ{§Ç¡A¥H«K¦b¥Dµ{§Ç¤¤¯à³B²z·Æ¹«¹_¤l¨ç¼Æ¡G
invoke PostMessage, hWnd, WM_MOUSEHOOK, 0, 0
assume edx: nothing
xor eax, eax
ret
MouseProc endp
InstallHook proc hwndWORD
;±Ò°Ê·Æ¹«¹_¤l¨ç¼Æ¡G
push hwnd
pop hWnd
invoke SetWindowsHookEx, WH_MOUSE, addr MouseProc, hInstance, NULL
mov hHook, eax
ret
InstallHook endp
UninstallHook proc
;¨ø¸ü·Æ¹«¹_¤l¨ç¼Æ¡G
invoke UnhookWindowsHookEx, hHook
ret
UninstallHook endp
end DllEntry
;******************** over ********************
;by LC

½sͳo­ÓDLLªº®É­Ô°O¦í­n³o¼Ë¡G¡]§_«h·|¥¢±Ñ®@¡I¡^
ml /c /coff HookDll.asm
link /section:.bss,S /DLL /subsystem:windows /def:HookDll.def HookDll.obj



.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include HookDll.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib HookDll.lib
WndProc proto WORD, WORD, WORD, WORD
.const
IDC_EDIT_OUTPUT equ 3000
WM_MOUSEHOOK equ WM_USER + 6
.data
szDlgName db "lc_dialog", 0
szPsw db 255 dup(0)
.code
main:
invoke GetModuleHandle, NULL
invoke DialogBoxParam, eax, offset szDlgName, 0, WndProc, 0
invoke ExitProcess, eax
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL rect: RECT
.if uMsg == WM_CLOSE
;¨ø¸ü·Æ¹«¹_¤l¡G
invoke UninstallHook
invoke EndDialog, hWnd, 0
.elseif uMsg == WM_INITDIALOG
;Àò±o¥Dµ{§Çªºrect¡G
invoke GetWindowRect, hWnd, addr rect
;§â¥Dµ{§Ç³]¸m¦¨¡§©l²×¦b³Ì«e­±¡¨¡G
invoke SetWindowPos, hWnd, HWND_TOPMOST, rect.left, rect.top, rect.right, rect.bottom, SWP_SHOWWINDOW
;·Æ¹«¹_¤l¨ç¼Æ±Ò°Ê¡G
invoke InstallHook, hWnd
;³B²z·Æ¹«¹_¤l¨ç¼Æªº®ø®§¡G
.elseif uMsg == WM_MOUSEHOOK
;Àò±o±K½X¡G
invoke GetPsw
;¿é¥X¡G
invoke SetDlgItemText, hWnd, IDC_EDIT_OUTPUT, eax
.else
mov eax, FALSE
ret
.endif
mov eax, TRUE
ret
WndProc endp
end main
;******************** over ********************
;by LC

---------- ¥Dµ{§Çªº¸ê·½¤å¥ó ----------
¤å¥ó¦W¡G GetPsw.rc
-------------------------------------
#include "resource.h"
#define IDC_EDIT_OUTPUT 3000
#define IDC_STATIC -1
LC_DIALOG DIALOGEX 0, 0, 195, 30
STYLE DS_SETFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Get Password by LC, 2002-10-8"
FONT 9, "§ºÅé", 0, 0, 0x0
BEGIN
LTEXT "¬Ý¬Ý¦³¤°»ò¡G", IDC_STATIC, 5, 12, 50, 12
EDITTEXT IDC_EDIT_OUTPUT, 60, 10, 130, 12, ES_AUTOHSCROLL | NOT WS_BORDER, WS_EX_STATICEDGE
END
«ç»ò¼Ë¡H¬Ý©ú¥Õ¤F¶Ü¡H¦pªG§AÁÙ¤£¤ÓÀ´±o·Æ¹«¹_¤l¨ç¼Æªº½s¼g¡A½Ð¥ý°Ñ¦Ò Iczelion ªº±Ðµ{¡A¨ì³B³£¦³®@¡I°²¦pÁÙ¦³¤°»òºÃ°Ý¡A¨º¬O
-------------------------------------------------------------------------------

¨ä¤¤ºôµ¸«Ê¥]ªºÄdºI·½¥N½X¥i¥H§@¬°¬O§Úªº´åÀ¸¥~±¾¤ÀªR¨º½g¤å³¹ªº¨Ò¤lÁ¿¸Ñ§a¡C«Ê¥]ªº¤ÀªR­n¬Ý¸gÅç¤F¡A³o¨½¤£¦n¦hÁ¿¡A¦pªG¥J²Ó¤ÀªRªº¸Ü¥i¯à·|Á¿1000­¶¥H¤Wªº¤º®e¡A¤@¯ëªº¤ÀªR¤j®a¥i¥H¥Î³q¥Î¥[±K©M¸Ñ±Kºâªk¨Ó¸Õ¸Õ¡A¦pªG¤£¦æªº¸Ü¨º´N¬O°Ó®a¦Û¤vªº¥[±Kºâªk¡A³o´N¤ñ¸ûÃø¿ì¤F¡A®Ú¾Ú¸gÅç¦Û¤v¸Õ¸Õ§a¡A¤ñ¦p¦P®É©ñ¤jÁY¤p¸ê®Æ¡A¬Ý¬Ý¦³¨S¦³¤Ç°t¦r²Å¦ê¡A²§©Î¤@­Ó¦Û¤vªº½s½X®wµ¥µ¥¡A¬d¬Ý¦³¨S¦³©ú¤åµ²ªG¡AÁ`¤§³o¨Ç³£¬O«D±`ÀH¾÷ªº¡A©Ò¥H§A¤ÀªR¥X¨Ó¤F¤@­Ó¡A¦ý¤£¤@©w¥i¥H¤ÀªR¥X¥t¥~¤@­Óªº¡A¨þ¨þ¡I¯¬¤j®a¦n¹B¡I¡I
[DISABLELBCODE]

[size=4][color=#ff0000]´åÀ¸¥~±¾¤ÀªR
[/color][/size]¥Û¾¹ \ MU©MÅ]¤O·|¥X²{¶¶²¾¥~±¾¡A¬O¦]¬°¥¦ªº²¾°Ê®ø®§¾÷¨î¬O«È¤áºÝª½±µ¦VªA°È¾¹³ø§i¦Û¤v·s§¤¼Ð©M¤Hª«¤è¦V¡A«È¤áºÝ¤S¤£¬O¨C¨«¤@¨B¶×³ø¤@¦¸¡A¦Ó¬O¹F¨ì¤@©w®É¶¡¶×³ø¤@¦¸¡A¥i¯à¬O¤@¬í¤@¦¸§a¡C¥¿±`±¡ªp¤U¡A¨C¬í³Ì¤j¥i¨«¤T¨B¡A¶¶²¾¥~±¾ª½±µ¦VªA°È¾¹°e¥X·s§¤¼Ð´N¥i¥H¤F¡C¥H«e¥Û¾¹ªºªA°È¾¹®Ú¥»¤£Àˬd¨â¦¸§¤¼Ðªº¶ZÂ÷®t¡A©Ò¥H¯à¤j¶¶²¾¡C¦Z¨Ó¤j·§­×§ï¤F¥N½X¡A·s§¤¼Ð¦pªG»P§¤¼Ð¶ZÂ÷¶W¹L3´Nµø§@¥~±¾¡A¥ß§YÂ_½u¡C¦ý3¨B¶¶²¾ÁÙ¬O¸T¤î¤£¤F¡A¸õ­Ó·¾©ÎªÌ¸õ¨ìBOSS¦Z­±³£¥i¥H¡A¦]¬°3¨B¶×³ø¤@¦¸§¤¼Ð¬O³o­Ó¤ÞÀºªº³Ì§C­n¨D¡C
ªA°È¾¹¤S¤£¯à¥hÀˬd¨â­Ó§¤¼Ð¤§¶¡¬O§_¦³»Ùê©ÎªÌ¦³µLBOSS¡]¥i¯à³]­p¤W®Ú¥»¨SÅU¤Î¨ì³o­Ó­n¨D¡A¤S©ÎªÌ¬OÀˬd¥¦­Ì·|¾É­PCPU¥e¥Î²v¤Ó°ª¾÷¾¹¨ü¤£¤F¡^¡C
¤ÏÆ[UO¡A¶Ç©_¡A¶¶²¾¥~±¾¤@ª½¨S¥X¹L¡A¦]¬°¥L­Ìªº²¾°Ê®ø®§¾÷¨î¤£¦P¡A¥L­Ì¨C¦¸²¾°Ê³£¬O¦VªA°È¾¹¶×³ø¦Û¤vªº²¾°Ê¤è¦V¡A¨C²¾°Ê¤@¦¸¶×³ø¤@¦¸¡C¦Ó§¤¼Ð¬OªA°È¾¹¦^¶Çµ¹«È¤áºÝªº¡A«È¤áºÝ¥u¦³¨M©w¦Û¤v²¾°Ê¤è¦VªºÅv§Q¡A¨S¦³¨M©w§¤¼ÐªºÅv§Q¡C¦pªG§A·Q¦Vù٩Ϊ̨ä¥L¤Hª«¤è¦V²¾°Ê¡AªA°È¾¹·|µo²{¨Ã¥i¯à§â§A¼u¦^¨Ó¡]¶Ç©_¦n¶H¤£¼u¡AUO¬OªÖ©w¼u¡^¡C
®Ú¾Ú³o­Óµ²½×¡A¤T¨B¶¶²¾¬O¥Û¾¹Ãþ«¬¤ÞÀºªº¡§¦º¥Þ¡¨¡A¸Ñ¨M¤èªk¬°¡G§â³òùÙ°µ«p§â·¾°µ¼e¡A¶W¹L¤T¨B¡C¶Hºµ¨k³oºØBOSS¤£­n©ñ¦b¸ô¤¤¥¡¡A¥L¨­¦Z­n¦³«pªºªù¡A¥´±Ñ¥LÅýªù®ø¥¢¤@¬q®É¶¡¤]¥i¥H¹ê²{°½´ç¡A¤T¨B¶¶²¾´NµL®Ä¤F¡C
¦A»¡¥[³t¡G
1¡B´¶³qºôµ¸¥[³t¡A³o¬O¤£¥i¨¾©M«Êªº¡C¤@¯ë±¡ªp¤U¡Aºôµ¸µ{§Ç°e¥X®ø®§¥X¥h®É¡A¦pªG®ø®§«Üµu¡A¨t²Î·|¦Û°Ê§â¥¦«O¯d0.1¬í¡A¬Ý¦Z­±¬O§_¸ò¤@­Ó©Î´X­Ó®ø®§¡A¦pªG¦³¸òªº®ø®§¡A¨t²Î§â¥¦­Ì¦X¦¨¤@­Ó§¹¾ã¥]°e¥X¥X¥h¡C³o¬Oºôµ¸©T¦³©µ¿ð¡A¦³µ{§Çªº¤èªk¨Ï³oºØ©µ¿ð¤£¦s¦b¡C¥h±¼³oºØ©µ¿ð¬OºØ¦Xªkªº¦æ¬°¡A¨t²Î¥»¨­µ¹¤F¨Ï¥ÎªÌ³o­Ó¿ï¾ÜÅv¡C¦ý³q±`±¡ªp¤U³o¬O¤£¹D¼wªº¦æ¬°¡A¦]¬°®ø®§¥]ªº¤p¦Ó¸H¡A¥]¼Æ¶q¤j¤j¼W¥[¡A¥[¤j¤F¥æ´«¾÷©M¸ô¥Ñ¾¹ªº­t²ü¡A¹ï°©¤zºô·|³y¦¨¤£§Q¼vÅT¡A©M¦bµó¤W¶Ã¥µ©U§£ÄÝ©ó¦P¤@©Ê½è¡C¦³¨Ç¥~±¾³q¹L³]¸m³q«Hªº¼Ò¦¡¹ê²{³oºØ¥[³t¡A¥¦¹ï¨S¥Î¥~±¾ªºª±®a¨Ó»¡«Ü¤£¤½¥­¡C³oÃþ¥[³t¹ïÅ]¤OÄ_¨©ªº®ÄªG¥i¯à¤£¤j¡A¹ïUO©M¶Ç©_¦³©úÅ㪺®ÄªG¡APK¤¤§A§Ö¨º»ò¤@ÂI§O¤H´N¥´¤£µÛ§A¡C
2¡B§Q¥Î¨t²ÎBUG¥[³t¡G
¥Û¾¹ªº¥[³tÄÝ©ó³oºØÃþ«¬¡C¥Û¾¹«È¤áµ{§Ç¤º³¡©T¤Æ¤@­Ó©w®É¾¹¡A¤Hª«°Ê§@§ÖºC¥Ñ³o­Ó©w®É¾¹¨M©w¡C¥Û¾¹¥~±¾¡]¥xÆWª©SADE·½¥N½X§Ú¬Ý¹L¡^¬O¥Î¤Ï¶×½s¤èªkÀò¨ú©w®É¾¹¥N½X¦a§}¡A¨Ã¹ï°O¾ÐÅ餤¥N½X¶i¦æ­×§ï¨Ó¹ê²{®É¶¡¤ù±±¨îªº¡A¶Â«È°ª¤â©Ò¬°¡]¹ï¨ä¤Ï¶×½s¤ô¥­²`·P¨ØªA¡^¡C³o­Ó¥~±¾¤@«×²±¦æ¡Aª½¨ìµØ¸q¶R¨ì¥Û¾¹·½¥N½X¡A¤~°w¹ï¥¦¶i¦æ¤F­×§ï¡C¦Z¨ÓªA°È¾¹¥i¯à°µ¤F¦p¤U³]¸m¡G¬°¨C¦¸²¾°Ê©M¾Ô¤æ¶}©l°O¿ý®É¶¡¤ù¡A«È¤áºÝ¨C²¾°Ê¼Æ¨B¤ñ¸û®É¶¡®t¡A¦pªG¶W¥X¨t²Î¤¹³\ªº³t«×´NÂ_½u¡C¾Ô¤æµ²§ô¤ñ¸û®É¶¡®t¡A¦pªG¹L§Ö¤]¬O¥~±¾©Ò¬°¡C¤]´N¬O»¡±qªA°È¾¹³]­p¤W¶i¦æ¨¾Å@¦Ó¤£¬O*³]³Æ¡A³oÃþ¥~±¾¤£Ãø²M²z¡C©Èªº¥u¬O¹BÀç¤è¨S¦³·½¥N½X¡A©ÎªÌ¦³·½¥N½X§Þ³N¤S¤£¨¬¡A©ÎªÌ¶}µo¤è§Þ³N¤£¨¬¡A³o³£·|¾É­PµLªk¤Î®É­×¥¿BUG¡C
¦A»¡§ï«Ê¥]¡G
§ï«Ê¥]ªºBUG¨ä¹ê¤]¬O¨t²Î³]­p¾É­Pªº¡C¡]§Ú¤£¬O»¡¦³BUG´N¬O¤ô¥­¤£¦æ¡A³o»ò¤jªºµ{§Ç¦Ê±K¤@²¨¡ABUGÁ`¬OÃø§K¡^¡C¦ý¦³¨ÇBUG§¹¥þ¬O³]­p¤ô¥­§C¤U³y¦¨ªº¡A¤ñ¦p¥Û¾¹ªº¹J¼Ä»P§_¡A©~µM¬O¥Ñ«È¤áºÝ¨Ó¨M©w¡C³o¥ó¨Æ¥æµ¹ªA°È¾¹§Ú·Q¨Ã¤£¬OÃø¨Æ¡A¤]¤£¼W¥[¦h¤Ö¶}¾P¡C¶Â«È¬JµM¯à¤Ï¶×½s¥Û¾¹¥N½X¡A­×§ï³q«H¥]§ó¤£¬OÃø¨Æ¡A©Ò¥H­ì¦a¡B¤o¨B¡B¤£¹J¼Ä¤Ó®e©ö¹ê²{¤F¡C¤Ï¹L¨Ó¦pªG¹J¼Ä¥æµ¹ªA°È¾¹¨M©w¡A³o­Ó¥\¯à¥~±¾´N®Ú¥»¹ê²{¤£¤F¡C
¦A»¡¬Ý¦å¥~±¾¡G
ªA°È¾¹¦b³q«H¤¤§i¶D¤F«È¤áºÝ¦U©Çª«¦h¤Ö¦å¡A³o­Ó¥\¯à¤j·§¬O´åÀ¸½Õ¸Õ¶¥¬q©Ò»Ý­nªº¡A¥Î©óÀˬdªA°È¾¹ªºBUG¡C¥¿¦¡ª©¥»³o­Ó¶}Ãö·íµM¬OÃö±¼¤F¡A¦ý°ÝÃD¬O¶}Ãö©ñ¦b«È¤áºÝ¦Ó¤£¬OªA°È¾¹¡A¶Â«È­Ì»´ªQ¦a§ä¨ì¤F³o­Ó¶}Ãö¡A§â¥¦¥´¶}¡A©ó¬O¤j®a¥i¥H¬Ý¹ï­±©Ò¦³©Çª«ªº¦å¤F¡C
§@¬°©M¥Û¾¹®t¤£¦hªº¤ÞÀº¡AÅ]¤OÄ_¨©¦b¨t²Î³]­p¤W¨ì©³¹ï³o¨Ç¦]¦³BUG¶i¦æ¤F¦h¤jµ{«×ªº­×¥¿¡A§Ú´N¤£±o¦Óª¾¤F¡C¦pªG¨S­×¥¿¡A¬Y¨Ç°w¹ï¤ÞÀº³]­p¤W©T¦³BUGªº¥~±¾¬O®Ú¥»¨¾¤£¦íªº¡C
²{¦bÅ]¤O¨S¦³¦h¤Ö¥~±¾¡A¨Ã¤£·N¨ýµÛ±N¨Ó¨S¦³¡C¥~±¾ªº§Þ³N¤ô¥­©M´åÀ¸­·¦æµ{«×¦¨¥¿¤ñ¡A·í«eÅ]¤OÁÙ¤£¬O¤Q¤À¼öªù¡A¦pªG¥¦Àò±o¤F¤j¦¨¥\¡]®Ú¾Úºô¬Pªº¦¬¶O©MªA°È¤ô¥­¼È®É¬Ý¤£¨ì³oºØ§Æ±æ¡^¡A®£©È·|Åܦ¨¤U¤@­Ó¥Û¾¹¡C
²{¦bªºRO¤]¤@¼Ë¡A¦b¥~±¾¥´À»ªº²{¦b¡A¥²©w¤]·|¦³´åª¬ºAªº¥~±¾¥X²{~
´Á«Ý¡C¡C¡C

[size=5][color=#ff0000]¤ÀªR«È¤áºÝªº¦³Ãö¸ê®Æ
[/color][/size]¦Û¤v§@¥~±¾¡A¤j¦h®É­Ô­n¤ÀªR«Ê¥]¡A¤£¹L¦]¬°¦³ªº¥\¯à¬O¥Ñ«È¤áºÝ¨Ó¿ë§Oªº¡A©Ò¥H¤ÀªR«È¤áºÝªºµ{§Ç¦P¼Ë¤]«Ü­«­n¡A¤ÀªR«È¤áºÝ­º¥ý­n¨D§A¯à¬ÝÀ´¶×½s«ü¥O¡]¥u­n"¬ÝÀ´"¡A­n¨D«Ü§Cªº¡^¡A¨ä¦¸¬O­n¯à°÷¼ô½mªº¹B¥Î¤@¨Ç¤u¨ã¡AµM¦Z¯à³Ñ¤Uªº¤]´N¬O¹B®ð©M´åÀ¸¤½¥qªºº|¬}¤F¡C¡]«¢¡A¤£¬O¨C¦¸³£¯à¦¨¥\ªº°Ú¡^¤UÃä§Ú¤À¨B±Ðµ¹¤j®a¡C
²Ä¤@³¹ 8086¶×½s«ü¥O
ª`¡GAX,BX,CX...,EAX,EBX,ECX...³o¨Ç³£¬OCPU¥Î¨Ó¦sÀx¸ê®Æªº¦a¤è¡C
¤@¡B¸ê®Æ¶Ç¿é«ü¥O
§@¥Î¡G¥¦­Ì¦b¦s¶J¾¹©M±H¦s¾¹¡B±H¦s¾¹©M¿é¤J¿é¥X³s±µ°ð¤§¶¡¶Ç°e¸ê®Æ.
1. ³q¥Î¸ê®Æ¶Ç°e«ü¥O.
   MOV ¶Ç°e¦r©Î¦ì¤¸²Õ.
   MOVSX ¥ý²Å¸¹ÂX®i,¦A¶Ç°e.
   MOVZX ¥ý¹sÂX®i,¦A¶Ç°e.
   PUSH §â¦rÀ£¤J°ï´Ì.
   POP §â¦r¸õ¥X°ï´Ì.
   PUSHA §âAX,CX,DX,BX,SP,BP,SI,DI¨Ì¦¸À£¤J°ï´Ì.
   POPA §âDI,SI,BP,SP,BX,DX,CX,AX¨Ì¦¸¸õ¥X°ï´Ì.
   PUSHAD §âEAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI¨Ì¦¸À£¤J°ï´Ì.
   POPAD §âEDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX¨Ì¦¸¸õ¥X°ï´Ì.
   BSWAP ¥æ´«32¦ì±H¦s¾¹¨½¦ì¤¸²Õªº¶¶§Ç
   XCHG ¥æ´«¦r©Î¦ì¤¸²Õ.( ¦Ü¤Ö¦³¤@­Ó¾Þ§@¼Æ¬°±H¦s¾¹,¬q±H¦s¾¹¤£¥i§@¬°¾Þ§@¼Æ)
   CMPXCHG ¤ñ¸û¨Ã¥æ´«¾Þ§@¼Æ.( ²Ä¤G­Ó¾Þ§@¼Æ¥²¶·¬°²Ö¥[¾¹AL/AX/EAX )
   XADD ¥ý¥æ´«¦A²Ö¥[.( µ²ªG¦b²Ä¤@­Ó¾Þ§@¼Æ¨½ )
   XLAT ¦ì¤¸²Õ¬dªíÂà´«.
   BX «ü¦V¤@±i 256 ¦ì¤¸²Õªºªíªº°_ÂI, AL ¬°ªíªº¯Á¤Þ­È (0-255,§Y 0-FFH); ªð¦^ AL ¬°¬dªíµ²ªG. ( [BX+AL]->AL )
2. ¿é¤J¿é¥X³s±µ°ð¶Ç°e«ü¥O.
   IN I/O³s±µ°ð¿é¤J. ( »yªk: IN ²Ö¥[¾¹, {³s±µ°ð¸¹¢xDX} )
   OUT I/O³s±µ°ð¿é¥X. ( »yªk: OUT {³s±µ°ð¸¹¢xDX},²Ö¥[¾¹ )
   ¿é¤J¿é¥X³s±µ°ð¥Ñ¥ß§Y¤è¦¡«ü©w®É, ¨ä½d³ò¬O 0-255; ¥Ñ±H¦s¾¹ DX «ü©w®É,¨ä½d³ò¬O 0-65535.
3. ¥Øªº¦a§}¶Ç°e«ü¥O.
   LEA ¸Ë¤J¦³®Ä¦a§}.
     ¨Ò: LEA DX,string ;§â°¾²¾¦a§}¦s¨ìDX.
   LDS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JDS.
     ¨Ò: LDS SI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìDS:SI.
   LES ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JES.
     ¨Ò: LES DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìESI.
   LFS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JFS.
     ¨Ò: LFS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìFSI.
   LGS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JGS.
     ¨Ò: LGS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìGSI.
   LSS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JSS.
     ¨Ò: LSS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìSSI.
4. ¼Ð§Ó¶Ç°e«ü¥O.
   LAHF ¼Ð§Ó±H¦s¾¹¶Ç°e,§â¼Ð§Ó¸Ë¤JAH.
   SAHF ¼Ð§Ó±H¦s¾¹¶Ç°e,§âAH¤º®e¸Ë¤J¼Ð§Ó±H¦s¾¹.
   PUSHF ¼Ð§Ó¤J´Ì.
   POPF ¼Ð§Ó¥X´Ì.
   PUSHD 32¦ì¼Ð§Ó¤J´Ì.
   POPD 32¦ì¼Ð§Ó¥X´Ì.
¤G¡Bºâ³N¹Bºâ«ü¥O
   ADD ¥[ªk.
   ADC ±a¶i¦ì¥[ªk.
   INC ¥[ 1.
   AAA ¥[ªkªºASCII½X½Õ¾ã.
   DAA ¥[ªkªº¤Q¶i¨î½Õ¾ã.
   SUB ´îªk.
   SBB ±a­É¦ì´îªk.
   DEC ´î 1.
   NEC ¨D¤Ï(¥H 0 ´î¤§).
   CMP ¤ñ¸û.(¨â¾Þ§@¼Æ§@´îªk,¶È­×§ï¼Ð§Ó¦ì,¤£¦^°eµ²ªG).
   AAS ´îªkªºASCII½X½Õ¾ã.
   DAS ´îªkªº¤Q¶i¨î½Õ¾ã.
   MUL µL²Å¸¹­¼ªk.
   IMUL ¾ã¼Æ­¼ªk.
     ¥H¤W¨â±ø,µ²ªG¦^°eAH©MAL(¦ì¤¸²Õ¹Bºâ),©ÎDX©MAX(¦r¹Bºâ),
   AAM ­¼ªkªºASCII½X½Õ¾ã.
   DIV µL²Å¸¹°£ªk.
   IDIV ¾ã¼Æ°£ªk.
     ¥H¤W¨â±ø,µ²ªG¦^°e:
     °Ó¦^°eAL,§E¼Æ¦^°eAH, (¦ì¤¸²Õ¹Bºâ);
     ©Î °Ó¦^°eAX,§E¼Æ¦^°eDX, (¦r¹Bºâ).
   AAD °£ªkªºASCII½X½Õ¾ã.
   CBW ¦ì¤¸²ÕÂà´«¬°¦r. (§âAL¤¤¦ì¤¸²Õªº²Å¸¹ÂX®i¨ìAH¤¤¥h)
   CWD ¦rÂà´«¬°Âù¦r. (§âAX¤¤ªº¦rªº²Å¸¹ÂX®i¨ìDX¤¤¥h)
   CWDE ¦rÂà´«¬°Âù¦r. (§âAX¤¤ªº¦r²Å¸¹ÂX®i¨ìEAX¤¤¥h)
   CDQ Âù¦rÂX®i. (§âEAX¤¤ªº¦rªº²Å¸¹ÂX®i¨ìEDX¤¤¥h)
¤T¡BÅÞ¿è¹Bºâ«ü¥O
   AND »P¹Bºâ.
   OR ©Î¹Bºâ.
   XOR ²§©Î¹Bºâ.
   NOT ¨ú¤Ï.
   TEST ´ú¸Õ.(¨â¾Þ§@¼Æ§@»P¹Bºâ,¶È­×§ï¼Ð§Ó¦ì,¤£¦^°eµ²ªG).
   SHL Å޿襪²¾.
   SAL ºâ³N¥ª²¾.(=SHL)
   SHR ÅÞ¿è¥k²¾.
   SAR ºâ³N¥k²¾.(=SHR)
   ROL ´`Àô¥ª²¾.
   ROR ´`Àô¥k²¾.
   RCL ³q¹L¶i¦ìªº´`Àô¥ª²¾.
   RCR ³q¹L¶i¦ìªº´`Àô¥k²¾.
     ¥H¤W¤KºØ²¾¦ì«ü¥O,¨ä²¾¦ì¦¸¼Æ¥i¹F255¦¸.
     ²¾¦ì¤@¦¸®É, ¥iª½±µ¥Î¾Þ§@½X. ¦p SHL AX,1.
     ²¾¦ì>1¦¸®É, «h¥Ñ±H¦s¾¹CLµ¹¥X²¾¦ì¦¸¼Æ.
      ¦p MOV CL,04
         SHL AX,CL
¥|¡B¦ê«ü¥O
   DS:SI ·½¦ê¬q±H¦s¾¹ :·½¦êÅܧ}.
   ESI ¥Ø¼Ð¦ê¬q±H¦s¾¹:¥Ø¼Ð¦êÅܧ}.
   CX ­«´_¦¸¼Æ­p¼Æ¾¹.
   AL/AX ±½ºË­È.
   D¼Ð§Ó 0ªí¥Ü­«´_¾Þ§@¤¤SI©MDIÀ³¦Û°Ê¼W¶q; 1ªí¥ÜÀ³¦Û°Ê´î¶q.
Z¼Ð§Ó ¥Î¨Ó±±¨î±½ºË©Î¤ñ¸û¾Þ§@ªºµ²§ô.
   MOVS ¦ê¶Ç°e.
   ( MOVSB ¶Ç°e¦r²Å. MOVSW ¶Ç°e¦r. MOVSD ¶Ç°eÂù¦r. )
   CMPS ¦ê¤ñ¸û.
   ( CMPSB ¤ñ¸û¦r²Å. CMPSW ¤ñ¸û¦r. )
   SCAS ¦ê±½ºË.
     §âAL©ÎAXªº¤º®e»P¥Ø¼Ð¦ê§@¤ñ¸û,¤ñ¸ûµ²ªG¤Ï¬M¦b¼Ð§Ó¦ì.
   LODS ¸Ë¤J¦ê.
     §â·½¦ê¤¤ªº¤¸¯À(¦r©Î¦ì¤¸²Õ)³v¤@¸Ë¤JAL©ÎAX¤¤.
   ( LODSB ¶Ç°e¦r²Å. LODSW ¶Ç°e¦r. LODSD ¶Ç°eÂù¦r. )
   STOS «O¦s¦ê.
   ¬OLODSªº°f¹Lµ{.
   REP ·íCX/ECX<>0®É­«´_.
   REPE/REPZ ·íZF=1©Î¤ñ¸ûµ²ªG¬Ûµ¥,¥BCX/ECX<>0®É­«´_.
   REPNE/REPNZ ·íZF=0©Î¤ñ¸ûµ²ªG¤£¬Ûµ¥,¥BCX/ECX<>0®É­«´_.
   REPC ·íCF=1¥BCX/ECX<>0®É­«´_.
   REPNC ·íCF=0¥BCX/ECX<>0®É­«´_.
¤­¡Bµ{§ÇÂಾ«ü¥O
1>µL±ø¥óÂಾ«ü¥O (ªøÂಾ)
   JMP µL±ø¥óÂಾ«ü¥O
   CALL ¹Lµ{½Õ¥Î
   RET/RETF¹Lµ{ªð¦^.
2>±ø¥óÂಾ«ü¥O (µuÂಾ,-128¨ì+127ªº¶ZÂ÷¤º)
   ( ·í¥B¶È·í(SF XOR OF)=1®É,OP1<OP2 )
   JA/JNBE ¤£¤p©ó©Î¤£µ¥©ó®ÉÂಾ.
   JAE/JNB ¤j©ó©Îµ¥©óÂಾ.
   JB/JNAE ¤p©óÂಾ.
   JBE/JNA ¤p©ó©Îµ¥©óÂಾ.
   ¥H¤W¥|±ø,´ú¸ÕµL²Å¸¹¾ã¼Æ¹Bºâªºµ²ªG(¼Ð§ÓC©MZ).
   JG/JNLE ¤j©óÂಾ.
   JGE/JNL ¤j©ó©Îµ¥©óÂಾ.
   JL/JNGE ¤p©óÂಾ.
   JLE/JNG ¤p©ó©Îµ¥©óÂಾ.
   ¥H¤W¥|±ø,´ú¸Õ±a²Å¸¹¾ã¼Æ¹Bºâªºµ²ªG(¼Ð§ÓS,O©MZ).
   JE/JZ µ¥©óÂಾ.
   JNE/JNZ ¤£µ¥©ó®ÉÂಾ.
   JC ¦³¶i¦ì®ÉÂಾ.
   JNC µL¶i¦ì®ÉÂಾ.
   JNO ¤£·¸¥X®ÉÂಾ.
   JNP/JPO ©_°¸©Ê¬°©_¼Æ®ÉÂಾ.
   JNS ²Å¸¹¦ì¬° "0" ®ÉÂಾ.
   JO ·¸¥XÂಾ.
   JP/JPE ©_°¸©Ê¬°°¸¼Æ®ÉÂಾ.
   JS ²Å¸¹¦ì¬° "1" ®ÉÂಾ.
3>´`Àô±±¨î«ü¥O(µuÂಾ)
   LOOP CX¤£¬°¹s®É´`Àô.
   LOOPE/LOOPZ CX¤£¬°¹s¥B¼Ð§ÓZ=1®É´`Àô.
   LOOPNE/LOOPNZ CX¤£¬°¹s¥B¼Ð§ÓZ=0®É´`Àô.
   JCXZ CX¬°¹s®ÉÂಾ.
   JECXZ ECX¬°¹s®ÉÂಾ.
4>¤¤Â_«ü¥O
   INT ¤¤Â_«ü¥O
   INTO ·¸¥X¤¤Â_
   IRET ¤¤Â_ªð¦^
5>³B²z¾¹±±¨î«ü¥O
   HLT ³B²z¾¹¼È°±, ª½¨ì¥X²{¤¤Â_©Î´_¦ì«H¸¹¤~Ä~Äò.
   WAIT ·í´¹¤ù¤Þ½uTEST¬°°ª¹q¥­®É¨ÏCPU¶i¤Jµ¥«Ýª¬ºA.
   ESC Âà´«¨ì¥~³B²z¾¹.
   LOCK «ÊÂê¶×¬y±Æ.
   NOP ªÅ¾Þ§@.
   STC ¸m¶i¦ì¼Ð§Ó¦ì.
   CLC ²M¶i¦ì¼Ð§Ó¦ì.
   CMC ¶i¦ì¼Ð§Ó¨ú¤Ï.
   STD ¸m¤è¦V¼Ð§Ó¦ì.
   CLD ²M¤è¦V¼Ð§Ó¦ì.
   STI ¸m¤¤Â_¤¹³\¦ì.
   CLI ²M¤¤Â_¤¹³\¦ì.
¤»¡B°°«ü¥O
   DW ©w¸q¦r(2¦ì¤¸²Õ).
   PROC ©w¸q¹Lµ{.
   ENDP ¹Lµ{µ²§ô.
   SEGMENT ©w¸q¬q.
   ASSUME «Ø¥ß¬q±H¦s¾¹´M§}.
   ENDS ¬qµ²§ô.
   END µ{§Çµ²§ô.

    ·íµM¤£¬O©Ò¦³ªº«ü¥O³£¯à¥Îªº¤Wªº¡A§Ú¦b³o¨½¥þ³¡¼g¥X¨Ó¬O¬°¤FÅý¤j®a»{ÃѤ@¤U¡A¤è«K¤j®a¥H¦Zªº¾Ç²ß¡A§ÚÂk¯Ç¤F¤@¤U±`¥Îªº«ü¥O¡A³o¨Ç«ü¥O¤j®a¤@©w­n¼ô½m´x´¤¤~¥i¥H°Ú¡C
MOV ¸ê®Æ¶Ç°e«ü¥O
PUSH,POP °ï´Ì«ü¥O
CMP ¤ñ¸û«ü¥O
LEA ¨ú¦a§}«ü¥O
XOR ²§©Î«ü¥O
JE,JZ,JMP...(©Ò¦³ªºÂಾ«ü¥O)

[size=5][color=#ff0000]FPE­×§ï¥þ±Ðµ{
[/color][/size]«Ü¦­ªº®É­Ô,·í¥X²{¤Fµøµ¡¨t²Î¥H¦Z,¹Ï§Î¬É­±´N²`±o¤H­Ìªº³ß·R,±q¥j¦ÑªºDOS¬É­±ªº¥®¸Xªºªi´µ¤ý¤l¶}©l,«K³vº¥ªº¥X²{¤F§ó°ª·N¸q¤Wªº´åÀ¸,§óÀu¨}ªº¬É­±§l¤Þ¤F§ó¦hªº¤H¨Ó¶i¦æ´åÀ¸ªº®T¼Ö¡C
©ó¬O,GAMEªº·N¸q«K³vº¥ªº²`»·©MÂ×´I¦h±m°_¨Ó,«K³vº¥¥X²{¤F´åÀ¸¤º®eªº¤À¤Æ,§Î¦¨¤F¤@¨Ç·½©ó¦­´Á§Î¦¡¤WAVG,SLG,RPG,µ¥ÁͶÕ,³o¬O¦­´Áªº¤ñ¸ûÅ¢²Îªº¤À¤Æ,´Á¶¡,«Ü¦hRPGªº´åÀ¸´N¦³«Ü¦hÁcº¾¬\Àê¥F¨ýªºª@¯Å¤Î½m²ßªº¨t²Î,·í®É«K¦³¤F¤@­Ó«ä·Q,¦p¦óÂ\²æ³o¨Ç¥O¤H¤Ï·PªºªF¦è?­×§ï´åÀ¸ªº·½µ{§Ç¶Ü?¤£¬O,«K¥X²{¤F¤@ºØÃþ¦ü©óªþ¥[ªºµ{§Ç,¥i¥H¹ï¤Hª«ªº¸ê®Æ¶i¦æ¤@©wªº­×§ï,ª««~µ¥µ¥,«K¬O¦­´Á­×§ïªºÂú§Î,¦Ü¦Z¨Ó,¸g¹L¶V¨Ó¶V¦hªº¤Hªºµo®i,«ä·Q,³v¨B³v¨Bªº§Î¦¨¤F¤@­Ó¤ñ¸û§¹µ½ªºÅé¨t©M¦@¦Pªº»{ÃÑ,¦Z«K¦³¤F­·Ãû¤H¤ßªºFPE.
   
¤@­Ó¤Hª«,¦³«Ü¦h¸ê®Æ»P¤§¬ÛÃö©ÎªÌ»¡»P¤§¦³Áp¨t,¨º»ò,¦p¦ó¦b²³¦hªº¸ê®Æ¤¤´M§ä¨ì¤Hª«©Ò»Ý­nªº³¡¤À©O?«Ü®e©ö·Q¨ìªº´N¬O,·í§Ú­Ì¦b´åÀ¸¶i¦æªº¹Lµ{¤¤,§Ú­Ìªº¤Hª«¤@¥¹µo¥Í¸ê®Æ¤WªºÅܤÆ,¨º»ò¸ê®Æ´N·|¦b±H¦s¾¹¤¤µo¥ÍÅܰÊ,·í§Ú­Ì¦b«e¤@¦¸ªº©P´Á¤¤±N¥þ³¡ªº¸ê®Æ¼Æ­È³£°O¿ý¤U¨Ó,¦b±N³o­Ó©P´Áªº¸ê®Æ¥þ³¡°O¿ý,µM¦Z¬Û¤ñ¸û,´N¯à°÷´M§ä¨ì¤@­Óµo¥ÍÅܤƪº³¡¤À,³o­Ó³¡¤À¥i¯à¦³«Ü¦h«Ü¦h
²³æªº¨Ó»¡,¥i¯à¬O¤@­ÓßÓ,¦Y¤U¥h¤F,¨º»ò¼Æ­ÈÅܤF,¶q´î¤Ö¤F,¦å¼ÑªºÃC¦âÅܤF,¤Hª«ªºÄݩʫì´_¤F,µ¥µ¥«Ü¦h«Ü¦h«Ü¦h,©Ò¥H,Åܰʪº¦a§}´N¦³«Ü¦h«Ü¦h,¨º»ò§Ú­Ìªº¥Ø¼Ð¼Æ­È©O?«Ü²³æ,·í¤@­Ó¼Æ­È«ö·Ó§Ú­Ìªº­n¨D¨ÓÅܤÆ,§Ú­Ì¶R,½æ.¶R.½æ.¶R.½æ.¨º»ò,¿ú´N¬O¤Ö,¦h,¤Ö,¦h,¤Ö,¦h,³o¼Ë¤@¨Ó,²Å¦X§Ú­Ìªº³o­Ó³sÄòªº¥¿½TªºÅܤƪº§Î¦¡ªº¦a§}´N¥u¦³´X­Ó,¥¿½Tªº©ÎªÌªíÆ[ªº,©ÎªÌÃè¶Hªº,©Ò¿×ªíÆ[,´N¬O¿úªº¨º­Ó¼Ë¤l­nÅܤƧa~~~```«¢«¢`````¯à©ú¥Õ¶Ü?´N¬O»¡,¤@­Ó¤HÁy­D,½GÅܤF,¦ý¬OÁ`¦³­ÓÁy¦b¨º¨½§a?µM¦Z´N¬O©Ò¿×ªº¦×ªº¦h¤Öªº¦a§},µM¦Z````````````?µM¦Z`````¬Ý¬Ý¦a§}¬O¤°»òÃþ«¬,¶i¨îªº¿ï¾Ü,µM¦Z,§R°£±¼²{¦bªº¼Æ­È,¼g¤W¤@­Ó§Ú­Ì»Ý­nªº¼Æ­È,¨ê·s,´N²£¥Í¤F¤@­Óµ²ªG,§Ú­ÌºÙ¬°:ªí²{:³o´N¬O­×§ïªº®Ö¤ßªº­ì²z
   ¦n¤F,§Ú­Ì®³¨ì¤F¤@­Ó­×§ï¾¹,FPE,ª÷¤s´å«L,ªF¤è¤£±Ñ,¤j¤M,¶Ì¥Ê­×§ï¾¹,¤ýªÌ­×§ï,ÀH«K¤°»ò³£¥i¥H.µM¦Z°õ¦æ¨º­Ó¹Ï¼Ð,´N¬O.EXEªº¤å¥ó,µM¦Z¶i¤J¥Ø¼Ð´åÀ¸,µM¦Z,¿ï©w¤@­Ó§Ú­Ì©Ò»Ý­nªº­×§ïªº¤@­Ó¼Æ­È,¤ñ¦p¤ñ¦p~~~~~~~~~~~~~~~~~~~```
³Ì³Ì°ò¥»ªº,¿ú.µM¦Z©O,§Ú­Ì°O¦í²{¦b§A©Ò¦³ªº¼Æ¶q,µM¦Z¤Á´«¥X¥h¨ì­×§ï¾¹,«ö²Õ¦XÁä,¦pªG¤£¦æ,´N«ö§Ö±¶Áä*,±`¨£ªº,¦pªGÁÙ¤£¦æ,¬Ý¬Ý¬O¤£¬O¨R¬ð,´«±¼§Ö±¶Áä¦ì,©ÎªÌ²Õ¦XÁä,°h¥XÁä¦ì¸Õ¸Õ,ÁÙ¤£¦æ,¦Û¤v¥i¥H¹ï´åÀ¸ªº¥Ø¿ý¤å¥ó°µÂI¬ÛÃö­×§ï,§Ú¤£ÂرÔ,µM¦Z¦b¨º­Ó·s«Ø¥ô°È¨º¨½¿ï¤W,µM¦Z¶ñ¤W§A°O¦íªº¨º­Ó¼Æ­È,´N¬O§A°O¦íªº,
µM¦Z§Ú­Ì¤Á´«¦^´åÀ¸,µM¦ZÀH«K¶R­ÓªF¦è,Åý´åÀ¸ª÷¿úµo¥ÍÅܤÆ,µM¦Z§Ú­Ì¦A¦¸¤Á´«¥X¨Ó,¦b¸ê®Æ¨º¨½¶ñ¤W·sªº¼Æ¶q,´N·|¦b¤W¦¸ªº´M§äªºµ²ªG¨½´M§ä§A²{¦bªº¼Æ¶q²Å¦Xªº¦a§},OK,¦³´X­Ó³Ñ¤U¤F?¦pªG«Ü¦hFF¤]´N¬O256¥H¤W,¤£¯àÅã¥Ü,¨º»ò­«´_¥H¤W¹Lµ{,¦pªG¯à°÷¦b§Aªº­×§ï¾¹¨º­Ó:®Ø­ì½Ì§Ú¥Î³o»ò¤£±M·~ªº»¡ªk~~~~``)¥X²{ªº¸Ü,
¨º»ò¥i¥H¶}©l¤F,¦pªG§Aªº¤ô¥­¤£¦æ,¬Ý¤£,¨º»ò¦AºÉ¶q¦h§ä´X¦¸§a,±±¨î¦b2----5­Ó¦a§}¤º.µM¦Z§Ú­Ì¶}©l,¦pªG§A¤°»ò³£¤£·|,´Nª½±µ¿ïÂê©w,µM¦Z¶ñ¤W¤@­Ó10¾÷¨îªº¼Æ¶q,´N¥i¥H¤F.?¤°»ò?§A¤£ª¾¹D¶i¨î¬O¤°»ò???~?~?¨º§Ú¨S¦³¿ìªk¤F.
¦pªG§AÀ´¥ô¦ó¤@ÂIÂI,¨º»ò¸òµÛ§Ú,¿ï¾Ü½s¿è,³o¬O§A½ñ¤W¯u¥¿·N¸q¤Wªº­×§ïªº¸ô³~
   §Ú­Ì¼ÒÀÀ¤@¦¸
   02FE32A...
   02FE30b...
   -----µ¥´X­Ó§Ú­Ì°²³]¦³5­Ó   
   ¥´¶}¤@­Ó
   §A¥i¯à¬Ý¨ì³o­Ó
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   »¡©ú¤°»ò©O?  ¤£¥¿½T
   ²Ä¤G­Ó
   0F 0E A3 B4 F5 EE FF ED D2 A3 D2 E1 A2 B4 F9 F1
   .....................
   §A¬Ý¤£¥X¥ô¦ó³W«ßªº
   »¡©ú¤°»ò©O? ¤]¤£¤j¥¿½T
   ²Ä¤T­Ó
   32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   ¦pªG§A¦³50¤¸¿úªº¸Ü,»¡©ú¤°»ò©O?50ªº16¶i¨î¬O¦h¤Ö?50=32
   ¹ïªº
   ²Ä¥|­Ó
   32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 ................
   ¤@¼Ëªº?¤£¬OÃè¶HÅܬOªíÆ[,¤]¬O¹ïªº
   ²Ä¤­­Ó```````` ¤@¼Ë?
   ¨þ¨þ`````¤£¿ù,§Ú­Ì§ä¨ì¤F¿úªº¦a§}¤F
   ¶}©l­×§ï
   §Ú­n¦h¤Ö? 999? 9999?   
   ¶ñ¤WE7 03 ©ÎªÌ 0F 27  ¦Û¤v¥h¼g§a!¦pªG§A¤£¬O¹q¸£¤åª¼,¦pªGÁÙ¤£·|,§ä­Ó´«ºâ¾¹,¦Û¤v´«´«´N¥i¥H¤F,¼g¤W¥h¨ê·s,¦^¥h¬Ý¬Ý§a.
   ½s¿è´N¬O³o¼Ë²³æ.
   
   ªZ¾¹,§ðÀ»,ßÓ¤ô.........³t«×.¤@¤Á¦³¼Æ¦rªºªF¦è,³£³o¼Ë°µ§a.
   
   ¦n¤F,°ò¦§¹¤F,§Ú­Ì³o³¡¤À«Ü¼ô±x¤F,Ä~Äò
   §Ú¦b³o¨½¼g¤W¤@­Ó¤Hªº¸ê®Æ
   µ¥¯Å  01
   ¸gÅç  100
   HP    100
   MP    100
   ßÓ¤ô  99
   .........                             
   ¨º»ò¥¿½Tªº¦a§}¬O¤°»ò©O`?
   01 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00
   63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00       ¤£­n©M§Ú»¡¬Ý¤£À´
   ²Ä¤G­Ó¨Ò¤l
   ªZ¾¹  ªì¯Å  ¤M   
               ¾÷Ãöºj  ¤l¼u  10 / 100
               ¤õ½b¬¶  ¤l¼u  04 / 100
               ßÓ      ¤pßÓ  3 ­Ó
                       ¤¤ßÓ  5 ­Ó
                       ¤jßÓ  8 ­Ó
   §Ú­Ì¨Ó¼g³o³¡¤À
   01 01 00 00 04 01 0A 64 0F 03 00 00 10 05 00 00
   11 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   ³o­ÓÃø¬ÝÂI,¬O¤°»ò·N«ä?
   01¤@©w¬O³Ìªì¯ÅªºªZ¾¹ªº¥N½X ¦Z­±ªº01¤@©w¬Oªí¥Ü¼Æ¶q ¤@§â ,§A§ï02´N¬O¨â§â¤M,03´N¬O3§â...04¬O¾÷Ãöºjªº¥N½X,¬°¤°»ò¤£¬O02?´åÀ¸¨½¦³¨S¦³¤°»ò¤pºj?¨Bºj?¦pªG¦³´N¬O»¡©ú¾÷Ãöºj¬O¼F®`¤@ÂIªººj,«e­±ªÖ©wÁÙ¦³¤@ÂI¤pºj 01 ¬O¤@§â,02¬O¨â§â,OA ¼Æ¶q¬O10ªº¤l¼u.64¬O¤l¼u¤W­­,¥H¦¹Ãþ±À....¦Û¤v¹ïµÛ¬Ý¬Ý``````
   
   ¤¤¯Å§Oªº·|¤F¶Ü~?~?¼ô½m§a```¦h§ä´åÀ¸¸Õ¸Õ````§O§i¶D§Ú§A¬Ý¤£À´
   
   °ª¯Å§Oªº§ä¤°»ò??? §Ú®³ºëÆF¶}¤M
   ÀH«K¨â­ÓªZ¾¹,¸õ¥XFPE,´M§ä¦a§},´N¬O¦p¤Uªº³¡¤À
   
   00 00 ªZ¾¹¥N½X³¡¤À  ³Ì¤p§ðÀ»  ³Ì§C§ðÀ»   
   ®gµ{  ³t«×  ©R¤¤  ¥²±þ²v   00 0 00 0 0
   00 00 00 0 0  -------------------  --
   00 0 00 0 00 0 ªZ¾¹°ò¥»­n¨D   000 00 00
   000000000000000000000000000000000000000
   00000000000000000000000000000000000000
   0000000000000000000000000000000000000000
   00000000     ¯S®Ä    §ðÀ»¥[¦¨
                ------------------------ ¦³´X­Ó¯S®Ä´N¦³­Óªþ¥[
                                         «e­±§A³£¬ÝÀ´¤F,³o¨½§A´N§äªº¨ì
                                         ©¹¤U½½­¶­±´N¬O
   §A­n§ï¤°»ò?
   ¥h±¼­n¨D?      ­n¨D³¡¤À¥þ³¡§ï00 00 00 00 00 00
   §ðÀ»?           FE 00 FF 00   ==     254 255
   ³t«×?          OA=10  1E=30 32=50
                  §Ú§ï¨ì50³£¨S¦³°ÝÃD
   ¥²±þ?        64 == 100%       §A­n§ïªºÅܺA§Ú¤]¤£Äd§A
   ®gµ{?        ÀH§A§a,ÁÙ­n§Ú»¡¶Ü~?  
   1¯Åªº±OÀsºj«ç»ò¨Óªº? ´N³o»ò¨Óªº
   ·|¤F¶Ü~?¦Û¤v¥h§ï§a.¤£­n¦A°Ý§Ú­n¤F,*¦Û¤v§a.
   ¥H¦Z§AÁÙ·Q°µ¤°»ò`~~?§Ú´£¥Ü§a,²{¦bªº­×§ï¾¹¦³§C¶¥·j¯Áªº¥\¯à.¤°»ò·N«ä,´åÀ¸¨½ªºªF¦è¤£ª¾¹D¼Æ­Èªº³¡¤À,§Ú­Ì¥Î·j¯Á,¿é¤J? µM¦Z¼W¥[+ ´î¤Ö- ³o´N¬O°ò¥»ªº®æ¦¡,¦a§}´N¬O³o¼Ë§ä¨ìªº,§ä¨ì¤F¦a§},¥[­ÓÂê©wªº¥N½X,°µ­Ó±Ò°Ê¤å¥ó,³Ì¦Z``````````¦Û¤v¥h°µ¥~±¾§a.¸Ë³Æ¶Ü?¦³¼Æ­È,¦Û¤v·Q§a!
   ¥@¬É¤W³q¦Vù°¨ªº¸ô«Ü¦h.§AÁ`±o§ä¤@±øÄÝ©ó§A¦Û¤v§a?


[size=5][color=#ff0000]FPE­×§ï±Ðµ{¶i¶¥(¦a§}½s¿è³¡¤À)
[/color][/size]   
»Ý­n¨ã³Æªº´X­Óªì¨Bª¾ÃÑ
1.¤Q¤»¶i¨î
   ¤Q¤»¶i¨î¬O¶i¨î¤¤ªº¤@ºØ,¬O§Ú­Ì¦b¶i¦æ½s¿èªº®É­Ô±N­n¸I¨ìªº³Ì¦hªº°ÝÃD,§A±µàD­×§ï,´N¤£¥iÁ×§Kªº·|¹J¨ì¶i¨î¤Wªº´«ºâ,²³æªº»¡¨Ó,¤Q¤»¶i¨î´N¬Oº¡¤Q¤»´N¶i¤@¦ì,¦P¤Q¶i¨îªºº¡¤Q¶i¤@¬O¤@¼Ëªº¹D²z,§Ú¦b³o¨½­n¨D¤j®a°O¦í³Ì°ò¥»ªº«e¤Q¤»¦ìªº¥N½X´«ºâ,©M´X­Ó³Ì±`¥Îªº¼Æ­È¨ãÅé¤Q¤»¶i¨îªº¥N½X,¦Ó¤£¬O¥hÁ{®Éªº§ä­Ó¤°»ò¶i¨î´«ºâ¾¹¨Ó¶i¦æ´«ºâ,³oÂI«D±`­«­n,¦³«Ü¦h®É­Ô,¤@­Ó¦a§}ªº½s¿è,¦b¬Y­Ó¼Ð§Ó½X¼Æ­È¤W¤£¬O«Ü¤j,¦ý¬O­n¨D§A¦³«Ü°ªªº¸ê®Æ±Ó·P©Ê,³oÂI«Ü­«­n,§Ú¦b³o¨½±N­n¨D°O¦íªº¤@¨Ç¥N½X¼g¥X¨Ó
  01=01 02=02 03=03 04=04 05=05 06=06 07=07 08=08
  09=09 10=0A 11=0B 12=0C 13=0D 14=0E 15=OF 16=10
  ¯S©º¼Æ­È
  0F=15  FF=255  FF FF =65535     32=50     64=100
  63=99  03 E7=999  27 0F=9999        01 86 9F=99999
2.¯u/°²§}ªº°ò¥»ÃѧO°ÝÃD
  §Ú¦b³o¨½Á|¤@­Ó¨Ò¤l
  ¤@­Ó¥¿±`ªº¥þªÅ¦a§}
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  
  ¥¿±`¸ê®Æ¥þº¡¦a§}
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  °²³]§Ú­Ì´M¨Dªº¥Ø¼Ð¬O¤@­Óª÷¿úªº¼Æ¶q
  °²³]ªì©l¼Æ¶q¬O1000ªº¸Ü,§Ú­Ì´N¶}©l¥H1000§@¬°´M§ä¥Ø¼Ð
  1000>990>980>970> OK,§Ú­Ì§ä¨ì¤F¨â­Ó¦a§}
   
  024F6A5C7BE..
  024F7BCDD3A..
  ¦a§}¤@§Ú­Ì¥´¶}¥H¦Z¬Ý¨ì
  CA 03 00 00 CA 03 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  ¦a§}¤G§Ú­Ì¥´¶}¥H¦Z¬Ý¨ì
  DE CA D3 B6 A7 D8 E9 FF D1 A3 A3 A3 DE FA FE D2
  D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
  F6 5A 8D 8D 6E 7D 6E 7E 8A 9D 21 41 3A 3C D2 F2
¦p¦ó§PÂ_©O¡A³o¬O¤@­Ó«Ü©úÅ㪺¤@­Ó±`¨£ªº¯u°²¦a§}¨Ã¦sªº±¡ªp¡A§Ú­Ìªº¥Ø¼Ð¼Æ­È¬O970 ¡A´«ºâ¹L¨Ó¬O CA 03 ¨º»ò¦a§}¤¤¦³¨º­Ó¥X²{¤F³o­Ó¤Q¤»¶i¨îªº970©O¡H«Ü©úÅã¬O¦b²Ä¤@­Ó¦a§}¡A§Ú­Ì´NºÙ¬°¯u§}¡A¦Ó²Ä¤G­Ó¨S¦³¥ô¦óªº¼Æ¦rªº³W«ßªº¦a§}¡A§Ú­ÌºÙ¤§¬°°²§}¡A¦ý¬O¨Ã¤£¦]¬°¨ä¯u¥¿·N¸q¤Wªº°²§}¡A¨ä¹ê¡A³o­Ó¦a§}¤]¬O¤Ï¬M¤F¤@­ÓÃöÁpªºÅܶq¡A¥u¬O©Ò¥]²[ªº¸ê°T¤£¬O§Ú­Ì©Ò»Ý­nªº·í«eÅܶq­È¡A¦ý³oºØ¦a§}¦b¬YºØ±¡ªp¤U¤´µM«D±`¦³¥Î¡A°_¤@­ÓÅçÃÒªº§@¥Î¡A§Úµy¦Z·|¸Ô²Ó¸Ñ»¡¡C³o´N¬O°ò¥»ªº¯u/°²¦a§}ªººc¦¨¡A«Ü¦h®É­Ô¡A¯u¹êªº¦a§}³q±`¤£¬O³oºØ¡§²Mª©¡¨¡]§Ú­Ìªº³N»y¡A´N¬O«D±`¤zÐä¦n»{ÃÑ¡A¾ãª©¦a§}¥N½X¥þªí¡AµLÃöªº¥þ³¡Åã¥ÜªÅ½X¡A¥uªí¹F¤@­Ó¦³ÃöÅܶq¼Æ­È¡^¦Ó¬O¦b¤@¤j¦ê¨S¦³¥Îªº¸ê®Æ¤¤§¨¦b¤@¬q¯S©wªº¬q¸¨
  
  ¥H¤U¬O¤@­Ó¼Ë¥»
  
  DE CA D3 B6 00 02 00 00 D1 A3 A3 A3 DE FA FE D2
  D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
  F6 5A 8D 8D 00 02 00 00 8A 9D 21 41 3A 3C D2 F2
  ³o¬O¤@­Ó¤ñ¸û¼Ð·Çªº§¨½X¡A¦b²Ä¤G­Ó¬q¸¨ªº¥|¦ì¡A¤@¡A¤T¦æ¥]²[¤F¤@­Ó¨¤¦âªºµ¥¯Å¸ê°T¡A¨ä§E³¡¤À¬OÃö©ó¤@­Ó¨¤¦âªºµ¥¯Å¬ÛÃöªº¥~ªí¤Î¥~Æ[¡A¦b³o¨½´N¥X²{¤F«D²Mª©ªº¦a§}¥þ¥N½X¡A»Ý­n¤j®a¥J²Ó¬Ý¡A¦pªG´M§äªºµ²ªG¬O2¨ì3­Ó³o¼Ëªº«D²M½Xªº¦a§}½Xªí¡A¤£¯à°÷»{¬°¬O»~³ø¦Ó«Ü²³æªº²M°£­«·s´M§ä¡A»Ý­nų§O¤@¤U¡A³o¨½¤£¦P©óµL³W«ßªº°²§}¡A±æ¤j®a»Ê°O¡C
  
  3¡AÃè¶H­×§ï
  §Ú­Ìª¾¹D¡A¤@­Ó¨¤¦âªº¸ê®Æ¦³«Ü¦h³¡¤À¡A³Ì²³æªº¤ñ¦pÅé¤O¼Æ­È¡A´N¦³´X­Ó³¡¤À
  ¤@¨ãÅ骺¼Æ­È
  ¤GªíÆ[ªº¦L¶H
  ¤TÅã¥Ü¥X¥[¦¨©ÎªÌ´î¤Öªº®ÄªG
  §Ú­Ì¦b¤j½d³òªº·j´M¤@­ÓÅܰʪº¦a§}ªº®É­Ô¡A·|±N³o­Ó¯u¼Æ­È§}©Ò¯à²£¥ÍªºÅܤƪº¤Î³s±a¼vÅTªº³¡¤À¥þ³¡·j´M¦b¤º¡A¬G¦P®É¶¡ªº·j´M¡A§Ú­Ì¥i¥H§ä¥X´X­Ó¬ÛÃöªºÅܶq¼Æ­È§}¡A§Ú­Ì¦b¶i¦æ¦a§}½s¿èªº®É­Ô¡A­nª`·N¨ì³oÂI°Ï§O¡A¨ãÅ骺»y¨¥´y­z´N¬O¡A§A¥i¯à­×§ï¤F¤@­Ó§A»{¬°¬O¥¿½Tªº¡A¦Xªkªº¦a§}¡A¦ý·í§A¤Á´«¨ì´åÀ¸³¡¤Àªº®É­Ô¡A«oµo²{¨S¦³²£¥ÍÅܰʡA¦ý§A¦b¤Á´«¦^½s¿è¾¹¡A«oµo²{¸ê®Æ¤w¸g¦Û°Ê«ì´_¤F­ì¥»¨S¦³­×§ïªº«e¼Ë¡A³oÂI§Ú­ÌºÙ¬°¡AÃè¶H­×§ï¡A©ÎªÌ¼v¤l­×§ï¡A³Qµø¦P¬°¤£¦¨¥\ªº­×§ï¡A¦¹®É§A­n°µªº´N¬O¥¿½Tªº¤ÀªR§Aªº¦a§}¡AµM¦Z¸ÕµÛ¥h­×§ï¥t¥~ªº¬Û¦Pªº©ÎªÌ¸ê®Æ¤W¦³¹ïµ¥ÂIªº¦a§}¡A¦pªG§A¤£©ñ¤ß¡A´N³sÃè¶H³s¦P¯u§}¤@°_§ï°Ê¡A¦ý­È±oª`·N¤@ÂI¡A§Ú­n´£¥X¡A¦³®É«J¡A¯u§}©MÃè¶H¤£¬Oµ´¹ï¡A¦b¬YºØ±¡ªp¤U¡A§Ú­Ì¨S¦³¿ìªk´M§ä¯u§}¡A¥u¦³³q¹LªíÆ[¨Ó¶¡±µ­×§ï¡AÃþ¦üªº¦³¡mÃM¤h¹Î¡n¦³®É§ï±¼Ãè¶H´N¥i¥H§â¯u§}¼vÅT¡A«Ü©úÅ㪺¨Ò¤lPCª©¥»ªº¡q¤ß¸õ¦^¾Ð¡r§A¥i¥H°l´M¨ì7­Ó¦a§} ¡A¦ý¬O§A§ï±¼¥ô¦ó¤@­Ó³£¨S¦³¥Î¡A­n»ò³s±a­×§ï7­Ó¡Aª½±µ¹ê²{ÅܰʡA­n»ò§A§ï¥ô·N¤@­Ó¡A³q¹L´åÀ¸ªº¤é¾ä¤Á´«¡A¹ï¦a§}¶i¦æ®ÕÅç¡A´«¦æ¬°¯u§}¡A¹F¨ì­×§ï¡C³oÂI»Ý­nª`·N¡C
  ¥¿ÃD¡G
  ·Ç³Æ­n¨D°µ¦n¥H¦Z¡A§Ú¶}©l­z»¡­×§ï¥¿ÃD³¡¤À¡A§Ú±N¥H¹ê¨Ò¨Ó¤ÀªR¡A¹ïŪ¥N½X½s¿è°µ»¡©ú¡A·|¥]²[¥Ø«eªº©Ò¦³³¡¤À¡A§Æ±æ¤j®a»{¯u·Q·Q¡A¥u­n§A¯à©ú¥Õ¥þ³¡¾÷²z¡A´N¯à«Ü»´ªQ©ú¥Õ­×§ï¾Ç°Ýªº90%¡A§Ú©Ò¼gªº¥N½X³¡¤À¥u¼g¥D­n¡AµLÃö¥N½X§Ú¤£¼g¡A³o¼Ë¤@¨Ó¹ïªì¾ÇªÌ¦n¬Ý¤@ÂI¡A¦Ó¥B¤]«K©ó¬ã¨s¡A¯u¹êªº¦a§}§Î¦¡ÁÙ¬O¦³¤@©w¥X¤J¡A¥D­n¦b©ó«D²M½Xªº³¡¤À¦Ó¤£¬O00 00 00 00 ¤§ÃþªºªÅ¸`¡A´N¥i¯à·|¼W¥[»{ÃѤWªº§xÃø¡A¨ãÅé¹ê½î»Ý­n¤j®a¦Û¤v¥h¿Ë¦Û°Ê¤â­×§ï
  
  ¤@ ¯Â¨ãÅ鼯­ÈÃþ«¬   
     ¹ï¶HÁ|¨Ò¡Gª÷¿ú
     ¦b½Í¨ì¤@­Ó¨ãÅ鼯­Èªº­×§ï¡A§Ú­Ì«Ü®e©öªº´N¯à·Q¨ì¤@­Ó«D±`±`¨£ªº¸ê®Æ¡Aª÷¿ú¡A§Ú­Ì¦b³o¨½´N¥Hª÷¿ú°µ¬°¥Ø¼Ð¡A°µ²Ä¤@­Ó¤ÀªR
   
     ¥H¯q´¼¤OÃþ«¬ªº´åÀ¸ ¡m¤j´I¯Î¤T¡n¬°¨Ò¤l
      
     ªì©l   ª÷¿ú10000     ¦s´Ú 10000
      
     ´M§ä¥H¦Z
     10 27 00 00 10 27 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     §A¬Ý¨ìªºÀ³¸Ó¦³³o»ò¤@­Ó³¡¤À
     ¦nªº¡A¤U­±¶}©l¼g¤W§Ú­nªº¼Æ­È
     ** ** ** ** ** ** ** ** 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     *³¡¤À«Ü²³æ¡A¤]´N¬O§A©Ò»Ý­n­×§ïªº³¡¤À¡A§A¥i¥H¶ñ¤W§A©Ò»Ý­nªº¼Æ­È
     E7 03 00 00 E7 03 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ©ÎªÌ
     DA 34 00 00 DA 34 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ³o´N¬Oª÷¿úªº­×§ï¤F¡A³o¤@¨B«D±`²³æ¡A§Ú­Ì§¹¦¨¤F¥H¦Z¡A¤£¯à°±¯d¦b³o¤@¨B¡AÄ~Äò¡A§Ú­Ì¨Ó°Q½×§ó²`¼h¦¸ªº¤@­Ó°ÝÃD¡A¦b³o¤@¦æ¯u½X¡A§Ú¨ì©³¯à±Nª÷¿úªº¼Æ¶q§ï¨ì¦h¤Ö¡H
      
   ¬OFF FF FF 00 FF FF FF FF 00 00 00 00 00 00 00 00
     ¤T¾F¦ì¦ì¤¸²Õ¼Æ
   ÁÙ¬O¥|¦ì
     FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
   ©ÎªÌ»¡®Ú¥»´N¬O
     FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    ³o­Ó¬O­Ó«Ü²³æªº°ÝÃD
    ¥|¦ìªº¥þº¡
     FF FF FF FF = 4294967295 ¼Æ­È¤W´«ºâ¹L¨Ó´N¬O³o»ò¦h¡A§Ú­Ì¦A¦^ÀY¬Ý¬Ý¥¿±`¨S¦³­×§ï¥N½Xºc¦¨¡A«Ü©úÅã¥|¾F¦ì¤¤E7 03 00 00 E7 03 00 00 ¤¤¶¡¦³¤@­Ó¼Æ¦ì¤@©w¬O¶¡¹j½X¡AªÖ©w¬O¥Î¨Ó°Ï§O¿ú©M¦s´Úªº°_©l³¡¤À¡A¨ãÅé¬O3¦ìÁÙ¬O4¦ì¡Hų©ó´åÀ¸¨½¦³¥¿±`ªº¿ú¼Æ¬O2¦ì¤£¯à¨¬°÷Åã¥Üªº¡A§Ú­Ì¥i¥H½T©w¬O4¦ì¡A©Ò¥H§Ú­Ì¯à¹L²z½×¤Wªº¥¿±`ªº¿ú¼Æ FF FF FF =16777215¡A©Ò¥H³q±`§Ú­Ì¯à¨£¨ìªº¥¿±`ªº´åÀ¸ªº³]©wªº¿úªº³Ì¤j¤]´N¬O10000000
   
    ·íµM¤]¦³«Ü¦h¨Ò¥~
    ¦pªGª÷¿ú³æ¿W¬O¤@­Ó¦a§}
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    ¥þ³¡¥e¥Î¤F²Ä¤@­Ó¥|¦ìªº¸Ü«Ü±`¨£ªº´N¬O 999 999 999 ¬°³Ì°ª¤W­­¼Æ­È¡A³o¨½¥u­n¹ï¤ñ¥|¼Æ¦ì¥þ¥N½X FF FF FF FF ´N¯à©ú¥Õ¡A¨ú¤@­Ó¥¿±`ªººD¥Îªº9§À¼Æ¡A¤]´N±o¥X¤F4294967295 ¸g¹L§Ú­Ìªº¨ú¦ì¼Æªº¸Ü¡A¤]´N¬O999 999 999 ¡A³o´N¬O¤j¦h¼Æ´åÀ¸ª÷¿úªº³Ì°ª¼Æ­Èªº¥Ñ¨Ó¡A³o¨½¹D²z¤j®a¥J²Ó·Q¤@¤U¡AÀ³¸Ó¯à©ú¥Õªº¤F¡C
    ©Ò¥H§Ú­Ì¯à°µªº­×§ï¡A¤]´N¥u¦b¼Æ¦ì¥¿±`ªº±¡ªp¤U­×§ï¨º­Ó³Ì¤j¼Æ­È¡A³o¨½´N«Ü©úÅ㪺¯à°÷·Q¨ì°ÝÃD¡A·í§Ú­Ì­×§ï¥X¤@­Ó¼Æ­È¶W¹L¶¡¹j½X¡A¦b²z½×¤W¥u¯à¦s¦bªº®É­Ô¡A´N·|¦bÅã¥Ü¤W¥X¤F°ÝÃD¡A«Ü±`¨£ªº´N¬O¼Æ­È·¸¥X¤F¨º­Ó¸ê®Æ®Ø¡A³Q¥~­±ªº¤å¦r¡A±`¨£¬O¡G¿ú¡G¦r¡A©ÎªÌ¤@­Ó¶À¦âªº¹Ï¼Ð»\¦í¤F¡AµM¦Z§A¦AÄ~Äò¾ß¿ú¡A«ç»òºâ©O¡H³Ì¦Z´N¬O¦º¾÷¡A´`Àô¿ù»~¡A°O¾ÐÅé³ø¿ù¡CºëÆF¨½­±ªº³oÄÁ²{¶H¤j®aÀ³¸Ó¨£¨ìªº«Ü¦h¡C
   ©ú¥Õ¤F³o¨Ç¡A¨ãÅ鼯­ÈÃþ«¬ªº¡A¤j®aÀ³¸Ó³£¯à©ú¥Õ­×§ïªº°ò¥»¹D²z©Mª`·N¡A¤]´N¬O¦P¤W­z¨S¦³¤Ó¤jªº°Ï§O¡C±`¨£ªº¦³¿ú¡A¤Hª«Åé¤O¼Æ­È¡A¯Å§O¡Aµ¥µ¥¡A¦¹¤£Ácº¾ªº­z»¡¡A½Ð¤j®a¦Û¦æ°Ê¤â¸ÕÅç¡C
  
  ¤G «D¨ãÅé¸ê®Æ¡A«D¯Âª««~Ãþªº­×§ï¡F³s±a­×§ï
   
     ³o¨½¤j®a­º¥ý­n©ú¥Õ¤@­Ó·N«ä¡A«D¨ãÅé¸ê®Æ¡A«D¯Âª««~Ãþªº¸ê®Æ¬O«üªº¤°»ò¡H
   
     Â²³æªº»¡¡A®³´åÀ¸¨ÓÁ|¨Ò¡Aµ´¥NÂùź
     ¨½­±¦³«Ü¦hºØßÓ¤ô¡A±q¯óßÓ¨ì¸Ñ¬rßÓ¡A¨ìÁٻ¡A¨ì¥P¤¦¡A¥»¨­¨ã³Æª««~ªº°ò¥»¥N½Xªº½s¸¹¡A¦P®É¤S¨ã³Æ³æ¶µ¤W¦³¼Æ¶qªº³¡¤À¥N½X¡A§Ú­Ì°²³]²{¦b¥þ³¡ªºßÓ¤ôºØÃþ¤@¦@¬O100ºØ¡A¨º»ò§Ú­Ì¦b¯u§}¡A¬Ý¨ìªº¥þ½X¡A°²³]§A¤@¼Ë³£¦³¤@­Ó¡A¼g¥X¨Ó´N¬O
   
   
     01 01 00 00 02 01 00 00 03 01 00 00 04 01 00 00
     05 01 00 00 06 01 00 00 07 01 00 00 08 01 00 00
     09 01 00 00 0A 01 00 00 0B 01 00 00 0C 01 00 00
     0D 01 00 00 0E 01 00 00 0F 01 00 00 10 01 00 00
     11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
     15 01 00 00 16 01 00 00 17 01 00 00 18 01 00 00
     19 01 00 00 1A 01 00 00 1B 01 00 00 1C 01 00 00
     ¦p¦ó¸ÑŪ³o¬q¥N½X¡H«Ü©úÅ㪺´N¬O01 ¬O¹ïÀ³ªº²Ä¤@ºØ¯óßÓªº¦a§} ¦Z­±ªº01 ªí¥Ü¼Æ¶q¡A02ªí¥Ü²Ä2ºØßÓªº¦WºÙªº¥N½X¡A01¬O²Ä¤GºØßÓªº¼Æ¶q¡A¨Ì¦¹Ãþ±À¡A«Ü©úÅ㪺¡A§Ú­Ì¥i¥H¥H¶R½æªºßÓ¤ôªº¼Æ¶q¨Ó±o¨ì¯u§}ªºÀò¨ú¡A³o´N¬O«D¯Â¸ê®Æª««~Ãþ«¬ªº·N«ä¡A§Ú­Ì´M§ä¦a§}Ãþ¦ü©ó³æ¯Âªº¸ê®Æ«¬¡A¦b¬Ý¥N½X¤W¡A§Ú­Ì´N­nµy·Lª`·N¤U¨ä°Ï§O¡C
      
     °²³]§A¨Ã¨S¦³Àò±o¨ä¤¤«Ü¦hºØÃþªºßÓ¤ô¡A¨º»ò§A¬Ý¨ì´N¬O³oºØ§Î¦¡
     00 00 00 00 02 01 00 00 03 01 00 00 04 01 00 00
     00 00 00 00 06 01 00 00 07 01 00 00 08 01 00 00
     09 01 00 00 0A 01 00 00 00 00 00 00 0C 01 00 00
     0D 01 00 00 00 00 00 00 00 00 00 00 10 01 00 00
     11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
     00 00 00 00 16 01 00 00 00 00 00 00 18 01 00 00
     19 01 00 00 00 00 00 00 1B 01 00 00 1C 01 00 00
  
     ´Ý¯Ê¤F¤@³¡¤À¡A§Ú­Ì¬Ý¨ì³o­Ó®É­Ô¡A´NÀ³·í¶Ü¤WÁp·Q¦Û¤v¨£¹LªºªF¦è¡C¦³¯óßÓ¡A¤j¯óßÓ¡Aµ¥µ¥¡A¦A¬Ý¬Ý³o¬q¥N½Xªº§Î¦¡¡A´Ý¯Êªº³¡¤À«Ü¦h³£«Ü¦³³W«ß¡A¨C¥|¦ì¤@¸`¡A»¡©ú¤F¤°»ò©O¡A³o¨½´N¬O¥þ³¡ªºßÓ¥N½X©Ò¦b¦a¡A§Ú²{¦b»Ý­n°µªº´N¬O§â00 00 00 00 ªº¦a¤è«ö·Ó¶¶§Ç¶ñ¤Wª««~¥N½X¡A´N¥þ³¡¾Ö¦³¤F100ºØª««~¡A«ì´_³¡¤À¦p¤U
     01 01 00 00 02 01 00 00 03 01 00 00 04 01 00 00
     05 01 00 00 06 01 00 00 07 01 00 00 08 01 00 00
     09 01 00 00 0A 01 00 00 0B 01 00 00 0C 01 00 00
     0D 01 00 00 0E 01 00 00 0F 01 00 00 10 01 00 00
     11 01 00 00 12 01 00 00 13 01 00 00 14 01 00 00
     15 01 00 00 16 01 00 00 17 01 00 00 18 01 00 00
     19 01 00 00 1A 01 00 00 1B 01 00 00 1C 01 00 00
     ¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C
     ¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C
     µM¦Z§Ú­Ì©ú¥Õ¤F¥|¦ìµ²ºc´N¬O¦WºÙ¥N½X¡A¼Æ¶q¥N½X¡A¶¡¹j½X¡A¨º»ò¥þ³¡§ï¤W§Ú­Ì·Q­nªº¼Æ¶q¼Æ­È¥H¦Z¡A´NÅܦ¨¦p¤U
      
     01 OF 27 00 02 0F 27 00 03 0F 27 00 04 0F 27 00
     05 0F 27 00 06 0F 27 00 07 0F 27 00 08 0F 27 00
     09 0F 27 00 0A 0F 27 00 0B 0F 27 00 0C 0F 27 00
     0D 0F 27 00 0E 0F 27 00 0F 0F 27 00 10 0F 27 00
     11 0F 27 00 12 0F 27 00 13 0F 27 00 14 0F 27 00
     15 0F 27 00 16 0F 27 00 17 0F 27 00 18 0F 27 00
     19 0F 27 00 1A 0F 27 00 1B 0F 27 00 1C 0F 27 00
     ¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C
     ¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C¡C ¡C¡C
     ³o¼Ë¤@¨Ó¡A§Ú­Ì´N¹ê²{¤F¥þ³¡ªºßÓªº¥þ³¡¾Ö¦³¤Î¼Æ¶q¤Wªº9999¡A¬Ý©ú¥Õ¤F¶Ü¡A³o¨½­×§ïªº¼Æ¶qªº®É­Ô¡A­n°Ñ·Ó²Ä¤@¨Ò¡A¯Â¸ê®ÆÃþ«¬ªº­×§ïªº³¡¤À¡A¦Ó¥B¨Æ¹ê¤W§Ú­Ì³ÌªìªºÀò±o¦a§}ªº®É­Ô¡A¥i¯à´Ý¯Êµ{«×·|§óÄY­«¡A³o¨½´N»Ý­n§A¦³°ª±Ó·Pªº¸ê®Æ·P¨ü¯à¤O©M¦a§}·P¨ü¯à¤O¡A¨Ã¥B¡A§Ú­Ì¦b³o¨½´N¬O³q¹L¤@­Ó¯óßÓªº¼Æ¶q¡A¹ê²{¤F¥þµ{ª««~ªº¥N½XÀòª¾©M­×§ï¡A³o´N¬O³s±a­×§ïªº³Ì²³æªº¤@­Ó¹ê¨Ò¡A³o¨½§Æ±æ¤j®a¤Ï´_¬Ý¡A¤O¨D¬ÝÀ´¡C
¦pªG§A©ú¥Õ¤F³o¤@ÂI¡A±µ¤U¨Ó§Ú­Ì¦b¬Ý¤@­Ó¨Ò¤l¡A¤ñ¸ûÃø¤@ÂI¡A§Úµ¹¤j®aºt¥Üªº¬OCAPCOMªº«_ÀIÃþ«¬ªº´åÀ¸¡ABIO HAZARD 2
   
     §Ú­Ì­n³q¹L¤@­Ó¶}©lªº¤l¼uªº20µo¼Æ¶q¡A¹ê²{¥þµ{¹D¨ã¡AªZ¾¹ªº­×§ï¡C
      
     ¥N½X³¡¤À¦p¤U
   
     ¥Ñ©óªZ¾¹¤è­±¡A«Ü©úÅ㪺ªì¯Åµ¹§AªºªZ¾¹´N¬O¤@§â¤M¡A©Ò¥H«Ü¦ÛµMªºÁp·Q¨ì¥N½X¬O01
³o¦b¯u¹ê¦a§}¤¤¤]½T¹ê¦p¦¹¡A©Ò¥H¡C¶}©l´N»Ý­n¤j®a¦³¤@­Ó¤ñ¸û²M·¡ªº­×§ïªº«ä·Q©M²q´ú¡AµM¦Z§Ú­Ì¦b¶}ºj¼Ò¦¡¤U 20/19/18/17/10 OK
     ¥N½X¥X¨Ó¡A¥h±¼°²§}
     ¶i¤J¯u§}
     §A´N·|¬Ý¨ì¦p¤U§Î¦¡
   
     00 00 00 00 02 0A 01 00 16 01 00 00 3C 63 01 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ³o¬O¥N½X³¡¤À¡A¨­¤W¸Ë³Æ¬°¤âºj ¤@§â ¤l¼u 10µo  ¯óßÓ¤@­Ó  99µo¤l¼u¦X¤@­Ó
   
     ¹ï·Ó¤W­z¥N½X¡A§Ú­Ì´Nª¾¹D¡C02 ¬O¤âºj OA ¬O³Ñ§E¼Æ¶q 16  ¦Z­±ªº01 ¤@³»¬Oªí¥Üºj¦s¦b¨­¤W¡A¬O¤@§â¡A¤]´N¬Oª««~¦s¦b½X 00 ¶¡¹j 16´N¤@©w¬O¯óßÓ 01 ¬O¤@­Ó¡C¥Ñ©ó¯óßÓ¬O¦Yªº¡A©Ò¥H¨ä¦Z¤£·|¦³¦s¦b½X¡A·íµM§A¤]¥i¥H¸ÕµÛ¼g¤W¡A¨Ã¤£¼vÅT¡A¨t²Î·|¦Û°ÊÀ°§A®ø¥¢±¼¡A3C´N¬O¤@©w¬Oª««~Äݩʤ¤¡Aªí¥Ü¤l¼u¦Xªº¥N½X¤F 63 ==99¨S¦³¿ù¡A¥¿½T ¡A01 ¦s¦b½X¡A´N³o¼Ë«Ü²M·¡ªº´N¤ÀªR¤F¥X¨Ó¡A²{¦b§Ú­Ì­n§ï±¼ª««~¹D¨ã¡A«Ü²³æ¡Aµ{§Ç¤@¯ë¬Ûªñªºª««~¦b¤@°_¡A¨º»ò03¥i¯à¬O¤jºj 04 ¥i¯à¬O¨R¾Wºj¡A17¥i¯à¬O¤¤ßÓ 18 ¥i¯à¬O¤jßÓ 3D´N¬O¤U¤@­Ó¹D¨ã¡A´N³o¼Ë¨Ì¦¹Ãþ±À´N¥i¥H°µ¨ì¥þµ{ª««~ªº¥N½X­×§ï¡A«ö·Ó¨ä¼Ð·Ç¦s¦b®æ¦¡¡A¦Û¤v©¹¤W­±¼g´N¬O¤F¡A¦ý­nª`·N¡A§Aªº¨­¤W¯à¸Ë´X­Ó¡A´N§ï´X­Ó¡AÃþ¦ü©óª÷¿úªº·¸¥X°ÝÃD¡AÁÙ¦³­nª`·N¤@ÂI¡A­­©ó¤@­Ó´åÀ¸ªº¶}µo¤H­ûªº²ßºD¡A¦³«Ü¦hªF¦è¦bªì´Á³]­p¤W¡A¦s¦b¡A¦ý¬O¦b¥¿¦¡µo¦æ¥H¦Z¡A¥i¯à´N¤£­n¤F¡A¦ý¬Oµ{§Ç­û¬°¤F»°®É¶¡¡A¨S¦³¹ý©³§R°£±¼¡A°µ¤F­Ó«Ì½ª¡A¥»¨­¤]¦³½s¸¹¡A§¨¦b¥¿±`ª««~¤¤¶¡¡A©Ò¥H§A¦b­×§ïªº®É­Ô¡A¸Ë³Æ¡A¹D¨ã¥i¯à´N¤£¬O³sÄò¥X²{¡A¦Ó¬O¥X²{¤@­Ó©U§£½Xªº¸Ë³Æ¡A§A¥i¥H¸Õ¸Õ¡A¥Í¤Æ¦M¾÷3ªºª««~¦b2¥N¨½­±´N¤w¸g¨£¨ì¤F¡A¦¹ÂIª`·N¤@¤U´N¥i¥H¤F¡C­×§ïªº®É­Ô¤£­n¥H¬°¬O¦Û¤vªº¿ù»~¡A¤]¦³¥i¯à¬O´åÀ¸¨½¨S¦³¶}©ñªºªF¦è¡A²z¸Ñ¤F³oÂI¡A¦A¥h²z¸ÑºëÆFªº­×§ï¹Lµ{ªº°ÝÃD´N«Ü®e©ö¤F¡C
      
   ¤T ¤Hª«Äݩʪº­×§ï
     ²×©ó¨ì¤F³o³¡¤À¤F¡A¦pªG¤j®a¹ï©ó¤W­±©ÒÁ¿ªº²z¸Ñ«Ü³z¹ý¡A¨º»ò³o¨½¡A§A¥u­n¬Ý¬Ý¡A´N¹ý©³©ú¥Õ¤F¡A¥]¬AºëÆF¡A½Ð¦Û¤vÁp·Q¡C
     ³s±a­×§ï¥i¥H¬OßÓ¤ô¡A¥i¥H¬O¬Û¦Pªº¸Ë³Æ¡A¤]¤@©w¥i¥H¬O¤Hª«ªºÄݩʡA«Ü²³æ¡mÅ]©_¹Ú¤Û¹Î¶Ç©_¡n¤Hª«§@¤ñ¤è
      
      µ¥¯Å 01
      HP 100
      MP 100
      ¦^¦X¼Æ 3
      ±a§L 20
      ªZ¾¹ ¤p¤M
      °ê®aÄÝ©Ê ¯S¨½´µ¶®
      ¶¤¥îÄÝ©Ê ¼Ä­x
      §ðÀ»  3
      ¸gÅç 20
      ª÷¿ú 50
      
      ³o´N«D±`²³æ¤F
      
      01 01 00 00 64 00 00 00 64 00 00 00 03 00 00 00
      14 00 00 00 01 00 00 00 0A 00 00 00 02 00 00 00
      03 00 00 00 14 00 00 00 32 00 00 00 00 00 00 00
      ¤wÅܤƪº¸gÅç¼Æ­È§ä¨ì³o¨½¡AµM¦Z­×§ï
   
      01 01 ¡H ¤@©w¬O¤Hª« ¦WºÙ ¥N½X µ¥¯Å  02 01 ´N¬O¤k¥D¨¤ ¤@¯Å
      64 00 00 00  64 00 00 00 ¨â­Ó100ªº¼Æ­È
      03 ¦^¦X¼Æ¶q 14 ±a§L¶q 01 ´N¬O¤p¤M¨º
      0A °ê®aªº¦WºÙ¡A§A´«­Ó0B¬Ý¬Ý´NÅܦ¨¤FÁ{ªñªº°ê®aªº¦WºÙ
      02 ¼Ä­x ¡A«Ü²³æªºÁp·Q   01 ¬O¤£¬O¤Í­x©O¡H
      03     14        32       ´N¬O³Ñ¤Uªº¤T¶µ¤F
      ¨þ¨þ¡A¥þ³¡³£§ï±¼§a¡I
     «Ü²³æ¶Ü~¡H  ´N³o¼Ë¡H§ÚÁÙ­n»¡ÂI¤°»ò©O¡H¦Û¤v¥h¸Õ­×§ïºëÆF§a¡I
      
     §Ú¼g¤W±`¨£ªº´X¤j¸ê®ÆÃþ«¬¡A¤j®a°Ñ¦Ò¤§¡C
      
     ¤@ §¨½XÃþ«¬
        DE CA D3 B6 00 02 00 00 D1 A3 A3 A3 DE FA FE D2
        D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
        F6 5A 8D 8D 00 02 00 00 8A 9D 21 41 3A 3C D2 F2
      
     ¤G ²Mª©Ãþ«¬
        10 27 00 00 10 27 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      
     ¤T µL¶¡¹j½XÃþ«¬¡]»P°²§}«ÜÃþ¦ü¡A¦ý§t¦³¯u§}¸ê®Æ¡^
        ** ** ** ** A7 D8 E9 FF D1 A3 A3 A3 DE FA FE D2
        D6 F7 F2 F8 FA 32 21 2F 2D 3E 4E 2D 6A 4E 5F 3A
        F6 5A 8D 8D 6E 7D 6E 7E 8A 9D 21 41 3A 3C D2 F2
        
        ** ** ** ** ³¡¤À¬O±`¨£ªº¸ê®Æ©Ò¦b¦a§}
     ¥| Áa¦V½XÃþ«¬
        31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        3E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
        5D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ¤­ ´«¦æ½XÃþ«¬
        01 01 00 00 01 01 00 00 01 01 00 00 01 01 00 00
        00 01 01 00 00 01 01 00 00 01 01 00 00 01 01 00
        00 00 01 01 00 00 01 01 00 00 01 01 00 00 01 01
        01 00 00 01 01 00 00 01 01 00 00 01 01 00 00 01
        00 01 00 00 01 01 00 00 01 01 00 00 01 01 00 00
        00 00 01 00 00 01 01 00 00 01 01 00 00 01 01 00
        (³o­Ó¨£©óÅÊ·R´åÀ¸¡A¤H°¸±¡½t¨½ªº¦a§}¤§¤@¡^
     ¤» Ãè¶H¦a§}
        ¤]´N¬O¥þ³¡»Ý­n§A¤@°_¤â°Ê­×§ï
         
        ¤j·§´N³o»ò¨Ç¤F
        
       §Æ±æ¤j®a­@µÛ©Ê¤l¬Ý§¹¡A¨Ã¦n¦nªº·Q·Q³o³¡¤Àªº·N«ä¡C
    ¥|  ³Ì¦Z½g  ¼Ò½k·j´M
      ¦pªG§Ú­Ì¹ï¤@­Ó´åÀ¸¨½ªº¸ê®Æ¨Ã¤£¤j²M·¡¡A´«¥y¸Ü»¡¡A´N¬O¤£¬O¤@­Ó¨ãÅ鼯­È¡A¦Ó¬O¤@­Ó·P©Êªº»{ÃÑ¡A´åÀ¸¬O¦³¦a§}ªº¡A¦ý¬O§Ú­Ì±`³Wªº§ä¤£¨ì¡A¤ñ¦p¡A¦å±ø¤S­°¤F¤@ÂI¡A¦n·P«×¤S¤Wª@¤F¤@ÂI¡Aµ¥µ¥¡A§Ú­Ì´N¦b­×§ï¾¹¨½¼g¤U¡HµM¦ZÅܤƪº®É­Ô¡C¼Ò½kªº¤Wª@+ ¼Ò½kªº´î¤Ö-³o¼Ë¤Ï´_ªº·j´M¡A³Ì¦Z¨ÌÂÂ¥i¥H§ä¨ì¦b´åÀ¸¤¤¥H¸ê®Æ§Î¦¡ªº¤è¦¡¦s©ñªº¦a§}¡A§ä¨ì¤F¥H¦Z¡A¨ÌÂÂ¥i¥H­×§ï¡A¤j¦P¤p²§¡A³o¨½¡A¤j®a¥i¥H¸ÕÅç¤@¤U¡A­×§ï¤@¤U¹q¸£¤WªºKOF97ªº1P ©M 2P ªºÅé¤O¼Æ­È¡A¸Õ¸Õ¬Ý¡I
  
  
   ¹ê»Úªº­×§ïÁÙ¦³«Ü¦h«Ü¦hªºªF¦è­n¾Ç²ß¡A¨Ã¤£¬O³o¨½¤@¥y¨â¥y´N»¡ªº²M·¡¡A§Æ±æ¤j®a¦b¤£Â_ªº­×§ï¸ÕÅ礤¡A²z¸Ñ§Ú»¡ªº¡A¤£Â_³Ð·s¡A¦¨¬°­×§ïªº°ª¤â¡A±M®a¡A¯«¡C
¥ÎFPE-¾Ç·|¥Î¯BÂI­×§ïªk-¾Ç·|¥Î¤G¶i¨î¤ÀªR­×§ï´åÀ¸-¥©¥ÎFPEªº¨ê·s-¯S®í¦sÀÉ
¥©¥ÎFPE  
¥ÎFPE§ï´åÀ¸¡A¤@©w­n°µ¨ì¬J¬½¤S·Ç¡C
¤ñ¦p¥ÎFPE§ï´åÀ¸¡A§Aª¾¹D¦³¨â­Ó¼Æ­ÈªÖ©w¦b¤@°_¡A¶H42¡A215¡A¨º»ò¥i¥ÎFPE¶i¦æ¤@¦¸·j¯Á¡A¿é¤J¡§42¡A215¡¨¡]­Y¬O16¶i¨î½Ð¦b¼Æ¦Z­±¥[­ÓH¡^¡A³o¼Ë¤@¦¸§ä¨ìªº¾÷²v«Ü¤j¡C
¤@¨Ç´åÀ¸¦b¹B¦æ®É±N¤@¨Ç¥D­n¼Æ­È´«¤F­Ó¤èªk¦s¡A¥ÎFPEª½±µ§ä¤£¨ì¡A«ç»ò¿ì©O¡C¨º»ò­nÂàÂàÅs¡A¤ñ¦p¤j®a³ß·Rªº¨¬²y¸g²z¡A¥Î¥ô¦ó¤èªk³£§ä¤£¨ìª÷¿úªº¦a§}¡A´N³o¼Ë©ñ±ó¤F¡HNO¡A°Ê°Ê¸£µ¬¡A¶i¤J«Ø³]¥\¯àªí¡A¬Ý¨£³y¬Ý¥x©Ò»Ýªº¶O¥Î¤F¶Ü¡A³o¨½´N¬O¬ð¯}¤f¡AFPE¤£¶O¤O´Nµo²{¤F¥Ø¼Ð¡A¤U­±»ò¡A±N¨ä§ï¬°­t¼Æ¡AÄ´¦p­ì¼Æ¬°E4 07 00 00¡A´N±N³Ì°ª¦ì¥[­ÓF¡A¬°E4 07 00 F0¡A´Nµo²{­t¼Æ¤@¤jµ§¡A«ö½T©w´Nµo°]¤F¡I
¡§«Ò°ê®É¥N¡¨¤j®a³£ª±¹L¡A·í§A³y¤F©_¸ñ¦Z¡A¦³2000¦~ªº­Ë°O®É¡A§Aªº²Ä¤@¦L¶H¬O·j¯Á2000¡H¨º»ò¡A¿ù¡I¨S¬Ý¨£¥¦¬O¦¨50»¼´îªº¶Ü¡A©Ò¥H¡AÀ³¸Ó·j¯Á2000/50=40¡AµM¦Z´î1´î1¦a·j¯Á¡]­n¤£´N¬O2000/10=200¡A´î5¶i¦æ·j¯Á¡A³oªFªF§ï¤F¨S¹ê¥Î»ù­È¡A¥u¤£¹LÁ|­Ó¨Ò¤l½}¤F¡^¡C¦Ó¦³¨Ç«h¬O­n¥[¤W¦ì¼Æ¡A¦pÅã¥Ü200¡A«o­n·j¯Á2000¡AÅܤƦh¼Ë¡A¤j®a¦Û¤vºCºCªºÅé·|§a¡I
FPEªº­×§ï°O¾ÐÅé¥\¯à«Ü¦³¥Î¡A¦h¥Î¥Î¥¦¡A¬Ý¬Ý§ä¥Xªº¦a§}©P³òªº¼Æ¡A»¡¤£©w¦³Åå³ß©O¡C¤Ï¥¿§Ú±q¤£¥Î¤°»ò°O¾ÐÅéÂê©w¡A¤@¯ë³£¥Î°O¾ÐÅé½s¿è¡CµM¦Z¬Ý¤W¤U¼Æ¡A¹ï©ó´¶³q´åÀ¸¡AÀ³¸Ó¤£¸Õ´N¬Ý¥X³o­Ó¦sªº¬O¤°»ò¼Æ­È¡A¦Ó¨º¨½À³¸Ó¬O¦s©ñÅ]ªkªº¦a§}¡A©Î³o­Ó¦a§}ªÖ©w¤£¬O§Ú ©Ò­nªº¡K¡K¦pªG§AÁÙ¥¼¹F¨ì¬Ý¬Ý´Nª¾ªº¦a¨B¡A¨º»ò§Ö½m½m§a¡A¥H¦Z¥i¬Ù³\¦h®É¶¡©O¡C
¤@®É·Q¤£¥X¤F¡A¤U¦¸¦³¦A»¡§a¡C

¡@ ¾Ç·|¥Î¯BÂI­×§ïªk

³o­Ó´åÀ¸¬O¨Ï¥Î¯BÂI¼Æ¨Ó¦s©ñªº¡A¦b³o¨½§Ú»¡©ú¤@¤U¦p¦ó¥H FPE 2000­×§ï¥L­Ì¡CFPE 2000 ¥i¥Hª½±µ¤ÀªR¯BÂI¼Æ¡A¥u­n ª½±µ¿é¤J´N¦n¤F¡A¨Ò¦p "100.0"¡C
©Î³\§A·|°Ý: TA ©Î AoE ªº¸ê·½¶q¦bµe­±¤WÅã¥Ü¥u¦³¾ã¼Æ³¡¤À©O? ¬Oªº¡A¥L­ÌÁôÂäF¤p¼Æ³¡¤Àªº¼Æ­È¡A¦pªGµe­±¤WÅã¥Üªº¬O "1000"¡A¦]¬°¥¦ÁôÂäF¤p¼Æªº³¡ ¤À¡A­Y§Aª½±µ¦b FPE 2000 ¥H "1000" ©Î "1000.0" ¥h¤ÀªR¥L¡A¥i¯à¬O§ä¤£¨ìªº¡C¨º§Ú­Ì­n«ç»ò¿ì©O? ¨ä¹êµ{¦¡³]­p®vÁÙ¬O¤ñ¸û³ßÅw¾ã¼Æªº¡A¨Ò¦p§Ú­Ì­è­è¶i¤J´åÀ¸®É¡ATA ©Î AoE ªº¸ê·½³£¦³­Óªì©l­È¡A¨Ò¦p "400"¡C³o®É­Ô³o­Ó­È«Ü¥i¯à ´N¬O 400.0¡A¤@­Ó¹A¤Ò¯à°÷±Äªº¸ê·½³Ì¤j¶q¬O 10¡A¤]«Ü¥i¯à¬O 10.0¡C¦pªG§A¬£­Ó¹A¤Ò¥h±Ä¸ê·½¡A¤@ª½¨ì¥L±Ä§¹ 10 ·h¦^°ò¦a«e¤£­n°µ¥ô¦ó¨ä¥Lªº¨Æ¡A¤@·h ¦^°ò¦a°¨¤W°±¤î¹A¤Òªº°Ê§@¡C³o®É§A¾ãªº¸ê·½¶qÅܦ¨ 410¡A«Ü¥i¯à´N¬O 410.0¡C¨Ì·Ó³o­Ó­ì«h¡A¤@¶}©l§Ú­Ì¤ÀªR "400.0"¡A¬£¹A¤Ò±Äº¡ 10¡A·h¦^°ò¦a«e¤£­n°µ ¥ô¦ó¨ä¥Lªº¨Æ¡A¤@·h¦^°ò¦a°¨¤W°±¤î¹A¤Òªº°Ê§@¡A¤ÀªR "410.0"¡C¨Ì¦¹Ãþ±À¡A´N¤j·§¥i¥H§ä¨ì¥Ø¼Ð¤F¡C§Ú­Ì³o­Ó­ì«h¬O²q·Qµ{¦¡³]­p®v·|¹ï¨C¤@­Óªì©l­È¤Î³Ì¤j ­È¥H ***.0 ªº¤è¦¡©w¸q(¤@¯ë¤Hªº²ß©Ê¹À)¡C¦ý¬O¦pªG§A¦b¹A¤Ò·h¦^°ò¦a«e°µ¨ä¥L®ø¯Ó¸ê·½ªº¨Æ©Î¬O¦b¹A¤Ò¨S¦³±Äº¡ 10 ´N·h¦^°ò¦a¡A¨º¥i¯à´N·|¦³¤p¼ÆÂI«áªº ¼Æ¥X²{¤F¡A¨º´N¤£¯à«Ü·Ç½Tªº¤ÀªR¤F¡C¥H«e¦³ºô¤Í»¡ 100.0 ¨ì 100.9 ªºÂ½¦¨¥|­Ó¤Q¤»¶i¦ì bytes ®É¡A«e¨â­Ó bytes ·|¤@¼Ë¡C¨ä¹ê³o¤£¥¿½T¡A®Ú¾Ú´ú¸Õ¡A¦³¨Ç¯BÂI¼Æ(¦p120.4©M120.5)¥u¦³²Ä¤@­Ó byte ·|¤@¼Ë¦Ó¤w. ¦Ó¥B³o­Ó byte «ÜÃøÅܰʡA¥²¶·¾ã­Ó¯BÂI¼Æ¦³«Ü¤jªºÅܰʤ~·|ÅÜ¡C©Ò¥H¤ñ¸û¦nªº¤ÀªR¤èªk¦p¦P­è­è»¡ªº¤~·|¤ñ¸û¥¿½T¡CFPE 2000 ¤] ¥i¥H§â¯BÂI¼ÆÂà´«¬°¤Q¤»¶i¦ì¼Æ¡A¦b "Others" ¥ª¤U¤è¨º¨â­Ó¤¤¶¡¦³­Ó "Hex"«ö¶sªºÄæ¦ì¡A§A¥u­n¦b¤W­±Äæ¦ì¿é¤J¯BÂI¼Æ¡A¤U­±·|¥X²{¤Q¤»¶i¦ì­È¡A§A¥i¥H¦Û¦æ¸Õ¸Õ¡C
¤]³\¦³ªºªB¤Í¬Ý¨ì¼ÐÃD®ÉºN¤£¨ìÀY¸£¡A¨º»ò±æ¤U¬Ý§a¡C¡]¶È¾A¦XFPE5.x¡^
§Ú§ïª÷¦â¨B¦æ³¾®É¡A¦n¤£®e©ö¥Î¦W¦r§ä¥X¨B¦æ³¾¦a§}ªº¤j·§¦ì¸m®É¡A«o¬Ý¨£º¡«Ì­¯¥Íªº¸ê®Æ¦ÓµL±q¤U¤â¡C¯í¯íªº¸ê®Æ¤¤¡A­þ­Ó¬O­n®`¦ì¤¸²Õ©O¡H­n§ä¨B¦æ³¾ªº¤°»ò³t«×¡B­@¤O¤§Ãþªº¡A´åÀ¸¤¤¤S¨S¦³¨ãÅé¸ê®Æ¡A°ª¶¥¤ÀªRµL±q¤U¤â¡C¥Î§C¶¥¤ÀªR¡H¨º¥i¬O¥»¤H³Ì§Ò¿Ðªº¡C
¤s½a¤ôºÉ·Q©ñ±ó®É¡A²´·ú¤@«G¡AOK¡A¥BÅ¥§ÚºCºC¹D¨Ó¡C§ä¨ì¨B¦æ³¾¦W¦rªº¦a§}¦Z¡A«öEÁä¶i¤J°O¾ÐÅé½s¿è¡A¤£«ö¥ô¦óÁä¡A¤Á¦^´åÀ¸¤¤¡Cµ¹¨B¦æ³¾³Þ­¹¡A¨Ï¥¦¬Y¤@¶µ¯à¤O¼Wªø¡A¤Á¨ìFPE¡A«ç»òÁÙ¬O¤W¦¸ªº¸ê®Æ¡A¨º»ò«öESCÁä¡A®¦¡A¦³´X­Ó¸ê®Æ¦b°Ê°Ú¡]§ïÅܤF¡^¡A¨S¬Ý²M¡H¨º»ò¦A·Ó¤W­±ªº¤èªk¨Ó¤@Ãä§a¡Iµo²{§ï°Êªº¸ê®Æ¤F¶Ü¡A¤ÀªR¨ä¤W¤Uªº­È¡A«ç»ò¼Ë¡A¦³´X¦æ¬O«Ü¦³³W«ßªº¡A¹ï°Õ¡A¨º´N¬O¨B¦æ³¾ªº¸ê®Æ¤F¡C
¨SÅ¥À´¡H¦Û¤v¹ê½î¤@¤U§a¡A³o­Ó¤èªk¥i¬O«Ü¦³¥Îªº³á¡I
¾Ç·|¥Î¤G¶i¨î¤ÀªR­×§ï´åÀ¸

¤£¤Ö´åÀ¸¤¤³£¦³¤°»ò½Ñ¦p¤Hª«ªº¯S®í¯à¤O¡A¤ñ¦pDIABLO¡C¨º»ò¥¦ªºÅ]ªk¬O¦p¦ó¦s©ñªº©O¡A¨C­ÓÅ]ªk¥Î¤@­Ó¦ì¤¸²Õ¡A00¥NªíµL¡A01¥Nªí¦³¡H¨º¤]¤Ó®ö¶O¤F§a¡A¤@¯ë¨Ó»¡µ{§Ç­û³£·R¥Î¤G¶i¨î¨Ó¦s©ñ¦U¶µ¯à¤O¡A¤j®aª¾¹D¡A¤@­Ó¦ì¤¸²Õ¦³8¦ì¡]¦pFFh¤Æ¬°¤G¶i¨î¬O11111111¡^¡A´åÀ¸¤¤ªº¯à¤O´N¬O¥e¤F¤@¦ì¡]bit¡^¡A0¥NªíµL¡A1¥Nªí¦³¡C¦pªG¬Y¤@´åÀ¸ªº¯à¤O±Æ©ñ¬°00000011¡A¨º»ò¦b°O¾ÐÅé¡]µwºÐ¡^¤¤¦s©ñ´N¬O03h¡AÅãµM¥Î¤G¶i¨î¯à¦³®Ä¦a´î¤Ö¦sÀxªÅ¶¡¡C
¥Ñ¤W­±¬Ý¨Ó¡Aª½±µ·j¯Á¯à¤Oªº¦a§}¬O¤£©ú´¼ªº¡A¤@¯ë§Ú­Ì­×§ï³£§ä¥X³o­Ó¤Hª«¡]©Î¨ä¥L¤°»òªFªF¡^ªº¸ê®Æ©Ò¦b¦a¡AµM¦Z§ä¨ì¯à¤Oªº¨ãÅé¦a§}¡A±N¨ä§ï¬°FFh¡A¤@¯ë´N¥i¾Ö¦³¥þ³¡ªº¯à¤O¡C
¤U­±§Ú¥H¦­´Áªº¾Ô²¤´åÀ¸¸g¨å¡§«Hªø¤§³¥±æ¡X¡X¤Ñµ¾°O¡¨¬°¨Ò¨Ó¤ÀªR¡]·í¦~ÁÙ¨S¦³FPE4©M5¡A¥Î¨ä¥Lªº°O¾ÐÅé­×§ï¤u¨ã·|¦º¾÷¡A¥u±o¥ÎPCTOOLS¡^¡C°O±o·í¦~§Ú­×§ïªº®É­Ô¡A®tÂI·Q¯}¸£³U¡C¤Ñµ¾°O¤¤­Ó¦U¤Hª«³£¦³¡§´¼¤O/´¼¤~¡B¬Fªv/¬F¤~¡B¾Ô¤æ/¾Ô¤~¡¨¤T¶µ¯à¤O¡A§Aª½±µ§ä´¼¤O©Î§ä´¼¤~¡A³£¬O§ä¤£¨ìªº¡C¦Ó§Ú©ä¤F­ÓÅs¡A´M§ä¥Lªº³Ô¥\¡AµM¦Z¤W¤U¤ÀªR¡A¤~±o¥Xµ²ªG¡C­ì¨Ó¥Lªº´¼¤O¬O«ö´¼¤~ªº¦Ê¤À¤ñ¦s©ñ¡A¦Ó´¼¤~¬O±N´åÀ¸¤¤ªº¸ê®Æ°£¥H2¦s©ñ¡A©Ç¤£±o§ä¤£¨ì­ù¡]¥úºa³o­Ó²V³J¡^¡I¤ô¨ì´ë¦¨¡A­×§ï¨ä¥¦½Ñ¦p§L¤O¡A°V½m¡K¡K´N¬O²³æªº¨Æ¤F¡C
§ä¨ì¤F¤Hª«ªº¯S§Þ©M±a§L¯à¤O¦Z¡A«ö²ßºD³£§ï¬°FF¡A¯S§Þ¨ì¬OPASS¤F¡A¦ý±a§L¯à¤O«o¤£¹ï¡A«ç»ò³£Åܤ@­Ó­ÓªºO O O O¤F¡]À³¬OS¡BA¡BB¡BC¡BD¡^¡A«ä¦Ò¨}¤[¡A¥Ñ©ó¯à¤O¦³6¯Å¡A¬G¤@¦ì¬O©ñ¤£¤Uªº¡C¨â¦ì¡H¨â¦ì¥u¦³00¡B01¡B10¡B11¥|¯Å°Ú¡A©ñ¤£¤U6­Ó¯Å§O¡A¨º»ò¥u¦³3¦ì¤F¡A¥i±q¨Ó¨S¦³¤@­Ó´åÀ¸¥Î¤F3¦ì¦s©ñªº¡A­n»ò4¦ì¡A­n»ò2¦ì¡A¦A»¡¦@¦³¡§³°¡BÃM¡Bºj¡B¤ô¡¨¥|­Ó¡A4x3¦@12¦ì¡A¤£¨¬2­Ó¦ì¤¸²Õ16¦ì¡A¦Ó¥B3¦ì¯à©ñ8¯Åªº¯à¤O¡AÃø¹D¨£°­¤F¡H¤S«ä¦Ò´½¤[¨Ã¸Õ¥X½T¬O¥u¦³¨â­Ó¦ì¤¸²Õ¡A¤z¯Ü¡A½ä¤@§â¡C000¥NªíE¯Å¡A001¥NªíD¯Å¡A010¥NªíC¯Å¡A011¥NªíB¯Å¡A100¥NªíA¯Å¡A101¥NªíS¯Å¡A¤@­Ó¦ì¤¸²Õ¦s2­Ó¯à¤O¡AOK¡A§â2­Ó¦ì¤¸²Õ§ï¬°2Dh¡A2Dh¡]00101101¡^¡A¶i¤J´åÀ¸¡A¤£¹ï¡A«ç»ò¡§X¡¨³£¥X¨Ó¤F¡C¤Ï¦^¨Ó¦A§ï¡A§ï¬°6D FB¡]01101101 11111011¡^¡A®@¡]Åw©I¡^¡A¹ï°Õ¡A¥þ¬OS¯Å¹Æ¡AÁÙ¦³ÅKÃM©O¡I
«ç»ò¼Ë¡A°÷Á}Ãø§a¡A§O¬Ý²{¦b»¡»¡Â²³æ¡A¦b¤£ª¾¹Dªº±¡ªp¤U­n·Q¥X¨Ó¬O«ÜÃøªº¡C¦Ó³o¡A¤]¬O­×§ï´åÀ¸¼Ö½ìªº©Ò¦b¤§¤@¡C§Æ±æ¬Ý¤F¤W­±ªº¤ÀªR¡A¯àµ¹§A¦³©Ò¦¬Àò¡]ºÉºÞ¥H¦Z¥i¯à¥Î¤£¨ì¡^¡C
¥©¥ÎFPEªº¨ê·s

¤]³\¦³ªºªB¤Í¬Ý¨ì¼ÐÃD®ÉºN¤£¨ìÀY¸£¡A¨º»ò±æ¤U¬Ý§a¡C¡]¶È¾A¦XFPE5.x¡^
§Ú§ïª÷¦â¨B¦æ³¾®É¡A¦n¤£®e©ö¥Î¦W¦r§ä¥X¨B¦æ³¾¦a§}ªº¤j·§¦ì¸m®É¡A«o¬Ý¨£º¡«Ì­¯¥Íªº¸ê®Æ¦ÓµL±q¤U¤â¡C¯í¯íªº¸ê®Æ¤¤¡A­þ­Ó¬O­n®`¦ì¤¸²Õ©O¡H­n§ä¨B¦æ³¾ªº¤°»ò³t«×¡B­@¤O¤§Ãþªº¡A´åÀ¸¤¤¤S¨S¦³¨ãÅé¸ê®Æ¡A°ª¶¥¤ÀªRµL±q¤U¤â¡C¥Î§C¶¥¤ÀªR¡H¨º¥i¬O¥»¤H³Ì§Ò¿Ðªº¡C
¤s½a¤ôºÉ·Q©ñ±ó®É¡A²´·ú¤@«G¡AOK¡A¥BÅ¥§ÚºCºC¹D¨Ó¡C§ä¨ì¨B¦æ³¾¦W¦rªº¦a§}¦Z¡A«öEÁä¶i¤J°O¾ÐÅé½s¿è¡A¤£«ö¥ô¦óÁä¡A¤Á¦^´åÀ¸¤¤¡Cµ¹¨B¦æ³¾³Þ­¹¡A¨Ï¥¦¬Y¤@¶µ¯à¤O¼Wªø¡A¤Á¨ìFPE¡A«ç»òÁÙ¬O¤W¦¸ªº¸ê®Æ¡A¨º»ò«öESCÁä¡A®¦¡A¦³´X­Ó¸ê®Æ¦b°Ê°Ú¡]§ïÅܤF¡^¡A¨S¬Ý²M¡H¨º»ò¦A·Ó¤W­±ªº¤èªk¨Ó¤@Ãä§a¡Iµo²{§ï°Êªº¸ê®Æ¤F¶Ü¡A¤ÀªR¨ä¤W¤Uªº­È¡A«ç»ò¼Ë¡A¦³´X¦æ¬O«Ü¦³³W«ßªº¡A¹ï°Õ¡A¨º´N¬O¨B¦æ³¾ªº¸ê®Æ¤F¡C
¨SÅ¥À´¡H¦Û¤v¹ê½î¤@¤U§a¡A³o­Ó¤èªk¥i¬O«Ü¦³¥Îªº³á¡I
¡@
¯S®í¦sÀÉ

   FPE2000¤@­Ó«Ü¦nªº¥\¯à¬O¯à§â§A¤w¸g­×§ï¦nªºªF¦è¦s¤U¨Ó¡A¤U¦¸§A¦A¥´¶}´åÀ¸®É¥i­«·s½Õ¤J¡A³o­Ó¦s½L¤å¥óªº¦Zºó¦W´N¬OFPE¡C¤èªk«Ü²³æ¡A¥u­n«öCTRL-2¨ìªí®æ³B¡A«öLOAD¡]ŪÀÉ¡^¡A¿ï¾Ü·Q­nªºFPE¤å¥ó¦W§Y¥i¡CFPE2000·|¦Û°Ê§â¨º¨Ç¦a§}Âê©w¡C¤£¹L­nª`·N¡A¦s½Lªº¤å¥ó¦W¤£¯à¬°¤¤¤å¦W¡C¥t¥~¡AÅwªï¤j®a§â¦Û¤v­×§ï¤Fªº´åÀ¸°µ¦¨FPE¦sÀÉ¡A®³¥X¨Ó©M¤j®a¤À¨É¡C


[size=5][color=#ff0000]±q´åÀ¸¤¤±o¨ì°ÊºA°O¾ÐÅé¸ê®Æ
[/color][/size]¤u¨ã¡G
SoftICE°ÊºA½Õ¸Õµ{§Ç¡A´åÀ¸­×§ï¤u¨ã¡]ª÷¤s´å«L¡^¡A¤Ï¶×½s¡]W32Dasm¡^¡AHex Workshop
------------------------------------------------------------------------------
¤@¡B§ä¨ì°O¾ÐÅ餤©Z§JX§¤¼Ð
¡@¡@1¡B¥Îª÷¤s´å«L·j¯Á¡A¤èªk¦p¤U¡]ª÷¤s´å«Lªº¨Ï¥Î§Ú´N¤£»¡¤F¡^
¡@¡@¡@¡@§â©Z§J©¹¥ª²¾°Ê¤@¨Ç¡A´N·j¯Á¡§´î¤Ö¡¨¡F©Z§J©¹¥k²¾°Ê¡A´N·j¯Á¡§¼W¤j¡¨
¡@¡@¡@¡@¤Ï´_·j¯Á±N·|§ä¨ì¤@­Ó¦a§}¡]·íµM¨ä¥L´åÀ¸¥i¯à¤£¤î¤@­Ó¡^¡A³o¨½¬O08BFAACC
¡@¡@¡@¡@ª`¡G°ÊºAªº°O¾ÐÅé¤À°t´N¬O¤U¦¸§A¦pªG¦A¦¸·j¯Á¡A¦a§}±N¤£¦A¬O08BFAACC
¡@¡@2¡B§ä¨ì¨º±ø¥N½X­×§ï¤F³o­Ó¸ê®Æ¡]X§¤¼Ð¡^
¡@¡@¡@¡@¥[¸ü SoftIce
¡@¡@¡@¡@¦b´åÀ¸ª¬ºA Ctrl+D ½Õ¥XSoftIce¡A¿é¤J BPM 08BFAACC W¡A³o¨½ªºWªí¥Ü¦pªG³o­Ó¦a §}³Q¼g±N¤¤Â_
¡@¡@¡@¡@¦^¨ì´åÀ¸¡A²¾°Ê©Z§J¡A¥ª²¾¤@¤U¡Aµ{§Ç¤¤Â_¡ASoftIce«ü¦Vªº¤W­±¤@¥y¬O
¡@¡@¡@¡@¡@¡@004640B3       MOV DWORD PTR [ESI+000001A4],EAX
¡@¡@¡@¡@³o¥y´N¬O­×§ï©Z§J§¤¼Ðªº¥N½X¡A·íµM¥k²¾¤]¯à§ä¨ì¤@¥y¡A³o¨½´N¤£­«´_¤F
¡@¡@3¡B­×§ïµ{§Ç¨Ï°ÊºAªº¸ê®ÆÅܦ¨ÀRºA
¡@¡@¡@¡@³o¨½»¡ÂIÃD¥~¸Ü¡A­×§ïµ{§Ç¥]¬A¨âºØ¡A¤@ºØ¬Oª½±µ­×§ïµ{§Ç¡A¤@ºØ¬O­×§ï°O¾ÐÅ餤ªºµ{§Ç¡]°O¾ÐÅé¸É¤B¡^¡A³o¨½¥Ñ©ó§ÚÃi¡A©Ò¥H¥Î¤F²Ä¤@ºØ
¡@¡@­×§ïµ{§Ç¡G
¡@¡@¡@¡@ºÆ¨g©Z§Jµ{§Ç¦s¦bFortress2.dat·í¤¤¡A¦pªG§A§â³o­Ó¤å¥ó§ï¦W¬°EXE¤å¥ó¤@¼Ë¥i¥H¹B¦æ¡A³o¨½§Ú­Ì´N§â¥L­×§ï¦¨Fortress2.exe
¡@¡@¡@¡@¥´¶}W32Dasm¤Ï¶×½s¡ASHIFT+F12¸õ¨ì004046B3¡A§A¬Ý¨ì³o´X¦æ
¡@¡@¡@¡@¡@¡@004046B3 8986A4010000       MOV DWORD PTR [ESI+000001A4],EAX
¡@¡@¡@¡@¡@¡@004046B9 8B8644020000       MOV EAX,DWORD PTR [ESI+00000244]
¡@¡@¡@¡@¡@¡@004046BF C744241001000000   MOV [ESP+10],00000001
¡@¡@¡@¡@­è¤~§Ú­Ì»¡¤F004046B3¬O­×§ïX§¤¼Ðªº¨º±ø»y¥y¡A²{¦b§Ú­Ì­nÅý¥L¨C¦¸­×§ï§¹µ{§Ç´N¯à°÷§âX§¤¼Ð¦sÀx¨ì¤@­Ó©T©wªº¦a§}
¡@¡@¡@¡@²{¦b­nÅý¥¦¹B¦æ¨ì³o¨½´NJMP¨ì¤@­Ó§Ú­Ì¦Û¤vªº¥N½Xªº¦a¤è¡A©ó¬O¦bµ{§Çªº§À³¡§Ú­Ì§ä¨ì¤@¬qªÅ¥Õªº°Ï°ì00465A52¡A©ó¬O§Ú­×§ï004046BF¬°¥N½X
¡@¡@¡@¡@JMP 00465A52¡A¾÷¾¹½X¬°E98E130600¡A¦]¬°³o¥yªºªø«×¤£°÷¥H«eªº¨º¥yªø¡A©Ò¥H­n¥[¤J´X­ÓNOP¡A¾÷¾¹½X¬°90¡A©Ò¥H§Ú­Ì¥´¶}HEX Workshop­×§ïµ{§Ç¡ACTRL+G¸õ¨ì¦ì²¾¬°000046BFªº¦a¤è¡A¬Ý¨ì¤FC744241001000000¡A§Ú­Ì§â¥¦­×§ï¬°E98E130600909090¡A²{¦bµ{§Ç±N¤@¹B¦æ¨ì³o¨½´N¸õ¨ì00465A52¹B¦æ§Ú­Ìªº¥N½X¡C
¡@¡@4¡B¹ê²{§Ú­Ì¦Û¤vªº¥N½X¡AµM¦Z¸õ¦^
¡@¡@¡@¡@§Ú­Ìªº¥N½X­n°µªº¬O§â°ÊºAÅܦ¨ÀRºA¡A
           PUSH EAX
           MOV  EAX,[ESI+000001A4]
           MOV  [00470000],EAX
           POP  EAX
           JMP  004046C7
¡@¡@¡@¡@³o¼Ë³o­Ó¼Æ­ÈµL½×¹B¦æ¦h¤Ö¦¸¡A¥u­n§A²¾°Ê¡]·íµM¥k²¾¤]­n­×§ï¡^´N¯à¦b00470000¤¤§ä¨ìX§¤¼Ð¡A³o¬q¾÷¾¹½X¬°
¡@¡@¡@¡@50 8B86A4010000 A300004700 58 E95BECF9FF
¡@¡@¡@¡@§Ñ¤F»¡­è¤~§Ú­Ì§â004046BF´À´«±¼ªº¨º¥yMOV [ESP+10],00000001¤]¥²¶·¥[¤W¡A©Ò¥H¥´¶}HEX Workshop,CTRL+G¸õ¨ì00465A52¡A­×§ï¥[¤J
¡@¡@¡@¡@C744241001000000 50 8B86A4010000 A300004700 58 E95BECF9FF
¡@¡@¡@¡@³o¼Ë°ÊºA¸ê®Æ´NÅܦ¨¤FÀRºA
------------------------------------------------------------------------------
²{¦b¦^ÅU¤@¤U
¡@¡@¡@¡@­º¥ý·j¯Á§¤¼Ð¦a§}
¡@¡@¡@¡@§ä¨ì§ïÅܳo­Ó¦a§}ªº¥N½X
¡@¡@¡@¡@­×§ï¥N½XÅý¥L¸õ¨ì¦Û¤vªº¥N½X¤¤¹B¦æ
¡@¡@¡@¡@¦bµ{§ÇªºªÅ¥Õ¬q¥[¤J¦Û¤vªº¥N½X¡A·íµM­n¸É¤W³Q´À´«¤Fªº¨º¥y¡AÁÙ¦³­×§ï¤F±H¦s¾¹¡A¥²¶·¥ýPUSH,¦APOP
¡@¡@¡@¡@¤U­±ªº¤u§@´N¬O¼g¤@­Óµ{§ÇŪ¨ú³o­Ó¦a§}¤F¡A§Ú¥ÎVC¼g¤F¤@­Ó¡A¶¶«K¶K¤@¤UÃöÁä¥N½X
------------------------------------------------------------------------------
CProcess m_process;
bool m_ret=m_process.FindProcess("FortressII";
if (m_ret)
{
    BYTE tank1xL = m_process.ReadByte(0x00470000);
    BYTE tank1xR = m_process.ReadByte(0x00470001);
    WORD tank1x = tank1xL+tank1xR*256;
    temp = tank1x;
    str.Format("%d",temp);
    m_tank1x=str;
    UpdateData(FALSE);
    return TRUE;
}
else
    return FALSE;
-----------------------------------------------------------------------------
CProcess¬O¤@­Ó§Ú½s¼gªº­×§ïÃþ¡A³o¨½¥Î¨ìªº¨ç¼Æ¥N½X¦p¤U
HANDLE CProcess::OpenProcess(char *p_ClassName, char *p_WindowTitle)
{
    HWND hWindow;
    DWORD pid;
    hWindow = FindWindow(p_ClassName, p_WindowTitle);
    if (hWindow)
    {
        GetWindowThreadProcessId(hWindow, &pid);
        return ::OpenProcess(PROCESS_ALL_ACCESS, false, pid);
    }
    return NULL;
}
bool CProcess::FindProcess(char *p_WindowTitle)
{
    if (m_hProcess == NULL)
    {
        m_hProcess = this->OpenProcess(NULL, p_WindowTitle);
        if (m_hProcess)
            m_bGameRunning = true;
        return m_bGameRunning;
    }
    else
        return false;
}
BYTE CProcess::ReadByte(DWORD p_Address)
{
    DWORD bytes;
    BYTE tmpvalue;
    if (m_bGameRunning)
    {
        if (ReadProcessMemory(m_hProcess, (void*)p_Address,
                        (void *)&tmpvalue, 1, &bytes) == 0)
            return 0;
        else
            return tmpvalue;
    }
    return 0;
}


[size=6][color=#0000ff]¦ì¹Bºâ°ò¦¡]µæ³¾¬Ýªº¡^¡]¦³ÂI¹³½Ò¥»¡^
[/color][/size]­º¥ý§Ú­Ì±NWPEºIÀòªº«Ê¥]«O¦s¬°¤å¥»¤å¥ó¡AµM¦Z¥´¶}¥¦¡A³o®É·|¬Ý¨ì¦p¤Uªº¸ê®Æ¡]³o¨½§Ú­Ì¥Hª÷±e¸s«L¶Ç¨½PK©±¤p¤G«È¤áºÝ°e¥Xªº¸ê®Æ¬°¨Ò¨ÓÁ¿¸Ñ¡^¡G
²Ä¤@­Ó¤å¥ó¡G
SEND-> 0000 E6 56 0D 22 7E 6B E4 17 13 13 12 13 12 13 67 1B
SEND-> 0010 17 12 DD 34 12 12 12 12 17 12 0E 12 12 12 9B
SEND-> 0000 E6 56 1E F1 29 06 17 12 3B 0E 17 1A
SEND-> 0000 E6 56 1B C0 68 12 12 12 5A
SEND-> 0000 E6 56 02 C8 13 C9 7E 6B E4 17 10 35 27 13 12 12
SEND-> 0000 E6 56 17 C9 12
²Ä¤G­Ó¤å¥ó¡G
SEND-> 0000 83 33 68 47 1B 0E 81 72 76 76 77 76 77 76 02 7E
SEND-> 0010 72 77 07 1C 77 77 77 77 72 77 72 77 77 77 6D
SEND-> 0000 83 33 7B 94 4C 63 72 77 5E 6B 72 F3
SEND-> 0000 83 33 7E A5 21 77 77 77 3F
SEND-> 0000 83 33 67 AD 76 CF 1B 0E 81 72 75 50 42 76 77 77
SEND-> 0000 83 33 72 AC 77
§Ú­Ìµo²{¨â¦¸PK©±¤p¤Gªº¸ê®Æ®æ¦¡¤@¼Ë¡A¦ý¬O¤º®e«o¤£¬Û¦P¡A§Ú­Ì¬OPKªº¦P¤@­ÓNPC¡A¬°¤°»ò·|¤£¦P©O¡H
­ì¨Óª÷±e¸s«L¶Çªº«Ê¥]¬O¸g¹L¤F¥[±K¹Bºâ¤~¦bºô¸ô¤W¶Ç¿éªº¡A¨º»ò§Ú­Ì­±Á{ªº°ÝÃD´N¬O¦p¦ó±N±K¤å¸Ñ±K¦¨©ú¤å¦A¤ÀªR¤F¡C
¦]¬°¤@¯ëªº¸ê®Æ¥]¥[±K³£¬O²§©Î¹Bºâ¡A©Ò¥H³o¨½¥ýÁ¿¤@¤U¤°»ò¬O²§©Î¡C
²³æªº»¡¡A²§©Î´N¬O"¬Û¦P¬°0¡A¤£¦P¬°1"¡]³o¬O°w¹ï¤G¶i¨î«ö¦ì¨ÓÁ¿ªº¡^¡AÁ|­Ó¨Ò¤l¡A0001©M0010²§©Î¡A§Ú­Ì«ö¦ì¹ï¤ñ¡A±o¨ì²§©Îµ²ªG¬O0011¡A­pºâªº¤èªk¬O¡G0001ªº²Ä4¦ì¬°0¡A0010ªº²Ä4¦ì¬°0¡A¥¦­Ì¬Û¦P¡A«h²§©Îµ²ªGªº²Ä4¦ì«ö·Ó"¬Û¦P¬°0¡A¤£¦P¬°1"ªº­ì«h±o¨ì0¡A0001ªº²Ä3¦ì¬°0¡A0010ªº²Ä3¦ì¬°0¡A«h²§©Îµ²ªGªº²Ä3¦ì±o¨ì0¡A0001ªº²Ä2¦ì¬°0¡A0010ªº²Ä2¦ì¬°1¡A«h²§©Îµ²ªGªº²Ä2¦ì±o¨ì1¡A0001ªº²Ä1¦ì¬°1¡A0010ªº²Ä1¦ì¬°0¡A«h²§©Îµ²ªGªº²Ä1¦ì±o¨ì1¡A²Õ¦X°_¨Ó´N¬O0011¡C²§©Î¹Bºâ¤µ¦Z·|¹J¨ì«Ü¦h¡A¤j®a¥i¥H¥ý¼ô±x¼ô±x¡A¼ô½m¤F¹ï¤ÀªR«Ü¦³À°§Uªº¡C
¤U­±§Ú­ÌÄ~Äò¬Ý¬Ý¤W­±ªº¨â­Ó¤å¥ó¡A«ö·Ó±`²z¡A¸ê®Æ¥]ªº¸ê®Æ¤£·|¥þ³¡³£¦³­Èªº¡A´åÀ¸¶}µo®É·|¹w¯d¤@¨Ç¦ì¤¸²ÕªÅ¶¡¨Ó«K©ó¤é¦ZªºÂX¥R¡A¤]´N¬O»¡¸ê®Æ¥]¨½·|¦s¦b¤@¨Ç"00"ªº¦ì¤¸²Õ¡AÆ[¹î¤W­±ªº¤å¥ó¡A§Ú­Ì·|µo²{¤å¥ó¤@¨½«Ü¦h"12"¡A¤å¥ó¤G¨½«Ü¦h"77"¡A¨º»ò³o¬O¤£¬O¥Nªí§Ú­Ì»¡ªº"00"©O¡H±À²z¨ì³o¨½¡A§Ú­Ì´N¶}©l¦æ°Ê§a¡I
§Ú­Ì§â¤å¥ó¤@»P"12"²§©Î¡A¤å¥ó¤G»P"77"²§©Î¡A·íµM¥Î¤âºâ«Ü¶O¨Æ¡A§Ú­Ì¨Ï¥Î"M2M 1.0 ¥[±K«Ê¥]¤ÀªR¤u¨ã"¨Ó­pºâ´N¤è«K¦h¤F¡C±o¨ì¤U­±ªºµ²ªG¡G
²Ä¤@­Ó¤å¥ó¡G
1 SEND-> 0000 F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09
SEND-> 0010 05 00 CF 26 00 00 00 00 05 00 1C 00 00 00 89
2 SEND-> 0000 F4 44 0C E3 3B 13 05 00 29 1C 05 08
3 SEND-> 0000 F4 44 09 D2 7A 00 00 00 48
4 SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 00
5 SEND-> 0000 F4 44 05 DB 00
²Ä¤G­Ó¤å¥ó¡G
1 SEND-> 0000 F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09
SEND-> 0010 05 00 70 6B 00 00 00 00 05 00 05 00 00 00 1A
2 SEND-> 0000 F4 44 0C E3 3B 13 05 00 29 1C 05 84
3 SEND-> 0000 F4 44 09 D2 56 00 00 00 48
4 SEND-> 0000 F4 44 10 DA 01 B8 6C 79 F6 05 02 27 35 01 00 00
5 SEND-> 0000 F4 44 05 DB 00
«¢¡A³o¤@¤U¨â­Ó¤å¥ó¤j³¡¤À³£¤@¼Ë°Õ¡A»¡©ú§Ú­Ìªº±À²z¬O¥¿½Tªº¡A¤W­±´N¬O§Ú­Ì»Ý­nªº©ú¤å¡I
±µ¤U¨Ó´N¬O·d²M·¡¤@¨ÇÃöÁ䪺¦ì¤¸²Õ©Ò¥Nªíªº§t¸q¡A³o´N»Ý­nºIÀò¤j¶qªº¸ê®Æ¨Ó¤ÀªR¡C
­º¥ý§Ú­Ì·|µo²{¨C­Ó¸ê®Æ¥]³£¬O"F4 44"¶}ÀY¡A²Ä3­Ó¦ì¤¸²Õ¬OÅܤƪº¡A¦ý¬OÅܤƫܦ³³W«ß¡C§Ú­Ì¨Ó¬Ý¬Ý¦U­Ó¥]ªºªø«×¡Aµo²{¤°»ò¨S¦³¡H¹ï¤F¡A²Ä3­Ó¦ì¤¸²Õ´N¬O¥]ªºªø«×¡I
³q¹LºIÀò¤j¶qªº¸ê®Æ¥]¡A§Ú­Ì§PÂ_²Ä4­Ó¦ì¤¸²Õ¥Nªí«ü¥O¡A¤]´N¬O»¡«È¤áºÝ§i¶DªA°È¾¹¶i¦æªº¬O¤°»ò¾Þ§@¡C¨Ò¦p¦VªA°È¾¹½Ð¨D¾Ô¤æ«ü¥O¬°"30"¡A¾Ô¤æ¤¤²¾°Ê«ü¥O¬°"D4"µ¥¡C
±µ¤U¨Ó¡A§Ú­Ì´N»Ý­n¤ÀªR¤@¤U¤W­±²Ä¤@­Ó¥]"F4 44 1F 30 6C 79 F6 05 01 01 00 01 00 01 75 09 05 00 CF 26 00 00 00 00 05 00 1C 00 00 00 89"¡A¦b³o­Ó¥]¨½¥]§t¤°»ò¸ê°T©O¡HÀ³¸Ó¦³³qª¾ªA°È¾¹§APKªº­þ­ÓNPC§a¡A§Ú­Ì´N¥ý¨Ó§ä§ä³o­Ó©±¤p¤Gªº¥N½X¦b¤°»ò¦a¤è¡C
§Ú­Ì¦APK¤@­Ó¤p¹ÆÃ¹¡]´N¬O¤j²z«È´Ì¥~ªº¨º­Ó«£¡^¡G
SEND-> 0000 F4 44 1F 30 D4 75 F6 05 01 01 00 01 00 01 75 09
SEND-> 0010 05 00 8A 19 00 00 00 00 11 00 02 00 00 00 C0
§Ú­Ì®Ú¾Ú±`²z¤ÀªR¡A´åÀ¸¨½ªºNPCºØÃþÁöµM¤£·|¶W¹L65535¡]FFFF¡^¡A¦ý¶}µo®É¤£·|§â¦Û¤v­­¨î¦b¦rªº½d³ò¡A¨º¼Ë¤£§Q©ó´åÀ¸ªºÂX¥R¡A©Ò¥H§Ú­Ì¦bÂù¦r¨½¬Ý¬Ý¡C³q¹L"©±¤p¤G"©M"¤p¹ÆÃ¹"¨â­Ó¥]ªº¹ï¤ñ¡A§Ú­Ì§â¥Ø¼Ð©ñ¦b"6C 79 F6 05"©M"CF 26 00 00"¤W¡C¡]¹ï¤ñ¤@¤U«Ü®e©öªº¡A¦ý§A¤£¯à¤Ó¿ð¶w«£¡A¨þ¨þ¡^§Ú­Ì¦A¬Ý¬Ý¦Z­±ªº¥]¡A¦b¦Z­±ªº¥]¨½À³¸ÓÁÙ·|¥X²{NPCªº¥N½X¡A¤ñ¦p²¾°Êªº¥]¡A´åÀ¸¤¹³\Æ[¾Ô¡AªA°È¾¹¥²µM»Ý­nª¾¹DNPCªº²¾°Ê§¤¼Ð¡A¦A¼s¼½µ¹Æ[¾Ôªº¨ä¥Lª±®a¡C¦b¦Z­±²Ä4­Ó¥]"SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 00"¨½§Ú­Ì¤S¬Ý¨ì¤F"6C 79 F6 05"¡Aªì¨BÂ_©w©±¤p¤Gªº¥N½X´N¬O¥¦¤F¡I
¡]³o¤ÀªR¨½Ãä¥]§t¤F«Ü¦h¤u§@ªº¡A¤j®a¥i¥H¥ÎWPEºI¤U¸ê®Æ¨Ó¦Û¤v¤ÀªR¤ÀªR¡^
²Ä¤@­Ó¥]ªº¤ÀªR¼È®É´N¨ì³o¨½¡]¨½­±ÁÙ¦³ªº¸ê°T§Ú­Ì¼È®É¤£»Ý­n§¹¥þ²M·¡¤F¡^
§Ú­Ì¬Ý¬Ý²Ä4­Ó¥]"SEND-> 0000 F4 44 10 DA 01 DB 6C 79 F6 05 02 27 35 01 00 00"¡A¦AºIÀòPK¶Àª¯ªº¥]¡A¡]ª¯·|¥X¨Ó2¥u®@¡^¬Ý¬Ý¥]ªº®æ¦¡¡G
SEND-> 0000 F4 44 1A DA 02 0B 4B 7D F6 05 02 27 35 01 00 00
SEND-> 0010 EB 03 F8 05 02 27 36 01 00 00
®Ú¾Ú¤W­±ªº¤ÀªR¡A¶Àª¯ªº¥N½X¬°"4B 7D F6 05"¡]100040011¡^¡A¤£¹L¨â¥u¶Àª¯ªA°È¾¹«ç¼Ë¤À¿ë©O¡H¬Ý¬Ý"EB 03 F8 05"¡]100140011¡^¡A¬O¤W¤@­Ó¥N½X¥[¤W100000¡A¨þ¨þ¡A³o¼ËªA°È¾¹´N¥i¥H»{¥X¨â¥u¶Àª¯¤F¡C§Ú­Ì¦A³q¹L³¥¥~¹J¼ÄºIÀòªº¸ê®Æ¥]¨ÓÃÒ¹ê¡AªGµM¦p¦¹¡C
¨º»ò¡A³o­Ó¥]ªº®æ¦¡À³¸Ó¤ñ¸û²M·¡¤F¡G²Ä3­Ó¦ì¤¸²Õ¬°¥]ªºªø«×¡A"DA"¬°«ü¥O¡A²Ä5­Ó¦ì¤¸²Õ¬°NPC­Ó¼Æ¡A±q²Ä7­Ó¦ì¤¸²Õ¶}©lªº10­Ó¦ì¤¸²Õ¥Nªí¤@­ÓNPCªº¸ê°T¡A¦h¤@­ÓNPC´N¦h10­Ó¦ì¤¸²Õ¨Óªí¥Ü¡C
¤j®a¦pªGª±¹Lºôª÷¡A¥²µMª¾¹DÀH¾÷¹J¼Ä¦³®É·|¥X²{¼W´©¡A§Ú­Ì´N§Q¥Î´åÀ¸³o­Ó¼W´©¨ÓÅý¨C¦¸¾Ô¤æ³£·|¥X²{¼W´©ªºNPC§a¡C
³q¹L¦b¾Ô¤æ¤¤¥X²{¼W´©ºIÀòªº¸ê®Æ¥]¡A§Ú­Ì·|µo²{ªA°È¾¹ºÝ°e¥X¤F³o¼Ë¤@­Ó¥]¡G
F4 44 12 E9 EB 03 F8 05 02 00 00 03 00 00 00 00 00 00
²Ä5-²Ä8­Ó¦ì¤¸²Õ¬°¼W´©NPCªº¥N½X¡]³o¨½§Ú­Ì´N²³æªº¥H¶Àª¯ªº¥N½X¨ÓÁ|¨Ò¡^¡C
¨º»ò¡A§Ú­Ì´N§Q¥Î³æ¾÷¥N²z§Þ³N¨Ó¦P®É´ÛÄF«È¤áºÝ©MªA°È¾¹§a¡I


[size=6][color=#0000ff]¦p¦ó¾Þ§@°O¾ÐÅé
[/color][/size]¶iµ{¡G¥Î³Ì²¼äªº¸Ü¨Ó»¡¡A¶iµ{´N¬O¤@­Ó¥¿¦b°õ¦æªºµ{§Ç¡A¤@­Ó©Î¦h­Ó½uµ{¦b¶iµ{¤¤¹B¦æ¡C
½uµ{¡G½uµ{¬O¾Þ§@¨t²Î¤À°tCPU¹Bºâ®É¶¡ªº³Ì¤p³æ¦ì¡C
¨C¤@­Ó¶iµ{³£´£¨Ñ¤F¹B¦æ¤@­Óµ{§Ç©Ò¥²»Ýªº¸ê·½¡A¤@­Ó¶iµ{¨ã¦³4GBªºµêÀÀ¦a§}ªÅ¶¡¡A¥i°õ¦æ¥N½X¡A¸ê®Æ¡A¹ï
¶H¥y¬`¡AÀô¹ÒÅܶq¡AÀu¥ýÅv¥H¤Î³]¸m³Ì¤j¤Æ³Ì¤p¤Æªº¥\¯à¡C¨C¤@­Ó¶iµ{³£±q¤@­Ó¥D½uµ{¶}©l°õ¦æ¡A¦ý¥i¥H¦b¥¦©Ò¾Ö¦³
ªº½uµ{¤¤³Ð«ØÃB¥~ªº½uµ{¡C¦pªG¦b¬Y­Ó½uµ{¤¤³Ð«Ø¤F¤@­Ó¤l½uµ{¡A¨º»ò·í¥¦¶}©l°õ¦æ¦Z¡A´N¬O¤@¤Ç²æÅ·ªº³¥°¨¡A«ÜÃø
¦A±±¨î¥¦¤F¡C¦]¦¹¡A¦h½uµ{§Þ³N¦bWin32¥­¥x¤U¬O»Ý­n«Ü°ªªº§Þ¥©ªº¡C¤@­Ó¶iµ{ªº©Ò¦³½uµ{¦@¨É¶iµ{ªºµêÀÀ¦a§}ªÅ¶¡©M
¨t²Î¸ê·½¡A¤@­Ó½uµ{ªº¸ê·½¥]¬A½uµ{ªº¾÷¾¹±H¦s¾¹³]¸m¡A¤º®Ö°ï´Ì¡A½uµ{Àô¹ÒÅܶq©M¶iµ{µêÀÀ¦a§}¤¤ªº¨Ï¥ÎªÌ°ï´Ì¡C
¹ï©ó¤£¦Pªº¾Þ§@¨t²Î¡A¨C­Ó¶iµ{ªºµêÀÀ¦a§}ªÅ¶¡ªº¤À°t¬O¤£¦Pªº¡CWindows NT Server Enterprise Edition
¤ÎWindows 2000 Advanced Server¤¤§C3GBµêÀÀ¦a§}ªÅ¶¡¨Ñ¶iµ{¨Ï¥Î¡A°ª1GB¨Ñ¾Þ§@¨t²Îªº¤º®Ö¥N½X¨Ï¥Î¡CWindows
NT/2000¤¤§C2GB¨Ñ¶iµ{¨Ï¥Î¡A°ª2GB¨Ñ¾Þ§@¨t²Î¤º®Ö¥N½X¨Ï¥Î¡CWindows9X¡G0¡X¡X64K¥uŪªÅ¶¡¥Î¨Ó¸Ë¤JMicrosoft DOS
¸ê°T¡A64K¡X¡X4M¸Ë¤JDOSªº­Ý®e¥N½X¡A4M¡X¡X2GBªº¨p¦³ªÅ¶¡¨Ñ¶iµ{¨Ï¥Î¡A2GB¡X¡X3GBªº¦@¨ÉªÅ¶¡¸Ë¤J¦UºØDLL¥N½X¡A
3GB¡X¡X4GB¬°¦@¨Éªº¨t²Î¤º®Ö¥N½XªÅ¶¡¡A¨ä¤¤¦@¨Éªº2GB¡X¡X4GBªºªÅ¶¡¬O99%ªº¡§°O¾ÐÅéµL®Ä­¶¿ù»~¡¨¡B¡§General
Protect Error(GPE)¡¨¤ÎÂū̪º¸o»íº×­º¡C
·íµM¡A¾Þ§@¨t²Î¤£·|¯uªºµ¹¨C­Ó¶iµ{¤À°t4GBªº°O¾ÐÅéªÅ¶¡¡A§_«h¡A§O»¡°O¾ÐÅé¡A³sµêÀÀ°O¾ÐÅé³£¤£°÷¥Î¡C¾Þ§@¨t²Î
·|±N»Ý­n¥Î¨ìªº¬Y¬qµêÀÀ¦a§}ªº¤º®e¬M®g¨ìª«²z°O¾ÐÅé¡A³oºØ¬M®g¾Þ§@¬O¾Þ§@¨t²Î¤º®Ö§¹¦¨ªº¡AµL»Ýµ{§Ç­û¨Ó±±¨î¡C
°ò¥»·§©À´N¬O³o¼Ë¡A²{¦b§Ú­Ì¶}©l¾Ç²ß¦p¦ó¾Þ§@¬Y­Ó©Ò»Ýªº¶iµ{ªº°O¾ÐÅé¡]ÄY®æ¨ÓÁ¿¡A¬O¾Þ§@¥¦ªºµêÀÀ¦a§}¤W
ªº¸ê®Æ¡A¤U¦P¡^¡C
­º¥ý¡A¥ÎCreateToolhelp32Snapshot³Ð«Ø·í«e°O¾ÐÅ骺¤@­Ó§Ö·Ó¡A±Nªð¦^ªº¥y¬`¶Ç»¼µ¹Process32First¡B
Process32Next¨Ó¹M¾ä°O¾ÐÅ餤ªº©Ò¦³¶iµ{¡A¤@¥¹¹J¨ì©Ò»Ý­×§ïªº¬Y­Ó´åÀ¸ªº¶iµ{¡A´N±N¨ä¶iµ{ID«O¦s¤U¨Ó¡A¦A¥Î
OpenProcess¥´¶}³o­Ó¶iµ{¡A±q¦ÓÀò±o¸Ó¶iµ{ªº¶iµ{¥y¬`¡C³Ì¦Z¡A§Q¥Î³o­Ó¥y¬`¡A¨Ï¥ÎReadProcessMemory¡B
WriteProcessMemory¨ÓŪ¼gµêÀÀ¦a§}¡C
¥H¤U¬O¤@¬q¨Ò¤l¥N½X¡]µ²ºc¤ÎAPI¨ç¼ÆªºÁn©ú²¤¥h¡^¡G
«O¦sAPI¨ç¼Æªð¦^­ÈªºÁ{®ÉÅܶq
Dim lngAPIReturn As Long
°O¾ÐÅé§Ö·Óªº¥y¬`
Dim lngHSnapShot As Long
«O¦s¶iµ{¥i°õ¦æ¤å¥ó¦WªºÁ{®ÉÅܶq
Dim strExe As String
¬Y­Ó§A·P¿³½ìªº¥i°õ¦æ¤å¥ó°õ¦æ¦Zªº¶iµ{ªºID
Dim lngProcessID As Long
¬Y­Ó§A·P¿³½ìªº¥i°õ¦æ¤å¥ó°õ¦æ¦Zªº¶iµ{ªº¥y¬`
Dim lngHProcess As Long
¦ì¤¸²Õ§Ö¨ú°Ï¡A«O¦s±q°O¾ÐÅ餤Ū¨úªº¸ê®Æ
Dim bytBuffer as Byte
«O¦sReadProcessMemory¨ç¼Æªð¦^¸ê°TªºÁ{®ÉÅܶq
Dim lngCharaWrite As Long
«O¦s¶iµ{¸ê°Tªºµ²ºc
Dim tProcessEntry As PROCESSENTRY32
tProcessEntry.dwSize = Len(tProcessEntry)
Àò±o·í«e°O¾ÐÅé§Ö·Óªº¥y¬`
lngHSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
·j´M°O¾ÐÅ餤²Ä¤@­Ó¶iµ{
lngAPIReturn = Process32First(lngHSnapShot, tProcessEntry)
Do
strExe = ""
If InStr(tProcessEntry.szExeFile, Chr(0)) > 1 Then
¹ïwin9X¡AstrExe¬°±a¸ô®|ªº¤å¥ó¦W¡A¹ïwin2K¬°¤£±a¸ô®|ªº¤å¥ó¦W
strExe = Left(tProcessEntry.szExeFile, InStr(tProcessEntry.szExeFile, Chr(0)) -
1)
tProcessEntry.szExeFile = Space(MAX_PATH)
End If
¬d¬Ý¥i°õ¦æ¤å¥ó¦W¬O¤£¬O¬Y­Ó·P¿³½ìªº¤å¥ó
If UCase(strExe) = UCase("¬Y­Ó¥i°õ¦æ¤å¥ó¦W" Then
«O¦s¤U¸Ó¶iµ{ªºID
lngProcessID = tProcessEntry.th32ProcessID
Exit Do
End If
·j´M°O¾ÐÅ餤¤U¤@­Ó¶iµ{
lngAPIReturn = Process32Next(lngHSnapShot, tProcessEntry)
Loop While (lngAPIReturn <> 0)
¥´¶}¶iµ{
lngHProcess = OpenProcess(PROCESS_VM_READ + PROCESS_VM_WRITE + PROCESS_VM_OPERATION, 0,
lngProcessID)
Ū¨ú¶iµ{µêÀÀ¦a§}1048576¤¤ªº¸ê®Æ
lngAPIReturn = ReadProcessMemory(lngHProcess, 1048576, bytBuffer, 1, lngCharaWrite)
¼g¤J¶iµ{µêÀÀ¦a§}1048576¤¤ªº¸ê®Æ
lngAPIReturn = WriteProcessMemory(lngHProcess, 1048576, bytBuffer, 1, lngCharaWrite)
Ãö³¬¥y¬`
lngAPIReturn = CloseHandle(lngHProcess)

[size=6][color=#0000ff]Hook Win32 API ªºÀ³¥Î¬ã¨s
[/color][/size]¤§¤@¡Gºôµ¸ºÊ±±
µ´¤j¦h¼Æ¨ã¦³ºôµ¸¥\¯àªº³nÅé³£¬O°ò©ósocket(ºôµ¸®M±µ¦r)¹ê²{ªº¡A©ÎªÌ¬O¨Ï¥Î¤F§ó°ª¼hªº±µ¤f(¨Ò¦p¡GWinInet API)¦Ó³Ì©³¼h¤´µM¬O°ò©ósocket¹ê²{ªº¡C¦b¤j¦h¼Æ¾Þ§@¨t²Î¤¤³£¹ê²{¤Fsocket±µ¤f¡A¦bWINDOWS¾Þ§@¨t²Î¤¤ªº¹ê²{ºÙ¬°WinSock¡CWinSock¬O¥HDLLªº§Î¦¡¹ê²{ªº¡A²{¦bWinSock¦³¨â­Óª©¥»ªº¹ê²{¡GWinSock 1.1(winsock.dll)©MWinSock 2(ws2_32.dll)¡Aws2_32.dll¬J¤ä«ùWinSock 1.1ªº¨ç¼Æ¤S¤ä«ùWinSock 2³W½d¤¤¼W¥[ªº³\¦hÃB¥~ªº¨ç¼Æ¡A§Ú­Ì¥i¥H¹³Win32 API¤@¼Ëªº¨Ï¥Î¥¦¡A¥u¬O»Ý­nÃB¥~³sµ²¤@­Ó®w¦Ó¤w¡C³o¨½¤£°Q½×¨ãÅ骺WinSockµ{¦¡¤Æ¡A¥u¬OÅý¤j®a¤F¸Ñ¡AWinSock¬OWINDOWSÀ³¥Îµ{§Ç»Pºôµ¸¥´¥æ¹Dªº±µ¤f¡A¬O§Ú­Ì¹ê²{ºôµ¸ºÊ±±³o­Ó¥Øªºªº¬ð¯}¤f¡C
    ¦n¤F¡A¨º§Ú­Ì´N¶}©l§a¡I¡§ºôµ¸ºÊ±±¡¨³o­Ó½d³ò¦³ÂI¤Óªx¤F¡A§Ú­Ì¥ý§â½d³òÁY¤p¨ìºÊ±±ºôµ¸³s±µ½Ð¨D³o­Ó¨ãÅ骺¾Þ§@¤W­±§a¡A³o¤]´N¬O§Úªº§@«~¡GIPGate ºô§}¹LÂo¾¹ ªº®Ö¤ß§Þ³N¡C§Ú­Ì¥ý¨Ó¬Ý¬Ý¤@­ÓTCP/IP³s±µ¬O¦p¦ó«Ø¥ßªº¡G
    «È¤á¾÷ºÝ               ªA°È¾¹ºÝ
    ========              ========
                   ºÊÅ¥®M±µ¦r      ³s±µ®M±µ¦r
                   =========      =========
    socket()       socket()
    bind()         bind()
                   listen()
    connect()----->accept()------>³Ð«Ø³s±µ®M±µ¦r
    send()----------------------->recv()
    recv()<-----------------------send()
              .
              .
              .
    closesocket()  closesocket()  closesocket()
    §Ú­Ì¥i¥H¬Ý¥X¡A¬O«È¤á¾÷ºÝªºconnect()°õ¦æ¹ê»Úªº³s±µ½Ð¨D°Ê§@¡A§Ú­Ì¦A¨Ó¬Ý¬Ýconnect¨ç¼Æªº°Ñ¼Æ¡G
int connect(
  SOCKET s, // «ü©w¹ï­þ­Ó®M±µ¦r¶i¦æ¾Þ§@
  const struct sockaddr FAR *name, // ³o¬O¤@­Ó´y­zªA°È¾¹IP¦a§}ªºµ²ºc
  int namelen // «ü©ú¤W­±³o­Óµ²ºcªº¤j¤p
);
¹ï©óname°Ñ¼Æ¡A¥Ñ©ósockaddrµ²ºc¤º®e¨Ì¿à©ó¨ãÅ骺¨óij¡A©Ò¥H¹ï©óTCP/IP¨óij¡A§Ú­Ì¶Ç»¼sockaddr_in³o­Óµ²ºc¡A¦A¨Ó¬Ý¬Ý³o­Óµ²ºc¡G
struct sockaddr_in{
  short           sin_family; // ¥²¶·¬°AF_INET
  unsigned short  sin_port; // IP³s±µ°ð¸¹
  struct in_addr  sin_addr; // ¼ÐÃÑIP¦a§}ªº¤@­Óµ²ºcÅé
  char            sin_zero[8]; // ¬°¤F­Ý®esockaddr¦Ó³]¸mªº¥e¦ìªÅ¶¡
};
    ¨ì³o¨à¡A§Ú­Ì¥i¥H¬Ý¥X¡A¹ï©ó¤@¦¸³s±µ½Ð¨Dªº¥Øªº¦a¸ê°T¡A¤w¸g¥þ³¡¦b¶Ç¤Jªº°Ñ¼Æ¤¤´y­z²M·¡¤F¡A±µ¤U¨Ó­n°µªº´N³]¸m¤@­Ó¥þ§½API¹_¤l¡A¹_¦í©Ò¦³µ{§Çªºconnect()½Õ¥Î¡A¦b¶i¦æ¹ê»Úªºconnect()¾Þ§@¤§«e¡A§Ú­Ì¥ý¤ÀªR¶Ç¤Jªº°Ñ¼Æ¡A¦pªGµo²{³s±µ¥Øªº¦a¬O§Ú­Ì¤£¤¹³\³X°Ýªº¡A´N¤£¶i¦æ³s±µ¾Þ§@¡A¶Èªð¦^¤@­Ó¿ù»~½X´N¥i¥H¤F¡C´N³o»ò²³æ¡A´N¯à¹ê²{¤@¤Ò·íÃö¡A¸U¤Ò²ö¶}ªº®ÄªG¡C
    ¦P¼Ëªº¹D²z¡A¤]¥i¥HHook¨ä¥¦¨ç¼Æ¦Ó¹ê²{ºÊ±±¾ã­Óºôµ¸³q«H¦U¤è­±ªº¤º®e¡A¤ñ¦p»¡ºI¨ú°e¥X©M±µ¦¬ªº¸ê®Æ¥]¶i¦æ¤ÀªRµ¥µ¥¡A³o´N¨ú¨M©ó³]­pªÌªº·N¹Ï¤F¡A¤j®a¤£§«°Ê¤â¸Õ¸Õ¬Ý¡A·P¨ü¤@¤UHook APIªº¾y¤O¡C
¤§¤G¡G¶iµ{¨¾±þ
¦bWINDOWS¾Þ§@¨t²Î¤U¡A·í§Ú­ÌµLªkµ²§ô©ÎªÌ¤£ª¾¹D«ç¼Ëµ²§ô¤@­Óµ{§Çªº®É­Ô¡A©ÎªÌ¬OÃi±o¥h§ä¡§°h¥X¡¨«ö¶sªº®É­Ô¡A³q±`·|«ö¡§CTRL+ALT+DEL¡¨©I¥X¥ô°ÈºÞ²z¾¹¡A§ä¨ì·Qµ²§ôªºµ{§Ç¡AÂI¤@¤U¡§µ²§ô¥ô°È¡¨´N¤F¨Æ¤F¡A¨þ¨þ¡AÁöµM¦³ÂI²Ê¾|¡A¦ý¤j¦h¼Æ±¡ªp¤U³£«Ü¦³®Ä¡A¤£¬O¶Ü¡H
    ³]·Q¤@¤U¡A¦pªG¦³³o»ò¤@ºØ³nÅé¡A¥¦©Ò­n°µªº¤u§@´N¬O¹ï¬Y­Ó¨Ï¥ÎªÌ¦b¬Y¥x¹q¸£¤Wªº¬¡°Ê§@¤@©wªº­­¨î¡A¦Ó¤S¤£¯à³Q¨Ï¥ÎªÌ³q¹L¡§µ²§ô¥ô°È¡¨³oºØ¤è¦¡»´©ö¦a¸Ñ°£­­¨î¡A¨º¸Ó«ç»ò°µ¡HµL«D¦³³o»ò¤TºØ¤èªk¡G1.«Ì½ª¡§CTRL+ALT+DEL¡¨³o­Ó§Ö³tÁ䪺²Õ¦X¡F2.Åýµ{§Ç¤£¥X²{¦b¥ô°ÈºÞ²z¾¹ªº¦Cªí¤§¤¤¡F3.Åý¥ô°ÈºÞ²z¾¹µLªk±þ±¼³o­Ó¥ô°È¡C¹ï©ó²Ä¤@ºØ¤èªk¡A³o¼Ë¥¼§K¤]¤Ó´Ý»Å¤F¡A¥ÎºD¤F¡§µ²§ô¥ô°È¡¨³oºØ¤èªkªº¤H·|«Ü¤£²ßºDªº¡F¹ï©ó²Ä¤GºØ¤èªk¡A¦bWINDOWS 9X¤U¥i¥H«Ü»´©ö¦a¨Ï¥Îª`¥UªA°È¶iµ{ªº¤èªk¹ê²{¡A¦ý¬O¹ï©óWINDOWS NT¬[ºcªº¾Þ§@¨t²Î¨S¦³³o­Ó¤èªk¤F¡A¶iµ{«ÜÃøÂè­¡AÁöµM¤´µM¥i¥H¹ê²{ÁôÂáA¦ý¹ê²{¾÷¨î¸û¬°´_Âø¡F¹ï©ó²Ä¤TºØ¤èªk¡A¹ê²{°_¨Ó¤ñ¸û²³æ¡A§Úªº§@«~¡GIPGate ºô§}¹LÂo¾¹ ´N¬O±Ä¥Îªº³oºØ¤è¦¡¨¾±þªº¡A±µ¤U¨Ó§Ú´N¨Ó¤¶²Ð³oºØ¤èªk¡C
    ¥ô°ÈºÞ²z¾¹ªº¡§µ²§ô¥ô°È¡¨¹ê»Ú¤W´N¬O±j¨î²×¤î¶iµ{¡A¥¦©Ò¨Ï¥Îªº±þ¤â锏¬O¤@­Ó¥s°µTerminateProcess()ªºWin32 API¨ç¼Æ¡A§Ú­Ì¨Ó¬Ý¬Ý¥¦ªº©w¸q¡G
BOOL TerminateProcess(
  HANDLE      hProcess; // ±N³Qµ²§ô¶iµ{ªº¥y¬`
  UINT        uExitCode; // «ü©w¶iµ{ªº°h¥X½X
);
    ¬Ý¨ì³o¨½¡A¬O¤£¬Oı±o¤£¥²©¹¤U¬Ý³£ª¾¹D±µ¤U¨Ó­n°µ¤°»ò¡GHook TerminateProcess()¨ç¼Æ¡A¨C¦¸TerminateProcess()³Q½Õ¥Îªº®É­Ô¥ý§PÂ_¥ø¹Ïµ²§ôªº¶iµ{¬O§_¬O§Úªº¶iµ{¡A¦pªG¬Oªº¸Ü´N²³æ¦aªð¦^¤@­Ó¿ù»~½X´N¥i¥H¤F¡C¯uªº¬O³o»ò²³æ¶Ü¡H¥ý´£¥X¤@­Ó°ÝÃD¡A¦p¦ó®Ú¾ÚhProcess§PÂ_¥¦¬O§_¬O§Úªº¶iµ{ªº¥y¬`¡Hµª®×¬O¡G¦b§Úªº¶iµ{·í¤¤¥ýÀò±o§Úªº¶iµ{ªº¥y¬`¡AµM¦Z³q¹L¶iµ{¶¡³q«H¾÷¨î¶Ç»¼µ¹¹_¤l¨ç¼Æ¡A»PhProcess¶i¦æ¤ñ¸û¤£´N¦æ¤F¡H¿ù¡I¦]¬°¥y¬`¬O¤@­Ó¶iµ{¬ÛÃöªº­È¡A¤£¦P¶iµ{¤¤±o¨ìªº§Úªº¶iµ{ªº¥y¬`ªº­È¦b¶iµ{¶¡¶i¦æ¤ñ¸û¬OµL·N¸qªº¡C
    «ç»ò¿ì¡H§Ú­Ì¨Ó¦Ò¹î¤@¤U§ÚªºhProcess¥¦¬O¦p¦ó±o¨ìªº¡C¤@­Ó¶iµ{¥u¦³¥¦ªº¶iµ{ID¬O¿W¤@µL¤Gªº¡A¾Þ§@¨t²Î³q¹L¶iµ{ID¨Ó¼ÐÃѤ@­Ó¶iµ{¡A·í¬Y­Óµ{§Ç­n¹ï³o­Ó¶iµ{¶i¦æ³X°Ýªº¸Ü¡A¥¦­º¥ý±o¥ÎOpenProcess³o­Ó¨ç¼Æ¨Ã¶Ç¤J­n³X°Ýªº¶iµ{ID¨ÓÀò±o¶iµ{ªº¥y¬`¡A¨Ó¬Ý¬Ý¥¦ªº°Ñ¼Æ¡G
HANDLE OpenProcess(
DWORD      dwDesiredAccess, // §Æ±æÀò±oªº³X°ÝÅv­­
BOOL       bInheritHandle, // «ü©ú¬O§_§Æ±æ©ÒÀò±oªº¥y¬`¥i¥HÄ~©Ó
DWORD      dwProcessId // ­n³X°Ýªº¶iµ{ID
);
    ¯ßµ¸º¥º¥Åã²{¡G¦b½Õ¥ÎTerminateProcess()¤§«e¡A¥²¥ý½Õ¥ÎOpenProcess()¡A¦ÓOpenProcess()ªº°Ñ¼Æªí¤¤ªºdwProcessId¬O¦b¨t²Î½d³ò¤º°ß¤@½T©wªº¡C±o¥Xµ²½×¡G­nHookªº¨ç¼Æ¤£¬OTerminateProcess()¦Ó¬OOpenProcess()¡A¦b¨C¦¸½Õ¥ÎOpenProcess()ªº®É­Ô¡A§Ú­Ì¥ýÀˬddwProcessId¬O§_¬°§Úªº¶iµ{ªºID(§Q¥Î¶iµ{¶¡³q«H¾÷¨î)¡A¦pªG¬Oªº¸Ü´N²³æ¦aªð¦^¤@­Ó¿ù»~½X´N¥i¥H¤F¡A¥ô°ÈºÞ²z¾¹®³¤£¨ì§Úªº¶iµ{ªº¥y¬`¡A¥¦¦p¦óµ²§ô§Úªº¶iµ{©O¡H
    ¦Ü¦¹¡AºÃ¹Î¥þ³¡´¦¶}¤F¡C¥ÑHook TerminateProcess()¨ìHook OpenProcess()ªº³o­Ó¹Lµ{¡AÅé²{¤F¤@­Ó°f¦V«äºûªº«ä·Q¡C¨ä¹ê§Ú·íªì๶i¤FTerminateProcess()ªº¦º­J¦P¨½¥b¤Ñ¥X¤]¤£¨Ó¡A¦ý³Ì²×ÁÙ¬OÂÛ¥X¤FÆF·Pªº¤õªá¡Aª`·N¤OÂಾ¨ì¤FOpenProcess()¤W­±¡A¹ê²{¤F¶iµ{¨¾±þ

¤§¤T¡GÅܳt±±¨î
³o¬OHook Win32 APIªº¤@­Ó¤ñ¸û¥tÃþ©M¦³½ìªºÀ³¥Î¤è­±¡C
    ³o¨½©Ò«üªºÅܳt±±¨î¡A¨Ã¤£¬O»¡¥i¥H§ïÅÜ¥ô¦óµ{§Çªº¹B¦æ³t«×¡A¥u¯à§ïÅܲŦX³o¨Ç±ø¥óªºµ{§Çªº¹B¦æ³t«×¡Gµ{§Çªº¹B¦æ³t«×¨Ì¿à©ó©w®É±±¨î¡A¤]´N¬O»¡¡Aµ{§Çªº°õ¦æ³æ¤¸°õ¦æªºÀW²v¬O¤H¬°ªº¨Ì*©w®É¾÷¨î±±¨îªº¡A¤£¬O¨Ì¿à©óCPUªº§ÖºC¡C¤ñ¦p»¡¡A¬Y­Óµ{§Ç¨C¹j1¬íÄÁµo¥X¡§ºwµª¡¨Án¡A¥¦¦b§Öªº¹q¸£¤W©MºCªº¹q¸£¤W©Òªí²{¥X¨Óªº¦æ¬°¬O¤@­Pªº¡C³o¼Ëªº¨Ì¿à©ó©w®É±±¨îªºµ{§Ç¤~¬O§Ú­Ìªº¬ã¨s¡§Åܳt¡¨¹ï¶H¡C
    ¤@­ÓWINDOWSÀ³¥Îµ{§Çªº©w®É¾÷¨î¦³«Ü¦h¡C¹³¤W­±´£¨ìªº¨Ò¤lµ{§Ç¥i¥H±Ä¥ÎWM_TIMER®ø®§¨Ó¹ê²{¡A³q¹L¨ç¼ÆSetTimer()¥i¥H³]©w²£¥ÍWM_TIMER®ø®§ªº®É¶¡¶¡¹j¡C¨ä¥¦ªº¤èªkÁÙ¦³³q¹LGetTickCount()©MtimeGetTime()µ¥¨ç¼Æ±o¨ì¨t²Î®É¶¡¡AµM¦Z³q¹L¤ñ¸û®É¶¡¶¡¹j¨Ó©w®É¡AÁÙ¦³timerSetEvent()³]¸m®ÉÄÁ¨Æ¥óµ¥µ¥¤è¦¡¡C¥ý¨Ó¬Ý¬Ý³o¨Ç¨ç¼Æªº©w¸q¡G
UINT_PTR SetTimer(
  HWND      hWnd, // ±µ¦¬WM_TIMER®ø®§ªºµøµ¡¥y¬`
  UINT_PTR  nIDEvent, // ©w®É¾¹ªºID¸¹
  UINT      uElapse, // µo¥ÍWM_TIMER®ø®§ªº®É¶¡¶¡¹j
  TIMERPROC lpTimerProc // ³B²z©w®Éµo¥Í®Éªº¦^½Õ¨ç¼Æ¤J¤f¦a§}
);
MMRESULT timeSetEvent(
  UINT               uDelay, // ®ÉÄÁ¨Æ¥óµo¥Íªº®É¶¡¶¡¹j
  UINT               uResolution, // ³]¸m®ÉÄÁ¨Æ¥óªº¤À¿ë²v
  LPTIMERCALLBACK    lpTimerProc, // ³B²z®ÉÄÁ¨Æ¥óµo¥Í®Éªº¦^½Õ¨ç¼Æ¤J¤f¦a§}
  DWORD              dwUser, // ¨Ï¥ÎªÌ´£¨Ñªº¦^½Õ¸ê®Æ
  UINT               fuEvent // ³]¸m¨Æ¥óªºÃþ«¬
);
DWORD GetTickCount(VOID) // ªð¦^¨t²Î±Ò°Ê¥H¨Ó¸g¹L¤F¦h¤Ö²@¬í¤F
DWORD timeGetTime(VOID) // Ãþ¦ü©óGetTickCount()¡A¦ý¤À¿ë²v§ó°ª
    ¨º»ò§Ú­Ì¨Ó¬Ý¡A¦pªG¯à±±¨îSetTimer()ªºuElapse°Ñ¼Æ¡BtimeSetEvent()ªºuDelay°Ñ¼Æ¡BGetTickCount()©MtimeGetTime()ªºªð¦^­È¡A´N¯à¹ê²{Åܳt±±¨î¡A°£«DÀ³¥Îµ{§Ç¨Ï¥Îªº¬O¨ä¥¦ªº©w®É¾÷¨î¡A¤£¹L¤j¦h¼ÆÀ³¥Îµ{§Ç±Ä¥Îªº©w®É¾÷¨î¤£¥~¥G³£¬O³o¨Ç¡C
    ¸Ó½ü¨ìHook¤jªk¥X³õ¤F¡C¦]¬°§Ú­Ì¤@¯ë¥u·Q§ïÅܬY­Óµ{§Çªº³t«×¡A¤ñ¦p¬O»¡¬Y­Ó´åÀ¸µ{§Ç¡A©Ò¥H§Ú­Ì¤£³]¸m¥þ§½¹_¤l¡C¤S¦]¬°§Ú­Ì¤£²M·¡¨º­ÓÀ³¥Îµ{§Ç¨ì©³¨Ï¥Îªº¬O¨ººØ©w®É¾÷¨î¡A©Ò¥H¤W­z´X­Ó¨ç¼Æ§Ú­Ì¥þ³¡³£­n±µºÞ¡AµM¦Z§âÃö©ó©w®É°Ñ¼Æ©Îªð¦^­È«ö¤ñ¨ÒÁY©ñ´N¥i¥H¤F¡C

¤§¥|¡G«Ì¹õ¨úµü
¥Î¹Lª÷¤sµüÅQ§a¡H¥Î¹Lªº¤H¤@©w¹ï¥¦ªº«Ì¹õ¨úµü¥\¯à¦L¶H«Ü²`¨è¡A¦]¬°³oºØ¥\¯à¨Ï½Ķ¹Lµ{§ó¥[²«K§Ö±¶¡A«Ì¹õ¨úµü¬Oª÷¤sµüÅQªº®Ö¤ß§Þ³N¤§¤@¡C
    ¤j®a¦³¨S¦³·Q¹L³o¼Ë¯«©_ªº¥\¯à¬O¦p¦ó¹ê²{ªº©O¡H¸g¾ä¹LDOS¦~¥N¨t²Îµ{¦¡¤Æªº¤H¥i¯àª¾¹D¡A«Ì¹õ¤WÅã¥Üªº¦r²Å¬O¦s©ñ¦bÅã¦s¨½ªº¡A¨C­Ó§¤¼Ðªº¦r²Å¹ïÀ³Åã¦sªº¤@­Ó¯S©wªº²{¦s³æ¤¸¦sÀxªº¦r²Å¡Aª½±µ¾Þ§@Åã¦s¡A´N¥i¥H¶i¦æ¦r²ÅªºÅã¥Ü©MŪ¨ú¡A­YWINDOWS¬O³o¼Ë´N¦n¤F¡A¥i±¤¨Æ¹ê¤W¬Û¥h¬Æ»·¡C¨ºWINDOWSªº¦r²Å¬O«ç¼ËÅã¥Üªº©O¡HWINDOWS¬O¹Ï§Î¬É­±¡AÅã¥Üªº³Ì¤p³æ¦ì¬O¹³¯À(Pixel)¡A¤W­±ªº©Ò¦³ªF¦è³£¬O¡§µe¡¨¤W¥hªº¡A·íµM¤]¥]¬A¤F¦r²Å¡A¤]´N¨S¦³¤°»ò¦r²ÅÅã¦sªº·§©À¤F¡C¨S¦³¤Fª½±µ¾Þ§@Åã¦s¦ÓÀò±o«Ì¹õ¤W¦r²Å¤º®eªº¿ìªk¤F¡A¨ºÁÙ¦³¤°»ò¤èªk©O¡H
    Åý§Ú­Ì¨Ó³]¨­³B¦a¦a·Q·Q¬Ý¡A°²¦p§Ú­Ì­n¦b¦Û¤vªºµ{§Ç¤¤Åã¥Ü¤@­Ó¦r²Å¦ê¡A§Ú­Ì·|«ç¼Ë°µ©O¡H¤£­n¦^µª¬OMessageBox()¡A§Ú­Ì¤£¬O«üªº³oºØ¡§Åã¥Ü¡¨¤èªk¡A§Ú«üªº¬O³Ì§C¶¥ªº¤èªk¡A¤]´N¬Oª½±µ¾Þ§@DCªº¤èªk¡A§Ú·Q¤@¯ë´N¬O½Õ¥Î¤W­±´£¨ì¹LªºWin32 API¨ç¼ÆTextOut()¤F¡A·íµM¡AÁÙ¦³Ãþ¦üªº¤@¨Ç¨ä¥¦¨ç¼Æ¡A¨Ò¦p¡GExtTextOut()¡BDrawText()¡BDrawTextEx()µ¥µ¥¡C¦n¤F¡A§ä¨ìÂI¬Ü¥Ø¤F¡A§Ú­Ì¨Ó¬Ý¬Ý³o¨Ç¨ç¼Æªº°Ñ¼Æ¯à´£¨Ñ­þ¨Ç¸ê°T¡A³o¨½¥u¦C¥XTextOut()¨ç¼Æªº©w¸q¡A¨ä¥¦ªº¨ç¼Æ°ò¥»³£¥]§t³o¨Ç°Ñ¼Æ¡A¥t¥~´£¨Ñ¤F§ó¦hªºªþ¥[¿ï¶µ¦Ó¤w¡A½Ð¬d¾\MSDN¬ÛÃö¤åÀÉ¡G
BOOL TextOut(
  HDC       hdc, // ³]³Æ¤W¤U¤å¥y¬`
  int       nXStart, // ¶}©lø¨î¦r²Å¦êªº¦ì¸mªºx§¤¼Ð
  int       nYStart, // ¶}©lø¨î¦r²Å¦êªº¦ì¸mªºy§¤¼Ð
  LPCTSTR   lpString, // «ü¦V¦r²Å¦êªº«ü°w
  int       cbString // «ü©ú­nø¨î¦h¤Ö­Ó¦r²Å
);
    §Ú­Ì¬Ý¨ì¡A§¤¼Ð©M¤º®e³£¦³¤F¡A³o¤£¥¿¬O§Ú­Ì·Q­nªº¸ê°T¶Ü¡H¥u­nHook¦í³o­Ó¨ç¼Æ¡A³o¨Ç¸ê°T¤£³£³è¤â¥i±o¤F¶Ü¡H©ó¬O²½¥XHook¤jªk¨Ó°µ­Ó¹êÅç¡G¥ýÀH«K¥ÎVCªº¦V¾É¶}¹@¤@­Ó³æ¤åÀÉÀ³¥Îµ{§Ç¡A¦bOnDraw()¨ç¼Æ¨½½Õ¥ÎTextOut()¦b¬Y­Ó¦ì¸mÀH«K¿é¥X¤@­Ó¦r²Å¦ê(¤£½×¬O½Õ¥ÎpDC->TextOut(...)©ÎªÌ¬O::TextOut(...)³£¤@¼Ë¡ACDCÃþ¥u¤£¹L§âTextOut()«Ê¸Ë¤F¤@¤U¦Ó¤w)¡AµM¦Z¦bOnInitialUpdate()¨½³]¸mHook(¥Î²{¦¨ªº®w)¡A¹_¦íTextOut()¡AºIÀòTextOut¤§¦Z¡AÅýTextOut()¿é¥X¥t¥~¤@­Ó¦r²Å¦ê¦Ó¤£¿é¥X­ì¨Óªº¦r²Å¦ê¡CÁÙ­n°O¦í¦bOnDestroy()¨½¸Ñ°£Hook¡C³Ì¦Z½sͳs±µ¡A´ú¸Õµ{§Ç¡C§A·|µo²{¤£¶È¬O§A½Õ¥ÎTextOut()¿é¥Xªº¦a¤èªº¦r²Å¦ê³Q´À´«¤F¡A¦Ó¥B³s¤~¥¹¡B¹ï¸Ü®Øµ¥µ¥¦³¦rªº¦a¤è¤]ÅܤF¡A¦b¹êÅ禨¥\¤§§E¡A¬O¤£¬O­Ó·N¥~ªº¦¬Àò¡H¨ä¹êWINDOWS¤º³¡ªº¤j¦h¼Æ¤å¦r¿é¥X¤]¬O½Õ¥Î¤FTextOut()¨ç¼Æ¨Ó¹ê²{ªº¡C²{¦b¤ô¸¨¥Û¥X¤F¡A§Ú­Ì¥u­nHook¦í¤å¦r¿é¥X¨ç¼Æ¡A¥]¬A§Ú¤W­±´£¨ìªº©M¨S¦³´£¨ìªº¨ç¼Æ¡A´N¯àºIÀò«Ì¹õ¤W¤å¦r¿é¥Xªº§¤¼Ð©M¤º®eµ¥µ¥¸ê°T¡A¥u­n§Ú­Ì¤@¤@§@°O¿ý¡A¨Ã¥[¥H¤ÀªRÂà´«¡A¸ò·Æ¹«ªº¦ì¸m¶i¦æ¤ñ¸û¡A§Ú­Ì´N¯à±o¨ì«Ì¹õ¤W¬Y­Ó¦ì¸mªº¤å¦r¤º®e¬O¤°»ò¤F¡A­n½Ķ«ç»òªº¡A´N¬Ý§Aªº¤F¡A³o´N¬O«Ì¹õ¨úµü¡AÁöµM¹ê»Ú¤W¹ê²{ªº¹Lµ{¨Ã¤£¹³»¡±o¨º»ò²³æ¡C
    ¥X¤FµüÅQªº«Ì¹õ¨úµü¡AÁÙ¦³¤@¨Ç°ÊºAº~¤Æ¡B¥~±¾¤¤¤å¥­¥x¤§Ãþªº³nÅé¡A¤]¬O°ò©ó³oºØ§Þ³Nªº¡A²{¦b¬Ý¨Ó¡A¥¦­Ì¬O¤£¬O¤w¸g¤£¦A¯«¯¦¤F¡H



[size=6][color=#0000ff]Ãö©óAPI HOOKÄdºI«Ê¥]­ì²z

[/color][/size]§Q¥ÎhookºIÀò¶iµ{ªºAPI½Õ¥Î
ºIÀòAPI¬O­Ó«Ü¦³¥ÎªºªF¦è¡A¤ñ¦p§A·Q¤ÀªR¤@¤U§O¤Hªºµ{§Ç¬O«ç¼Ë¤u§@ªº¡C³o¨½§Ú¤¶²Ð¤@¤U¤@ºØ§Ú¦Û¤v¸ÕÅç³q¹Lªº¤èªk¡C
­º¥ý¡A§Ú­Ì¥²¶·³]ªk§â¦Û¤vªº¥N½X©ñ¨ì¥Ø¼Ðµ{§Çªº¶iµ{ªÅ¶¡¨½¥h¡CWindows Hook¥i¥HÀ°§Ú­Ì¹ê²{³o¤@ÂI¡CSetWindowsHookExªºÁn©ú¦p¤U¡G
HHOOK SetWindowsHookEx(
int idHook, // hook type
HOOKPROC lpfn, // hook procedure
HINSTANCE hMod, // handle to application instance
DWORD dwThreadId // thread identifier
);
¨ãÅ骺°Ñ¼Æ§t¸q¥i¥H½¾\msdn¡A¨S¦³msdn¥i¿×¤o¨BÃø¦æ¡C
³o¨½Hook¥»¨­ªº¥\¯à¨Ã¤£­«­n¡A§Ú­Ì¨Ï¥Î¥¦ªº¥Øªº¶È¶È¥u¬O¬°¤F¯à°÷ÅýWindows§â§Ú­Ìªº¥N½X´Ó¤J§Oªº¶iµ{¨½¥h¡Chook Type§Ú­Ì¥ô¿ï¤@ºØ§Y¥i¡A¥u­n«OÃÒ¬O¥Ø¼Ðµ{§ÇªÖ©w·|½Õ¥Î¨ì´N¦æ¡A³o¨½§Ú¥Îªº¬OWH_CALLWNDPROC¡Clpfn©MhMod¤À§O«ü¦V§Ú­Ìªº¹_¤l¥N½X¤Î¨ä©Ò¦bªºdll¡AdwThreadId³]¬°0¡Aªí¥Ü¹ï©Ò¦³¨t²Î¤ºªº½uµ{³£±¾¤W³o¼Ë¤@­Óhook¡A³o¼Ë§Ú­Ì¤~¯à§â¥N½X©ñ¨ì§Oªº¶iµ{¨½¥h¡C
¤§¦Z¡A§Ú­Ìªº¥N½X´N¤w¸g¶i¤J¤F¨t²Î¤ºªº©Ò¦³¶iµ{ªÅ¶¡¤F¡C¥²¶·ª`·Nªº¬O¡A§Ú­Ì¥u»Ý­nºIÀò§Ú­Ì©ÒÃö¤ßªº¥Ø¼Ðµ{§Çªº½Õ¥Î¡A¦]¦¹ÁÙ¥²¶·°Ï¤À¤@¤U¶iµ{¸¹¡C§Ú­Ì¦Û¤vªº¹_¤l¨ç¼Æ¤¤¡A²Ä¤@¦¸¹B¦æ±N¶i¦æ³Ì­«­nªºAPI­«©w¦Vªº¤u§@¡C¤]´N¬O³q¹L±N©Ò»Ý­nºIÀòªºAPIªº¶}ÀY´X­Ó¦ì¤¸²Õ§ï¬°¤@­Ó¸õÂà«ü¥O¡A¨Ï¨ä¸õÂà¨ì§Ú­ÌªºAPI¤¤¨Ó¡C³o¬O³ÌÃöÁ䪺³¡¤À¡C³o¨½§Ú·QºI¤T­Ó½Õ¥Î¡Aws2_32.dll¤¤ªºsend©Mrecv¡Buser32.dll¤¤ªºGetMessageA¡C
DWORD dwCurrentPID = 0;
HHOOK hOldHook = NULL;
DWORD pSend = 0;
DWORD pRecv = 0;
GETMESSAGE pGetMessage = NULL;
BYTE btNewBytes[8] = { 0x0B8, 0x0, 0x0, 0x40, 0x0, 0x0FF, 0x0E0, 0 };
DWORD dwOldBytes[3][2];
HANDLE hDebug = INVALID_HANDLE_value;
LRESULT CALLBACK CallWndProc( int nCode, WPARAM wParam, LPARAM lParam )
{
DWORD dwSize;
DWORD dwPIDWatched;
HMODULE hLib;
if( dwCurrentPID == 0 )
{
dwCurrentPID = GetCurrentProcessId();
HWND hwndMainHook;
hwndMainHook = ::FindWindow( 0, "MainHook" );
dwPIDWatched = ::SendMessage( hwndMainHook, (WM_USER+100), 0, 0 );
hOldHook = (HHOOK)::SendMessage( hwndMainHook, (WM_USER+101), 0, 0 );
if( dwCurrentPID == dwPIDWatched )
{
hLib = LoadLibrary( "ws2_32.dll" );
pSend = (DWORD)GetProcAddress( hLib, "send" );
pRecv = (DWORD)GetProcAddress( hLib, "recv" );
::ReadProcessMemory( INVALID_HANDLE_value, (void *)pSend, (void *)dwOldBytes[0], sizeof(DWORD)*2, &dwSize );
*(DWORD *)( btNewBytes + 1 ) = (DWORD)new_send;
::WriteProcessMemory( INVALID_HANDLE_value, (void *)pSend, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize );
::ReadProcessMemory( INVALID_HANDLE_value, (void *)pRecv, (void *)dwOldBytes[1], sizeof(DWORD)*2, &dwSize );
*(DWORD *)( btNewBytes + 1 ) = (DWORD)new_recv;
::WriteProcessMemory( INVALID_HANDLE_value, (void *)pRecv, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize );
hLib = LoadLibrary( "user32.dll" );
pGetMessage = (GETMESSAGE)GetProcAddress( hLib, "GetMessageA" );
::ReadProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)dwOldBytes[2], sizeof(DWORD)*2, &dwSize );
*(DWORD *)( btNewBytes + 1 ) = (DWORD)new_GetMessage;
::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize );
hDebug = ::CreateFile( "C:\\Trace.log", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 );
}
}
if( hOldHook != NULL )
{
return CallNextHookEx( hOldHook, nCode, wParam, lParam );
}
return 0;
}
¤W­±ªº¹_¤l¨ç¼Æ¡A¥u¦³²Ä¤@¦¸¹B¦æ®É¦³¥Î¡A´N¬O§â¤T­Ó¨ç¼Æªº­º8¦ì¤¸²Õ­×§ï¤@¤U¡]¹ê»Ú¤W¥u»Ý­n7­Ó¡^¡CbtNewBytes¤¤ªº«ü¥O¹ê»Ú´N¬O
mov eax, 0x400000
jmp eax
³o¨½ªº0x400000´N¬O·sªº¨ç¼Æªº¦a§}¡A¤ñ¦pnew_recv/new_send/new_GetMessage¡A¦¹®É¡A°½±ç´«¬W¤w¸g§¹¦¨¡C¦A¬Ý¬Ý§Ú­Ìªº¨ç¼Æ¤¤³£¤z¤F¨Ç¤°»ò¡C¥HGetMessageA¬°¨Ò¡G
BOOL _stdcall new_GetMessage( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax )
{
DWORD dwSize;
char szTemp[256];
BOOL r = false;
//Watch here before its executed.
sprintf( szTemp, "Before GetMessage : HWND 0x%8.8X, msgMin 0x%8.8X, msgMax 0x%8.8x \r\n", hWnd, wMsgFilterMin, wMsgFilterMax );
::WriteFile( hDebug, szTemp, strlen(szTemp), &dwSize, 0 );
//Watch over
// restore it at first
::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)dwOldBytes[2], sizeof(DWORD)*2, &dwSize );
// execute it
r = pGetMessage( lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax );
// hook it again
*(DWORD *)( btNewBytes + 1 ) = (DWORD)new_GetMessage;
::WriteProcessMemory( INVALID_HANDLE_value, (void *)pGetMessage, (void *)btNewBytes, sizeof(DWORD)*2, &dwSize );
//Watch here after its executed
sprintf( szTemp, "Result of GetMessage is %d.\r\n", r );
::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 );
if( r )
{
sprintf( szTemp, "Msg : HWND 0x%8.8X, MSG 0x%8.8x, wParam 0x%8.8X, lParam 0x%8.8X\r\nTime 0x%8.8X, X %d, Y %d\r\n",
lpMsg->hwnd, lpMsg->message,
lpMsg->wParam, lpMsg->lParam, lpMsg->time,
lpMsg->pt.x, lpMsg->pt.y );
::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 );
}
strcpy( szTemp, "\r\n" );
::WriteFile( hDebug, szTemp, strlen( szTemp ), &dwSize, 0 );
//Watch over
return r;
}
¥ý±NºIÀò¤U¨Óªº°Ñ¼Æ¡A¼g¤J¨ì¤@­Ólog¤å¥ó¤¤¡A¥H«K¤ÀªR¡CµM¦Z«ì´_­ì¥ý«O¯d¤U¨ÓªºGetMessageAªº­º8¦ì¤¸²Õ¡AµM¦Z°õ¦æ¯u¥¿ªºGetMessageA½Õ¥Î¡A§¹²¦¦Z¦A±N°õ¦æµ²ªG¤]¼g¤Jlog¤å¥ó¡AµM¦Z±NGetMessageAªº°õ¦æµ²ªGªð¦^µ¹½Õ¥ÎªÌ¡C
¾ã­ÓºIÀòªº¹Lµ{´N¬O³o¼Ë¡C§A¥i¥H§â¨ä¤¤ªº¼glog³¡¤À§ï¦¨§A¦Û¤v·Q­nªº¾Þ§@¡C³o¨½¦³­Ó¤£¨¬ªº¦a¤è¬O¡AºIÀò°Ê§@¬O¤£¯à°÷¨Ãµo¶i¦æªº¡A¦pªG¥Ø¼Ð¶iµ{¬O¦h½uµ{ªº¡A´N·|¦³°ÝÃD¡C¸Ñ¨M¿ìªk¬O¡A¥i¥H¦b¨C¦¸new_GetMessage¤¤¥[¤J¤@­ÓCriticalSectionªºÂê©M¸ÑÂê¡A¥H¨Ï½Õ¥ÎÅܬ°¦ê¦æ¶i¦æ¡A¦ý³o­Ó§Ú¨S¦³¸ÕÅç¹L¡C

[size=6][color=#0000ff]ºIÀòWINSOCKET
[/color][/size]ºIÀòWINSOCKET
TCP/IP¨óij¬O¥Ø«e¦Uºôµ¸¾Þ§@¨t²Î¥D­nªº³q«H¨óij¡A¤]¬O INTERNETªº³q«H¨óij¡AWIN95/NT¥­¥x´£¨Ñ¤FTCP/IP¨óijªº¹ê²{ ¨ç¼Æ®wWINSOCKET¡]WSOCKET.DLL¡^°ÊºA®w¡A¦]¦Ó¥i¥H§Q¥ÎWINSOCKET ½s¼g°ò©óTCP/IP¨óijªºÀ³¥Î¨t²Î¡C¡]UNIX¥­¥x´£¨ÑBSD-SOCKET¡^
---- ¦b¹ê»ÚÀ³¥Î¶}µo¤¤¡A§Ú­ÌÁ`§Æ±æ¦b½Õ¥Î¥¿±`ªºWINSOCKET±µ¤f ¨ç¼Æ®É¡A¥ý¶i¦æ¦U¦Ûªº¯S®í³B²z¡A¦p¹ï©ó¶}µo°ò©óWIN95/NT¥­¥x ªºVPN«È¤áºÝ³nÅé®É¡A§Ú­Ì§Æ±æÀ³¥Î¸ê°T¦b°e¥X«e§Y¦b½Õ¥ÎSEND¨ç ¼Æ®É¡A¥ý¹ï¸ê°T¶i¦æ¥[±K¦Z¦A°e¥X¡C¤S¦p¦³ªºÀ³¥Î¨t²Î½Õ¥ÎCONNECT ¨ç¼Æ¶i¦æ³s±µ½Ð¨D¡A§Ú­Ì»Ý­nºIÀò¦¹½Õ¥Î¡A´¡¤J§Ú­Ì¦Û¤vªº¨­¥÷»{ÃÒ¡C ¼Ò¶ô¡A¥u¦³¦Xªkªº¨­¥÷¡A¤~¥i¥H½Õ¥Î¥¿±`ªºCONNECT¨ç¼Æ¡A¦Ó«Dªkªº ¨­¥÷«h¤£¶i¦æCONNECT½Õ¥Î¡C¦]¦Ó»Ý­n¶}µo¤@ºØºIÀòWINSOCKET¨ç¼Æ½Õ¥Î ªº¤èªk¡]INTERCEPT WINSOCKET¡^¡A¨Ï¦b¶i¦æWINSOCK¥¿±`¨ç¼Æ½Õ¥Î¤§«e¡A ¨Ï¨ä¥ý½Õ¥Î§Ú­Ìªº¨­¥÷»{ÃÒ¼Ò¶ô¡A¥[¸Ñ±K¼Ò¶ô¡C¥Ñ©ó¦bWIN95/NT¥­¥x WINSOCKET¬O¥H°ÊºA³s±µ®w¡]DLL¡^§Î¦¡´£¨Ñªº¡AÀ³¦Ó¨Ï¦UºØÀ³¥Î¨t²Î¦b ¶i¦æTCP/IP¨óij³q«H®É¡AµL¶·¥ô¦ó­×§ï¡A´N¥ý½Õ¥Î§Ú­ÌªºÀ³¥Î¼Ò¶ô¡A ¹ê²{À³¥Îªº³z©ú©Ê¡C
---- ¤@¯ë­nºIÀò°ÊºA®w¡]DLL¡^ªº½Õ¥Î¡A¥i¥H¥ÎHOOK¡]¹_¤l§Þ³N¡^¡A©Î¥~¥]DLL §Þ³N¡A§Y±N­ì¨ÓªºDLL®w§ï¦W¡]¦p±NWINSOCK®wWSOCK32.DLL§ï¬°A.DLL¡^¡A ·s«Ø¤@­ÓDLL®w¡AWSOCKET32.DLL¡A¦b·sªºDLL®w¤¤½Õ¥ÎªºDLL®w¡C
---- ¥H¤Uµ¹¥X¤F§Q¥ÎVISUAL C++¹ê²{ªººIÀòWINSOCKªºÀ³¥Îµ{§Çªº·½¥N½X¡CZip 4KB
---- ¥ý±NWINSOCK®wWSOCK32.DLL¸Ó¦W¬°AAA.DLL¡AWSOCK32.AAA
---- §Q¥ÎVISUAL C++³Ð«Ø¤@­ÓDLL¶µ¥Ø WSOCK32.DLL
---- ¥Ø«e¥[¤Jªº¼Ò¶ô¬°¤@­Ó¤é§Ó³B²z¡C

[size=6]ºôµ¸´åÀ¸ªº«Ê¥]
[/size]ºôµ¸´åÀ¸ªº«Ê¥]§Þ³N¬O¤j¦h¼Æµ{¦¡¤Æ·R¦nªÌ³£¤ñ¸ûÃöª`ªºÃöª`ªº°ÝÃD¤§¤@¡A¦b³o¤@½g¨½´NÅý§Ú­Ì¤@°_¬ã¨s¤@¤U³o¤@­Ó°ÝÃD§a¡C
§O¬Ý³o¬O«Ê¥]³o¤@°ÝÃD¡A¦ý¬O¯A¤Îªº§Þ³N½d³ò«Ü¼s½d¡A¹ê²{ªº¤è¦¡¤]«Ü¦h¡]¤ñ¦p»¡APIHOOK,VXD,Winsock2³£¥i¥H¹ê²{¡^¡A¦b³o¨½§Ú­Ì¤£¥i¯à¨CºØ§Þ³N©M¤èªk³£¯A¤Î¡A©Ò¥H§Ú¦b³o¨½¥HWinsock2§Þ³N§@¸Ô²ÓÁ¿¸Ñ¡A´Nºâ§@©ß¿j¤Þ¥É¡C
¥Ñ©ó¤j¦h¼ÆÅªªÌ¹ï«Ê¥]Ãþµ{¦¡¤Æ¤£¬O«Ü¤F¸Ñ¡A§Ú¦b³o¨½´N²³æ¤¶²Ð¤@¤U¬ÛÃöª¾ÃÑ¡G
APIHooK¡G
¥Ñ©óWindowsªº§â¤º®Ö´£¨Ñªº¥\¯à³£«Ê¸Ë¨ìAPI¨½­±¡A©Ò¥H¤j®a­n¹ê²{¥\¯à´N¥²¶·³q¹LAPI¡A´«¥y¸Ü»¡´N¬O§Ú­Ì­n·Q®·Àò¸ê®Æ«Ê¥]¡A´N¥²¶·¥ý­n±oª¾¹D¨Ã¥B®·Àò³o­ÓAPI¡A±qAPI¨½­±±o¨ì«Ê¥]¸ê°T¡C
VXD¡G
ª½±µ³q¹L±±¨îVXDÅX°Êµ{§Ç¨Ó¹ê²{«Ê¥]¸ê°Tªº®·Àò¡A¤£¹LVXD¥u¯à¥Î©ówin9X¡C
winsock2¡G
winsock¬OWindowsºôµ¸µ{¦¡¤Æ±µ¤f¡Awinsock¤u§@¦bÀ³¥Î¼h¡A¥¦´£¨Ñ»P©³¼h¶Ç¿é¨óijµLÃöªº°ª¼h¸ê®Æ¶Ç¿éµ{¦¡¤Æ±µ¤f¡Awinsock2¬Owinsock2.0´£¨ÑªºªA°È´£¨ÑªÌ±µ¤f¡A¦ý¥u¯à¦bwin2000¤U¥Î¡C
¦n¤F¡A§Ú­Ì¶}©l¶i¤Jwinsock2«Ê¥]¦¡µ{¦¡¤Æ§a¡C
¦b«Ê¥]µ{¦¡¤Æ¨½­±§Ú·Ç³Æ¤À¨â­Ó¨BÆJ¹ï¤j®a¶i¦æÁ¿¸Ñ¡G1¡B«Ê¥]ªº®·Àò¡A2¡B«Ê¥]ªº°e¥X¡C
­º¥ý§Ú­Ì­n¹ê²{ªº¬O«Ê¥]ªº®·Àò¡G
Delphiªº«Ê¸Ëªºwinsock¬O1.0ª©ªº¡A«Ü¦ÛµMwinsock2´N¥Î¤£¦¨¡C¦pªG­n¨Ï¥Îwinsock2§Ú­Ì­n¹ïwinsock2¦bDelphi¨½­±°µ¤@­Ó±µ¤f¡A¤~¥i¥H¨Ï¥Îwinsock2¡C
1¡B¦p¦ó°µwinsock2ªº±µ¤f¡H
1¡^§Ú­Ì­n¥ý©w¸qwinsock2.0©Ò¥Î±o¨ìªºÃþ«¬¡A¦b³o¨½§Ú­Ì¥HWSA_DATAÃþ«¬°µ¥Ü½d¡A¤j®a¥i¥HÁ|¤@¥é¤Tªº¨Ó¹ê²{winsock2¨ä¥LÃþ«¬ªº«Ê¸Ë¡C
§Ú­Ì­nª¾¹DWSA_DATAÃþ«¬·|³Q¥Î©óWSAStartup(wVersionRequired: word; var WSData: TWSAData): Integer;¡A¤j®a·|µo²{WSData¬O¤Þ¥Î°Ñ¼Æ¡A¦b¶Ç¤J°Ñ¼Æ®É¶Çªº¬OÅܶqªº¦a§}¡A©Ò¥H§Ú­Ì¹ïWSA_DATA°µ¥H¤U«Ê¸Ë¡G
const
WSADESCRIPTION_LEN = 256;
WSASYS_STATUS_LEN = 128;
type
PWSA_DATA = ^TWSA_DATA;
WSA_DATA = record
wVersion: Word;
wHighVersion: Word;
szDescription: array[0..WSADESCRIPTION_LEN] of Char;
szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
iMaxSockets: Word;
iMaxUdpDg: Word;
lpVendorInfo: PChar;
end;
TWSA_DATA = WSA_DATA;
2¡^§Ú­Ì­n±qWS2_32.DLL¤Þ¤Jwinsock2ªº¨ç¼Æ¡A¦b¦¹§Ú­Ì¤]¬O¥HWSAStartup¬°¨Ò°µ¨ç¼Æ¤Þ¤J¡G
function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Integer; stdcall;
implementation
const WinSocket2 = 'WS2_32.DLL';
function WSAStartup; external winsocket name 'WSAStartup';
³q¹L¥H¤W¤èªk¡A§Ú­Ì«K¥i¥H¹ïwinsock2°µ±µ¤f¡A¤U­±§Ú­Ì´N¥i¥H¥Îwinsock2°µ«Ê¥]®·Àò¤F¡A¤£¹L­º¥ý­n¦³¤@¶ôºô¥d¡C¦]¬°¯A¤Î¨ì¥¿¦b¹B§@ªººôµ¸´åÀ¸¦w¥þ°ÝÃD¡A©Ò¥H§Ú­Ì¦b³o¨½¥HIP¸ê®Æ¥]¬°¨Ò°µ«Ê¥]®·Àò¡A¦pªG¤U­±ªº¬Y¨Ç¸ê®ÆÃþ«¬±z¤£¬O«Ü²M·¡¡A½Ð±z¬d¾\MSDN¡G
1¡^§Ú­Ì­n°_°ÊWSA¡A³o®É­Ó­n¥Î¨ìªºWSAStartup¨ç¼Æ¡A¥Îªk¦p¤U¡G
INTEGER WSAStartup(
wVersionRequired: word¡A
WSData: TWSA_DATA
)¡F
2¡^¨Ï¥Îsocket¨ç¼Æ±o¨ìsocket¥y¬`¡Am_hSocket:=Socket(AF_INET, SOCK_RAW, IPPROTO_IP); ¥Îªk¦p¤U¡G
INTEGER socket(af: Integer,
Struct: Integer,
protocol: Integer
);
m_hSocket:=Socket(AF_INET, SOCK_RAW, IPPROTO_IP);¦bµ{§Ç¨½m_hSocket¬°socket¥y¬`¡AAF_INET¡ASOCK_RAW¡AIPPROTO_IP§¡¬°±`¶q¡C
3)©w¸qSOCK_ADDRÃþ«¬¡A¸ò¾Ú§Ú­Ìªººô¥dIPµ¹Sock_ADDRÃþ«¬ªþ­È¡AµM¦Z§Ú­Ì¨Ï¥Îbind¨ç¼Æ¨Ó¸j©w§Ú­Ìªººô¥d¡ABind¨ç¼Æ¥Îªk¦p¤U¡G
Type
IN_ADDR = record
S_addr : PChar;
End;
Type
TSOCK_ADDR = record
sin_family: Word;
sin_port: Word;
sin_addr : IN_ADDR
sin_zero: array[0..7] of Char;
End;
var
LocalAddr:TSOCK_ADDR;
LocalAddr.sin_family: = AF_INET;
LocalAddr.sin_port: = 0;
LocalAddr.sin_addr.S_addr: = inet_addr('192.168.1.1'); ¡þ¡þ³o¨½§A¦Û¤vªººô¥dªºIP¦a§},¦Óinet_addr³o­Ó¨ç¼Æ¬Owinsock2ªº¨ç¼Æ¡C
bind(m_hSocket, LocalAddr, sizeof(LocalAddr))¡F
4)¥ÎWSAIoctl¨Óª`¥UWSAªº¿é¤J¿é¥X²Õ¥ó¡A¨ä¥Îªk¦p¤U¡G
INTEGER WSAIoctl(s:INTEGER,
dwIoControlCode : INTEGER,
lpvInBuffer :INTEGER,
cbInBuffer : INTEGER,
lpvOutBuffer : INTEGER,
cbOutBuffer: INTEGER,
lpcbBytesReturned : INTEGER,
lpOverlapped : INTEGER,
lpCompletionRoutine : INTEGER
);
5)¤U­±°µ¦º´`Àô¡A¦b¦º´`Àô¶ô¨½¡A¨Ó¹ê²{¸ê®Æªº±µ¦¬¡C¦ý¬O«àÀô¤¤¶¡­n¥ÎSleep()°µ©µ®É¡A¤£µMµ{§Ç·|¥X¿ù¡C
6)¦b´`Àô¶ô¨½¡A¥Îrecv¨ç¼Æ¨Ó±µ¦¬¸ê®Æ¡Arecv¨ç¼Æ¥Îªk¦p¤U¡G
INTEGER recv (s : INTEGER,
buffer:Array[0..4095] of byte,
length : INTEGER,
flags : INTEGER,
)¡F
7)¦bbuffer¨½´N¬O§Ú­Ì±µ¦¬¦^¨Óªº¸ê®Æ¤F¡A¦pªG§Ú­Ì·Q­nª¾¹D¸ê®Æ¬O¤°»ò¦a¤èµo¨Óªº¡A¨º»ò¡A§Ú­Ì­n©w¸q¤@©wIP¥]µ²ºc¡A¥ÎCopyMemory()§âIP¸ê°T±qbuffer¨½­±Åª¥X¨Ó´N¥i¥H¤F¡A¤£¹LŪ¥X¨Óªº¬O¤Q¤»¶i¨îªº¸ê®Æ»Ý­nÂà´«¤@¤U¡C
¬Ý¤F«Ê¥]®·Àòªº¥þ¹Lµ{§Ç¡A¹ï§A¬O¤£¬O¦³ÂI°_µo¡AµM¦Ó¦b³o¨½­n§i¶D¤j®aªº¬O«Ê¥]ªºÀò±o¬O«Ü®e©öªº¡A¦ý¬O³\¦h´åÀ¸ªº«Ê¥]³£¬O¥[±Kªº¡A¦pªG§A·Q·d²M·¡©Ò±o¨ìªº¬O¤°»ò¤º®eÁٻݭn¦Û¤v¶i¦æ«Ê¥]¸Ñ±K¡C

³o¨½´¡±µ¤U¶Ç©_½ä³õ«Ê¥]ªº¥Îªk

¥Ñ©ó¤£¦P°Ï¤£¦PªA°È¾¹ªºªº¸ê®Æ¤£¦P¡A¤@­Ó«Ê¥]­n·Q¦b¨C­ÓªA°È¾¹³£¯à¨Ï¥Î¬O¤£¥i¯àªº¡C
³o´N»Ý­n§Ú­Ì¹ï­ì¦³ªº«Ê¥]¶i¦æ­×§ï¡C
   
   ¤j®a¦bµo«Ê¥]¤§«e¡A³£·|©MNPC»¡¸Ü¡AµM¦Z¶i¦æ·j´M¡A±o¨ì¤@§å¸ê®Æ¡A´N¬O16¶i¨î¥N½X
§Ú­Ì­n°µªº¬O¥´¶}©Ò­n°e¥Xªº«Ê¥]¡AµM¦Z¿ï¾Ü­n°e¥Xªº©R¥O¦p¡GPacket n 1¡A°e¥X¡C²{¦b
¤@­Ó«Ê¥]©R¥O´Nµo¥X¥h¤F¡A³o´N¬OWPEªº¥Îªk¡A§Ú­n»¡ªº¬O«ç»ò­×§ï¡A¤j®aÄ~Äò¬Ý¡G
   ²{¦b¡A§Ú­ÌÂùÀ»¥ªÃ䪺Packet n 1¡A·|¥X¨Ó¤@±ø¹ï¸Ü®Ø¡A¨½­±¤]¦³16¶i¨î¥N½X§Ú©Ò»Ý­n
°µªº¬O§â²Ä¤@±Æ²Ä3¡C4¡C5¡C6¡C4²Õ¸ê®Æ­×§ï¦¨§A­è¤~·j¯Áªº¬ÛÀ³¸ê®Æ¡]ª`·N¡G¥Lªº¬ÛÀ³¼Æ
¾Ú¬O¦b·j¯Áªº®É­Ô¡A¥ªÃä±aS²Å¸¹ªº¨º´X±Æ¸ê®Æ¡^
   ¦pªG¦b·j¯Áªº®É­Ô¡A¥X²{¤F³\¦h±aS²Å¸¹ªº¸ê®Æ±Æ¡A«hÃÒ©ú¡A¦³¦a¤è¥X¿ù¡A§A°h¥X¶Ç©_
¦A¶i©ÎªÌ¦A¦¸·j¯Á¤@¹M¡A¤@¯ë¥u·|¥X²{2-3±ÆªºS¡A¦Ó¨ä¥L±aRªº¤£¥ÎºÞ¥L¡C§A²{¦b¤w¸g§â¨ä
¥LªA°È¾¹ªº«Ê¥]§ï¦¨§A³o­ÓªA°È¾¹¯à¥Îªº«Ê¥]¤F¡C
   ¤ñ¦p½ä³õ«Ê¥]¡A¦b1¸¹©Ð·j¯Á¨Ã­×§ï1¸¹«Ê¥]¸ê®Æ¦Z°e¥X¡A¼»6¨ì¤F7¸¹©Ð¡A¦A·j¯Á¨Ã­×§ï
2¸¹«Ê¥]¸ê®Æ¦Z°e¥X¡A¨Ì¦¸Ãþ±À´N¥i¥H¨ì40¸¹©Ð¶¡¡Cª`·N¡A­×§ï9¸¹«Ê¥]¤]´N¬O®³¿ú«Ê¥]ªº
®É­Ô¥²¶·µ¥§A¥X¨Ó»PNPC¹ï¸Ü¥X²{¦¨¥\¦r¼Ëªº®É­Ô¤~¯à­×§ï¡A¦pªG§A®³¤£¨ì¿ú¡A§A©Ò­×§ïªº
«Ê¥]«hµL¥ô¦ó¥Î³B¡A©Ò¥H­n­×§ï®³¿ú«Ê¥]¡A¥²¶·§A¥ý±o®³¨ì¤@¦¸¿ú¡A¦ý¬O¦pªG¦¨¥\¤F©MNPC
»¡¸Ü¦Z¥ß§Y¶}©l­×§ï¡A¦Ó¥B­n¤@¦¸¦¨¥\¡AºCÂI³£µL©Ò¿×¡A·Q·Q­×§ï¨BÆJ¡A§_«h§A¥¢±Ñ¤F¦A
ÂINPC´N·|°e§A¦^¥h¡C

[size=6]³nÅé¯}¸Ñ
[/size]/////////³nÅé«OÅ@
    ³nÅ骺¯}¸Ñ§Þ³N»P«OÅ@§Þ³N³o¨âªÌ¤§¶¡¥»¨­´N¬O¥Ù»P¬ÞªºÃö«Y¡A¥¦­Ì¬O¦b¤¬¬Û¤æª§¤¤µo®i¶i¤Æªº¡C³oºØ§Þ³N¤Wªº¸û¶qÂk®Ú¨ì©³¬O¤@ºØ§Q¯qªº¨R¬ð¡C³nÅé¶}µoªÌ¬°¤FºûÅ@¦Û¨­ªº°Ó·~§Q¯q¡A¤£Â_¦a´M§ä¦UºØ¦³®Äªº§Þ³N¨Ó«OÅ@¦Û¨­ªº³nÅ骩Åv¡A¥H¼W¥[¨ä«OÅ@±j«×¡A±À¿ð³nÅé³Q¯}¸Ñªº®É¶¡¡F¦Ó¯}¸ÑªÌ«h©Î¨üµsª©©Ò±a¨Óªº°ªÃB§Q¼íªºÅX¨Ï¡A©Î¥X©ó¯Âºéªº­Ó¤H¿³½ì¡A¦Ó¤£Â_¨î§@·sªº¯}¸Ñ¤u¨ã¨Ã°w¹ï·s¥X²{ªº«OÅ@¤è¦¡¶i¦æ¸òÂܤÀªR¥H§ä¨ì¬ÛÀ³ªº¯}¸Ñ¤èªk¡C±q²z½×¤W»¡¡A´X¥G¨S¦³¯}¸Ñ¤£¤Fªº«OÅ@¡C¹ï³nÅ骺«OÅ@¶È¶È*§Þ³N¬O¤£°÷ªº¡A¦Ó³o³Ì²×­n*¤H­Ìªºª¾ÃѲ£Åv·NÃÑ©Mªk¨îÆ[©Àªº¶i¨B¥H¤Î¥Í¬¡¤ô¥­ªº´£°ª¡C¦ý¬O¦pªG¤@ºØ«OÅ@§Þ³Nªº±j«×±j¨ì¨¬¥HÅý¯}¸ÑªÌ¦b³nÅ骺¥Í©R©P´Á¤ºµLªk±N¨ä§¹¥þ¯}¸Ñ¡A³oºØ«OÅ@§Þ³N´N¥i¥H»¡¬O«D±`¦¨¥\ªº¡C³nÅé«OÅ@¤è¦¡ªº³]­pÀ³¦b¤@¶}©l´N§@¬°³nÅé¶}µoªº¤@³¡¤À¨Ó¦Ò¼{¡A¦C¤J¶}µo­p¦E©M¶}µo¦¨¥»¤¤¡A¨Ã¦b«OÅ@±j«×¡B¦¨¥»¡B©ö¥Î©Ê¤§¶¡¶i¦æ§é°J¦Ò¼{¡A¿ï¾Ü¤@­Ó¦X¾Aªº¥­¿ÅÂI¡C
    ¦b®à­±¾Þ§@¨t²Î¤¤¡A·L³nªº²£«~¦ÛµM¬O¿WÅQ¤Ñ¤U¡A¤@¯ë­Ó¤H¨Ï¥ÎªÌ±µàD±o³Ì¦h¡A¬ã¨s±o¦ÛµM¤]§ó¦h¤@¨Ç¡C¦bDOS®É¥N¤§«e´N¦³¨Ç¤ñ¸û¦nªº³nÅé«OÅ@§Þ³N¡A¦Ó¦bDOS¤¤¨Ï¥Î±o³Ì¦hªº®£©È­nºâ³n¦¡ºÏºÐ¾÷«ü¯¾¨¾«þ¨©§Þ³N¤F¡C¥Ñ©óDOS¾Þ§@¨t²Îªº¯Ü®z©Ê¡A¦b¨ä¤¤¹B¦æªº´¶³qÀ³¥Îµ{§Ç´X¥G¥i¥H³X°Ý¨t²Î¤¤ªº¥ô¦ó¸ê·½¡A¦pª½±µ³X°Ý¥ô¦óª«²z°O¾ÐÅé¡Bª½±µÅª¼g¥ô¦óºÏ½L®°°Ï¡Bª½±µÅª¼g¥ô¦óI/O³s±µ°ðµ¥¡A³oµ¹³nÅé«OÅ@ªÌ´£¨Ñ¤F·¥¤jªº¦Û¥Ñ«×¡A¨Ï¨ä¥i¥H³]­p¥X¤@¨Ç¦Ü¤µ¤´¬°¤HºÙ¹Dªº«OÅ@§Þ³N¡F¦ÛWindows 95¶}©l¡]¯S§O¬OWinNT©MWindows 2000³o¼ËÄY®æ·N¸q¤Wªº¦h¨Ï¥ÎªÌ¾Þ§@¨t²Î¡^¡A¾Þ§@¨t²Î§Q¥ÎµwÅé¯S©Ê¼W±j¤F¹ï¦Û¨­ªº«OÅ@¡A±N¦Û¤v¹B¦æ¦bRing 0¯SÅv¯Å¤¤¡A¦Ó´¶³qÀ³¥Îµ{§Ç«h¹B¦æ¦b³Ì§Cªº¯SÅv¯ÅRing 3¤¤¡A­­¨î¤FÀ³¥Îµ{§Ç©Ò¯à³X°Ýªº¸ê·½¡A¨Ï±o³nÅé«OÅ@§Þ³N¦b¤@©wµ{«×¤W¨ü¨ì¤@¨Ç­­¨î¡C¶}µoªÌ­n·Q¬ð¯}Ring 3ªº­­¨î¡A¤@¯ë»Ý­n½s¼gÅX°Êµ{§Ç¡A¦pŪ¼g¨Ã¤f¤Wªº³nÅ骯ªºÅX°Êµ{§Çµ¥¡A³o¼W¥[¤F¶}µoÃø«×©M©P´Á¡A¦ÛµM¤]¼W¥[¤F¦¨¥»¡C¦P®É¥Ñ©óWin32µ{§Ç°O¾ÐÅé´M§}¨Ï¥Îªº¬O¬Û¹ï¨Ó»¡¤ñ¸û²³æªº¥­©Z´M§}¼Ò¦¡¡]¬ÛÀ³¦a¨ä±Ä¥ÎªºPE¤å¥ó®æ¦¡¤]¤ñ¥H«eªº16-bitªºEXEµ{§Çªº®æ¦¡­n®e©ö³B²z¤@¨Ç¡^¡A¨Ã¥BWin32µ{§Ç¤j¶q½Õ¥Î¨t²Î´£¨ÑªºAPI¡A¦ÓWin32¥­¥x¤Wªº½Õ¸Õ¾¹¦pSoftICEµ¥«ê¦n¦³°w¹ïAPI³]Â_ÂIªº±j¤j¥\¯à¡A³o¨Ç³£µ¹¸òÂܯ}¸Ñ±a¨Ó¤F¤@©wªº¤è«K¡C
  
²Ä¤G¸` 8088 ¶×½s³t¬d¤â¥U
  
¤@¡B¸ê®Æ¶Ç¿é«ü¥O
¥¦­Ì¦b¦s¶J¾¹©M±H¦s¾¹¡B±H¦s¾¹©M¿é¤J¿é¥X³s±µ°ð¤§¶¡¶Ç°e¸ê®Æ.
1. ³q¥Î¸ê®Æ¶Ç°e«ü¥O.
MOV ¶Ç°e¦r©Î¦ì¤¸²Õ.
MOVSX ¥ý²Å¸¹ÂX®i,¦A¶Ç°e.
MOVZX ¥ý¹sÂX®i,¦A¶Ç°e.
PUSH §â¦rÀ£¤J°ï´Ì.
POP §â¦r¸õ¥X°ï´Ì.
PUSHA §âAX,CX,DX,BX,SP,BP,SI,DI¨Ì¦¸À£¤J°ï´Ì.
POPA §âDI,SI,BP,SP,BX,DX,CX,AX¨Ì¦¸¸õ¥X°ï´Ì.
PUSHAD §âEAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI¨Ì¦¸À£¤J°ï´Ì.
POPAD §âEDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX¨Ì¦¸¸õ¥X°ï´Ì.
BSWAP ¥æ´«32¦ì±H¦s¾¹¨½¦ì¤¸²Õªº¶¶§Ç
XCHG ¥æ´«¦r©Î¦ì¤¸²Õ.( ¦Ü¤Ö¦³¤@­Ó¾Þ§@¼Æ¬°±H¦s¾¹,¬q±H¦s¾¹¤£¥i§@¬°¾Þ§@¼Æ)
CMPXCHG ¤ñ¸û¨Ã¥æ´«¾Þ§@¼Æ.( ²Ä¤G­Ó¾Þ§@¼Æ¥²¶·¬°²Ö¥[¾¹AL/AX/EAX )
XADD ¥ý¥æ´«¦A²Ö¥[.( µ²ªG¦b²Ä¤@­Ó¾Þ§@¼Æ¨½ )
XLAT ¦ì¤¸²Õ¬dªíÂà´«.
¢w¢w BX «ü¦V¤@±i 256 ¦ì¤¸²Õªºªíªº°_ÂI, AL ¬°ªíªº¯Á¤Þ­È (0-255,§Y
0-FFH); ªð¦^ AL ¬°¬dªíµ²ªG. ( [BX+AL]->AL )
2. ¿é¤J¿é¥X³s±µ°ð¶Ç°e«ü¥O.
IN I/O³s±µ°ð¿é¤J. ( »yªk: IN ²Ö¥[¾¹, {³s±µ°ð¸¹¢xDX} )
OUT I/O³s±µ°ð¿é¥X. ( »yªk: OUT {³s±µ°ð¸¹¢xDX},²Ö¥[¾¹ )
¿é¤J¿é¥X³s±µ°ð¥Ñ¥ß§Y¤è¦¡«ü©w®É, ¨ä½d³ò¬O 0-255; ¥Ñ±H¦s¾¹ DX «ü©w®É,
¨ä½d³ò¬O 0-65535.
3. ¥Øªº¦a§}¶Ç°e«ü¥O.
LEA ¸Ë¤J¦³®Ä¦a§}.
¨Ò: LEA DX,string ;§â°¾²¾¦a§}¦s¨ìDX.
LDS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JDS.
¨Ò: LDS SI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìDS:SI.
LES ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JES.
¨Ò: LES DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìESI.
LFS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JFS.
¨Ò: LFS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìFSI.
LGS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JGS.
¨Ò: LGS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìGSI.
LSS ¶Ç°e¥Ø¼Ð«ü°w,§â«ü°w¤º®e¸Ë¤JSS.
¨Ò: LSS DI,string ;§â¬q¦a§}:°¾²¾¦a§}¦s¨ìSSI.
4. ¼Ð§Ó¶Ç°e«ü¥O.
LAHF ¼Ð§Ó±H¦s¾¹¶Ç°e,§â¼Ð§Ó¸Ë¤JAH.
SAHF ¼Ð§Ó±H¦s¾¹¶Ç°e,§âAH¤º®e¸Ë¤J¼Ð§Ó±H¦s¾¹.
PUSHF ¼Ð§Ó¤J´Ì.
POPF ¼Ð§Ó¥X´Ì.
PUSHD 32¦ì¼Ð§Ó¤J´Ì.
POPD 32¦ì¼Ð§Ó¥X´Ì.
¤G¡Bºâ³N¹Bºâ«ü¥O
ADD ¥[ªk.
ADC ±a¶i¦ì¥[ªk.
INC ¥[ 1.
AAA ¥[ªkªºASCII½X½Õ¾ã.
DAA ¥[ªkªº¤Q¶i¨î½Õ¾ã.
SUB ´îªk.
SBB ±a­É¦ì´îªk.
DEC ´î 1.
NEC ¨D¤Ï(¥H 0 ´î¤§).
CMP ¤ñ¸û.(¨â¾Þ§@¼Æ§@´îªk,¶È­×§ï¼Ð§Ó¦ì,¤£¦^°eµ²ªG).
AAS ´îªkªºASCII½X½Õ¾ã.
DAS ´îªkªº¤Q¶i¨î½Õ¾ã.
MUL µL²Å¸¹­¼ªk.
IMUL ¾ã¼Æ­¼ªk.
¥H¤W¨â±ø,µ²ªG¦^°eAH©MAL(¦ì¤¸²Õ¹Bºâ),©ÎDX©MAX(¦r¹Bºâ),
AAM ­¼ªkªºASCII½X½Õ¾ã.
DIV µL²Å¸¹°£ªk.
IDIV ¾ã¼Æ°£ªk.
¥H¤W¨â±ø,µ²ªG¦^°e:
°Ó¦^°eAL,§E¼Æ¦^°eAH, (¦ì¤¸²Õ¹Bºâ);
©Î °Ó¦^°eAX,§E¼Æ¦^°eDX, (¦r¹Bºâ).
AAD °£ªkªºASCII½X½Õ¾ã.
CBW ¦ì¤¸²ÕÂà´«¬°¦r. (§âAL¤¤¦ì¤¸²Õªº²Å¸¹ÂX®i¨ìAH¤¤¥h)
CWD ¦rÂà´«¬°Âù¦r. (§âAX¤¤ªº¦rªº²Å¸¹ÂX®i¨ìDX¤¤¥h)
CWDE ¦rÂà´«¬°Âù¦r. (§âAX¤¤ªº¦r²Å¸¹ÂX®i¨ìEAX¤¤¥h)
CDQ Âù¦rÂX®i. (§âEAX¤¤ªº¦rªº²Å¸¹ÂX®i¨ìEDX¤¤¥h)
¤T¡BÅÞ¿è¹Bºâ«ü¥O
AND »P¹Bºâ.
OR ©Î¹Bºâ.
XOR ²§©Î¹Bºâ.
NOT ¨ú¤Ï.
TEST ´ú¸Õ.(¨â¾Þ§@¼Æ§@»P¹Bºâ,¶È­×§ï¼Ð§Ó¦ì,¤£¦^°eµ²ªG).
SHL Å޿襪²¾.
SAL ºâ³N¥ª²¾.(=SHL)
SHR ÅÞ¿è¥k²¾.
SAR ºâ³N¥k²¾.(=SHR)
ROL ´`Àô¥ª²¾.
ROR ´`Àô¥k²¾.
RCL ³q¹L¶i¦ìªº´`Àô¥ª²¾.
RCR ³q¹L¶i¦ìªº´`Àô¥k²¾.
¥H¤W¤KºØ²¾¦ì«ü¥O,¨ä²¾¦ì¦¸¼Æ¥i¹F255¦¸.
²¾¦ì¤@¦¸®É, ¥iª½±µ¥Î¾Þ§@½X. ¦p SHL AX,1.
²¾¦ì>1¦¸®É, «h¥Ñ±H¦s¾¹CLµ¹¥X²¾¦ì¦¸¼Æ.
¦p MOV CL,04
SHL AX,CL
¥|¡B¦ê«ü¥O
DS:SI ·½¦ê¬q±H¦s¾¹ :·½¦êÅܧ}.
ESI ¥Ø¼Ð¦ê¬q±H¦s¾¹:¥Ø¼Ð¦êÅܧ}.
CX ­«´_¦¸¼Æ­p¼Æ¾¹.
AL/AX ±½ºË­È.
D¼Ð§Ó 0ªí¥Ü­«´_¾Þ§@¤¤SI©MDIÀ³¦Û°Ê¼W¶q; 1ªí¥ÜÀ³¦Û°Ê´î¶q.
Z¼Ð§Ó ¥Î¨Ó±±¨î±½ºË©Î¤ñ¸û¾Þ§@ªºµ²§ô.
MOVS ¦ê¶Ç°e.
( MOVSB ¶Ç°e¦r²Å. MOVSW ¶Ç°e¦r. MOVSD ¶Ç°eÂù¦r. )
CMPS ¦ê¤ñ¸û.
( CMPSB ¤ñ¸û¦r²Å. CMPSW ¤ñ¸û¦r. )
SCAS ¦ê±½ºË.
§âAL©ÎAXªº¤º®e»P¥Ø¼Ð¦ê§@¤ñ¸û,¤ñ¸ûµ²ªG¤Ï¬M¦b¼Ð§Ó¦ì.
LODS ¸Ë¤J¦ê.
§â·½¦ê¤¤ªº¤¸¯À(¦r©Î¦ì¤¸²Õ)³v¤@¸Ë¤JAL©ÎAX¤¤.
( LODSB ¶Ç°e¦r²Å. LODSW ¶Ç°e¦r. LODSD ¶Ç°eÂù¦r. )
STOS «O¦s¦ê.
¬OLODSªº°f¹Lµ{.
REP ·íCX/ECX<>0®É­«´_.
REPE/REPZ ·íZF=1©Î¤ñ¸ûµ²ªG¬Ûµ¥,¥BCX/ECX<>0®É­«´_.
REPNE/REPNZ ·íZF=0©Î¤ñ¸ûµ²ªG¤£¬Ûµ¥,¥BCX/ECX<>0®É­«´_.
REPC ·íCF=1¥BCX/ECX<>0®É­«´_.
REPNC ·íCF=0¥BCX/ECX<>0®É­«´_.
¤­¡Bµ{§ÇÂಾ«ü¥O
  1>µL±ø¥óÂಾ«ü¥O (ªøÂಾ)
JMP µL±ø¥óÂಾ«ü¥O
CALL ¹Lµ{½Õ¥Î
RET/RETF¹Lµ{ªð¦^.
2>±ø¥óÂಾ«ü¥O (µuÂಾ,-128¨ì+127ªº¶ZÂ÷¤º)
( ·í¥B¶È·í(SF XOR OF)=1®É,OP1<OP2 )
JA/JNBE ¤£¤p©ó©Î¤£µ¥©ó®ÉÂಾ.
JAE/JNB ¤j©ó©Îµ¥©óÂಾ.
JB/JNAE ¤p©óÂಾ.
JBE/JNA ¤p©ó©Îµ¥©óÂಾ.
¥H¤W¥|±ø,´ú¸ÕµL²Å¸¹¾ã¼Æ¹Bºâªºµ²ªG(¼Ð§ÓC©MZ).
JG/JNLE ¤j©óÂಾ.
JGE/JNL ¤j©ó©Îµ¥©óÂಾ.
JL/JNGE ¤p©óÂಾ.
JLE/JNG ¤p©ó©Îµ¥©óÂಾ.
¥H¤W¥|±ø,´ú¸Õ±a²Å¸¹¾ã¼Æ¹Bºâªºµ²ªG(¼Ð§ÓS,O©MZ).
JE/JZ µ¥©óÂಾ.
JNE/JNZ ¤£µ¥©ó®ÉÂಾ.
JC ¦³¶i¦ì®ÉÂಾ.
JNC µL¶i¦ì®ÉÂಾ.
JNO ¤£·¸¥X®ÉÂಾ.
JNP/JPO ©_°¸©Ê¬°©_¼Æ®ÉÂಾ.
JNS ²Å¸¹¦ì¬° "0" ®ÉÂಾ.
JO ·¸¥XÂಾ.
JP/JPE ©_°¸©Ê¬°°¸¼Æ®ÉÂಾ.
JS ²Å¸¹¦ì¬° "1" ®ÉÂಾ.
3>´`Àô±±¨î«ü¥O(µuÂಾ)
LOOP CX¤£¬°¹s®É´`Àô.
LOOPE/LOOPZ CX¤£¬°¹s¥B¼Ð§ÓZ=1®É´`Àô.
LOOPNE/LOOPNZ CX¤£¬°¹s¥B¼Ð§ÓZ=0®É´`Àô.
JCXZ CX¬°¹s®ÉÂಾ.
JECXZ ECX¬°¹s®ÉÂಾ.
4>¤¤Â_«ü¥O
INT ¤¤Â_«ü¥O
INTO ·¸¥X¤¤Â_
IRET ¤¤Â_ªð¦^
5>³B²z¾¹±±¨î«ü¥O
HLT ³B²z¾¹¼È°±, ª½¨ì¥X²{¤¤Â_©Î´_¦ì«H¸¹¤~Ä~Äò.
WAIT ·í´¹¤ù¤Þ½uTEST¬°°ª¹q¥­®É¨ÏCPU¶i¤Jµ¥«Ýª¬ºA.
ESC Âà´«¨ì¥~³B²z¾¹.
LOCK «ÊÂê¶×¬y±Æ.
NOP ªÅ¾Þ§@.
STC ¸m¶i¦ì¼Ð§Ó¦ì.
CLC ²M¶i¦ì¼Ð§Ó¦ì.
CMC ¶i¦ì¼Ð§Ó¨ú¤Ï.
STD ¸m¤è¦V¼Ð§Ó¦ì.
CLD ²M¤è¦V¼Ð§Ó¦ì.
STI ¸m¤¤Â_¤¹³\¦ì.
CLI ²M¤¤Â_¤¹³\¦ì.
¤»¡B°°«ü¥O
  DW ©w¸q¦r(2¦ì¤¸²Õ).
PROC ©w¸q¹Lµ{.
ENDP ¹Lµ{µ²§ô.
SEGMENT ©w¸q¬q.
ASSUME «Ø¥ß¬q±H¦s¾¹´M§}.
ENDS ¬qµ²§ô.
END µ{§Çµ²§ô.
  
¤­¸` ¤ÀªR§Þ³N
    ¦b¶i¦æ³nÅ骺¯}¸Ñ¡B¸Ñ±K¥H¤Î¹q¸£¯f¬r¤ÀªR¤u§@¤¤¡A¤@­Ó­º­nªº°ÝÃD¬O¹ï³nÅé¤Î¯f¬r¶i¦æ¤ÀªR¡C³o¨Ç³nÅé³£¬O¾÷¾¹¥N½Xµ{§Ç¡A¹ï©ó¥¦­Ì¤ÀªR¥²¶·¨Ï¥ÎÀRºA©Î°ÊºA½Õ¸Õ¤u¨ã¡A¤ÀªR¸òÂܨä¶×½s¥N½X¡C
¤@¡B±q³nÅé¨Ï¥Î»¡©ú©M¾Þ§@¤¤¤ÀªR³nÅé
    ±ý¯}¸Ñ¤@³nÅé¡A­º¥ýÀ³¸Ó¥ý¥Î¥Î³o³nÅé¡A¤F¸Ñ¤@¤U¥\¯à¬O§_¦³­­¨î¡A³Ì¦n¾\Ū¤@¤U³nÅ骺»¡©ú©Î¤â¥U,¯S§O¬O¦Û¤v©ÒÃö¤ßªºÃöÁ䳡¤Àªº¨Ï¥Î»¡©ú¡A³o¼Ë¤]³\¯à°÷§äÂI½u¯Á¡C
¤G¡BÀRºA¤Ï¶×½s
  ©Ò¿×ÀRºA¤ÀªR§Y±q¤Ï¶×½s¥X¨Óªºµ{§Ç²M³æ¤W¤ÀªR¡A±q´£¥Ü¸ê°T¤J¤â¶i¦æ¤ÀªR¡C¥Ø«e¡A¤j¦h¼Æ³nÅé¦b³]­p®É¡A³£±Ä¥Î¤F¤H¾÷¹ï¸Ü¤è¦¡¡C©Ò¿×¤H¾÷¹ï¸Ü¡A§Y¦b³nÅé¹B¦æ¹Lµ{¤¤¡A»Ý­n¥Ñ¨Ï¥ÎªÌ¿ï¾Üªº¦a¤è¡A³nÅé§YÅã¥Ü¬ÛÀ³ªº´£¥Ü¸ê°T¡A¨Ãµ¥«Ý¨Ï¥ÎªÌ«öÁä¿ï¾Ü¡C¦Ó¦b°õ¦æ§¹¬Y¤@¬qµ{§Ç¤§¦Z¡A«KÅã¥Ü¤@¦ê´£¥Ü¸ê°T¡A¥H¤Ï¬M¸Ó¬qµ{§Ç¹B¦æ¦Zªºª¬ºA¡A¬O¥¿±`¹B¦æ¡AÁÙ¬O¥X²{¿ù»~¡A©ÎªÌ´£¥Ü¨Ï¥ÎªÌ¶i¦æ¤U¤@¨B¤u§@ªºÀ°§U¸ê°T¡C¬°¦¹¡A¦pªG§Ú­Ì¹ïÀRºA¤Ï¶×½s¥X¨Óªºµ{§Ç²M³æ¶i¦æ¾\Ū¡A¥i¤F¸Ñ³nÅ骺µ{¦¡¤Æ«ä¸ô¡A¥H«K¶¶§Q¯}¸Ñ¡C ±`¥ÎªºÀRºA¤ÀªR¤u¨ã¬OW32DASM¡BIDA©MHIEWµ¥¡C
  
¤T¡B°ÊºA¸òÂܤÀªR
  ÁöµM±qÀRºA¤W¥i¥H¤F¸Ñµ{§Çªº«ä¸ô¡A¦ý¬O¨Ã¤£¥i¯à¯u¥¿¤F¸Ñ¦a¤F¸Ñ³nÅ骺²Ó¸`¡A¦pÀRºA¤ÀªR§ä¤£¥X½u¯Á¡A´N­n°ÊºA¤ÀªRµ{§Ç¡A¥t¥~¡A¸I¨ìÀ£ÁYµ{§Ç¡AÀRºA¤ÀªR¤]µL¯à¬°¤O¤F¡A¥u¯à°ÊºA¤ÀªR¤F¡C©Ò¿×°ÊºA¤ÀªR¬O§Q¥ÎSOFTICE©ÎTRW2000¤@¨B¤@¨B¦a³æ¨B°õ¦æ³nÅé¡C¬°¤°»ò­n¹ï³nÅé¶i¦æ°ÊºA¤ÀªR©O¡H³o¥D­n¬O¦]¬°¡G
1¡B³\¦h³nÅé¦b¾ãÅé¤W§¹¦¨ªº¥\¯à¡A¤@¯ë­n¤À¸Ñ¦¨­Y¤z¼Ò¶ô¨Ó§¹¦¨¡A¦Ó¥B¦Z¤@¼Ò¶ô¦b°õ¦æ®É¡A©¹©¹»Ý­n¨Ï¥Î¨ä«e¤@¼Ò¶ô³B²zªºµ²ªG¡A³o¤@µ²ªG§Ú­Ì§â¥¦¥s¤¤¶¡µ²ªG¡C¦pªG§Ú­Ì¥u¹ï³nÅ饻¨­¶i¦æÀRºA¦a¤ÀªR¡A¤@¯ë¬O«ÜÃø¤ÀªR¥X³o¨Ç¤¤¶¡µ²ªGªº¡C¦Ó¥u¦³³q¹L¸òÂܰõ¦æ«e¤@¼Ò¶ô¡A¤~¯à¬Ý¨ì³o¨Çµ²ªG¡C¥t¥~¡A¦bµ{§Çªº¹B¦æ¹Lµ{¤¤¡A©¹©¹·|¦b¬Y¤@¦a¤è¥X²{³\¦h¤À¤ä©MÂಾ¡A¤£¦Pªº¤À¤ä©MÂಾ©¹©¹»Ý­n¤£¦Pªº±ø¥ó¡A¦Ó³o¨Ç±ø¥ó¤@¯ë¬O¥Ñ¹B¦æ¸Ó¤À¤ä¤§«eªºµ{§Ç¨Ó²£¥Íªº¡C¦pªG·Qª¾¹Dµ{§Ç¹B¦æ¨ì¸Ó¤À¤äªº¦a¤è®É¡A¥h©³¨«¦V­þ¤@¤À¤ä¡A¤£¶i¦æ°ÊºA¦a¸òÂÜ©M¤ÀªR¬O¤£±o¦Óª¾ªº¡C
2¡B¦³³\¦h³nÅé¦b¹B¦æ®É¡A¨ä³Ìªì°õ¦æªº¤@¬qµ{§Ç©¹©¹»Ý­n¹ï¸Ó³nÅ骺¦Z­±¦U­Ó¼Ò¶ô¶i¦æ¤@¨Çªì©l©l¤Æ¤u§@¡A¦Ó¨S¦³¨Ì¿à¨t²Îªº­«©w¦ì¡C
3¡B¦³³\¦h¥[±Kµ{§Ç¬°¤Fªý¤î«Dªk¸òÂÜ©M¾\Ū¡A¹ï°õ¦æ¥N½Xªº¤j³¡¤À¤º®e¶i¦æ¤F¥[±KÅÜ´«¡A¦Ó¥u¦³«Üµuªº¤@¬qµ{§Ç¬O©ú¤å¡C¥[±Kµ{§Ç¹B¦æ®É¡A±Ä¥Î¤F³v¶ô¸Ñ±K¡A³v¶ô°õ¦æ©M¤èªk¡A­º¥ý¹B¦æ³Ìªìªº¤@¬q©ú¤åµ{§Ç¡A¸Óµ{§Ç¦b¹B¦æ¹Lµ{¤¤¡A¤£¶È­n§¹¦¨ªý¤î¸òÂܪº¥ô°È¡A¦Ó¥BÁÙ­n­t³d¹ï¤U¤@¶ô±K½X¶i¦æ¸Ñ±K¡CÅãµM¶È¹ï¸Ó³nÅ骺±K½X³¡¤À¶i¦æ¤Ï¶×½s¡A¤£¹ï¸Ó³nÅé°ÊºA¸òÂܤÀªR¡A¬O®Ú¥»¤£¥i¯à¶i¦æ¸Ñ±Kªº¡C
¥Ñ©ó¤W­z­ì¦]¡A¦b¹ï³nÅéÀRºA¤ÀªR¤£¦æªº±ø¥ó¤U¡A´N­n¶i¦æ°ÊºA¤ÀªR¤F¡C­þ»ò¦p¦ó¦³®Ä¦a¶i¦æ°ÊºA¸òÂܤÀªR©O¡H¤@¯ë¨Ó»¡¦³¦p¤U´XÂI¡G
1¡B¹ï³nÅé¶i¦æ²Ê¸òÂÜ
©Ò¿×²Ê¸òÂÜ¡A§Y¦b¸òÂܮɭn¤j¶ô¤j¶ô¦a¸òÂÜ¡A¤]´N¬O»¡¨C¦¸¹J¨ì½Õ¥ÎCALL«ü¥O¡B­«´_¾Þ§@«ü¥OREP.´`Àô¾Þ§@LOOP«ü¥O¥H¤Î¤¤Â_½Õ¥ÎINT«ü¥Oµ¥¡A¤@¯ë¤£­n¸òÂܶi¥h¡A¦Ó¬O®Ú¾Ú°õ¦æµ²ªG¤ÀªR¸Ó¬qµ{§Çªº¥\¯à¡C
2¡B¹ïÃöÁ䳡¤À¶i¦æ²Ó¸òÂÜ
  ¹ï³nÅé¶i¦æ¤F¤@©wµ{«×ªº²Ê¸òÂܤ§«á«K¥i¥HÀò¨ú³nÅ餤§Ú­Ì©ÒÃö¤ßªº¼Ò¶ô©Îµ{§Ç¬q¡A³o¼Ë´N¥i¥H°w¹ï©Ê¦a¹ï¸Ó¼Ò¶ô¶i¦æ¨ãÅé¦Ó¸Ô²Ó¦a¸òÂܤÀªR¡C¤@¯ë±¡ªp¤U¡A¹ïÃöÁä¥N½Xªº¸òÂÜ¥i¯à­n¤Ï´_¶i¦æ­Y¤z¦¸¤~¯àŪÀ´¸Óµ{§Ç¡A¨C¦¸­n§â¤ñ¸ûÃöÁ䪺¤¤¶¡µ²ªG©Î«ü¥O¦a§}°O¿ý¤U¨Ó¡A³o¼Ë·|¹ï¤U¤@¦¸¤ÀªR¦³«Ü¤jªºÀ°§U¡C³nÅé¤ÀªR¬O¤@ºØ¤ñ¸û´_Âø©MÁ}­Wªº¤u§@¡A¤W­±ªº´XÂI¤ÀªR¤èªk¡A¥u¬O´£¨Ñ¤F¤@ºØ°ò¥»ªº¤ÀªR¤èªk¡C­n¿n²Ö³nÅé¤ÀªRªº¸gÅç»Ý­n¦b¹ê½î¤¤¤£Â_¦a±´¯Á©MÁ`µ²¡C

²Ä¤T¸` 8088 ¶×½s¸õÂà
¤@¡Bª¬ºA±H¦s¾¹
PSW¡]Program Flag)µ{§Çª¬ºA¦r±H¦s¾¹¡A¬O¤@­Ó16¦ì±H¦s¾¹¡A¥Ñ±ø¥ó½X¼Ð§Ó¡]flag¡^©M±±¨î¼Ð§Óºc¦¨¡A¦p¤U©Ò¥Ü¡G
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
            OF DF IF TF SF ZF    AF    PF    CF
  
±ø¥ó½X¡G
①OF¡]Overflow Flag)·¸¥X¼Ð§Ó¡C·¸¥X®É¬°1,§_«h¸m0¡C
②SF¡]Sign Flag¡^²Å¸¹¼Ð§Ó¡Cµ²ªG¬°­t®É¸m1,§_«h¸m0.
③ZF¡]Zero Flag)¹s¼Ð§Ó¡A¹Bºâµ²ªG¬°0®ÉZF¦ì¸m1,§_«h¸m0.
④CF¡]Carry Flag)¶i¦ì¼Ð§Ó¡A¶i¦ì®É¸m1,§_«h¸m0.
⑤AF¡]Auxiliary carry Flag¡^»²§U¶i¦ì¼Ð§Ó¡A°O¿ý¹Bºâ®É²Ä3¦ì¡]¥b­Ó¦ì¤¸²Õ¡^²£¥Íªº¶i¦ì¸m¡C¦³¶i¦ì®É1,§_«h¸m0.
⑥PF¡]Parity Flag¡^©_°¸¼Ð§Ó¡Cµ²ªG¾Þ§@¼Æ¤¤1ªº­Ó¼Æ¬°°¸¼Æ®É¸m1,§_«h¸m0.
±±¨î¼Ð§Ó¦ì¡G
⑦DF¡]Direction Flag¡^¤è¦V¼Ð§Ó¡A¦b¦ê³B²z«ü¥O¤¤±±¨î¸ê°Tªº¤è¦V¡C
⑧IF¡]Interrupt Flag¡^¤¤Â_¼Ð§Ó¡C
⑨TF¡]Trap Flag¡^³´¤«¼Ð§Ó¡C
¤G¡B ª½±µ¼Ð§ÓÂಾ¡]8¦ì´M§}¡^
«ü¥O®æ¦¡ ¾÷¾¹½X ´ú¸Õ±ø¥ó ¦p...«hÂಾ   
   «ü¥O®æ¦¡ ¾÷¾¹½X ´ú¸Õ±ø¥ó ¦p...«hÂಾ
JC 72 C=1 ¦³¶i¦ì JNS 79 S=0 ¥¿¸¹
JNC 73 C=0 µL¶i¦ì JO 70 O=1 ¦³·¸¥X
JZ/JE 74 Z=1 ¹s/µ¥©ó JNO 71 O=0 µL·¸¥X
JNZ/JNE 75 Z=0 ¤£¬°¹s/¤£µ¥©ó JP/JPE 7A P=1 ©_°¸¦ì¬°°¸
JS 78 S=1 ­t¸¹ JNP/IPO 7B P=0 ©_°¸¦ì¬°©_
¤T¡B¶¡±µ¼Ð§ÓÂಾ¡]8¦ì´M§}¡^
«ü¥O®æ¦¡ ¾÷¾¹½X ´ú¸Õ®æ¦¡ ¦p...«hÂಾ
JA/JNBE(¤ñ¸ûµL²Å¸¹¼Æ) 77 C©ÎZ=0 >   °ª©ó/¤£§C©ó©Îµ¥©ó
JAE/JNB(¤ñ¸ûµL²Å¸¹¼Æ) 73 C=0 >=   °ª©ó©Îµ¥©ó/¤£§C©ó
JB/JNAE(¤ñ¸ûµL²Å¸¹¼Æ) 72 C=1 <   §C©ó/¤£°ª©ó©Îµ¥©ó
JBE/JNA(¤ñ¸ûµL²Å¸¹¼Æ) 76 C©ÎZ=1 <=   §C©ó©Îµ¥©ó/¤£°ª©ó
JG/JNLE(¤ñ¸û±a²Å¸¹¼Æ) 7F (S²§©ÎO¡^©ÎZ=0 >   ¤j©ó/¤£¤p©ó©Îµ¥©ó
JGE/JNL(¤ñ¸û±a²Å¸¹¼Æ) 7D S²§©ÎO=0 >=   ¤j©ó©Îµ¥©ó/¤£¤p©ó
JL/JNGE(¤ñ¸û±a²Å¸¹¼Æ) 7C S²§©ÎO=1 <   ¤p©ó/¤£¤j©ó©Îµ¥©ó
JLE/JNG(¤ñ¸û±a²Å¸¹¼Æ) 7E (S²§©ÎO)©ÎZ=1 <=   ¤p©ó©Îµ¥©ó/¤£¤j©ó
¥|¡BµL±ø¥óÂಾ«ü¥O
¾Þ§@½X °°½X«ü¥O §t¸q
EB   cb JMP rel8 ¬Û¹ïµu¸õÂà¡]8¦ì¡^¡A¨Ïrel8³Bªº¥N½X¦ì¤U¤@±ø«ü¥O
E9   cw JMP rel16 ¬Û¹ï¸õÂà¡]16¦ì¡^¡A¨Ïrel16³Bªº¥N½X¦ì¤U¤@±ø«ü¥O
FF   /4 JMP r/m16 µ´¹ï¸õÂà¡]16¦ì¡^¡A¤U¤@«ü¥O¦a§}¦br/m16¤¤µ¹¥X
FF   /4 JMP r/m32 µ´¹ï¸õÂà¡]32¦ì¡^¡A¤U¤@«ü¥O¦a§}¦br/m32¤¤µ¹¥X
EA   cb JMP ptr16:16 »·¶ZÂ÷µ´¹ï¸õÂà¡A ¤U¤@«ü¥O¦a§}¦b¾Þ§@¼Æ¤¤
EA   cb JMP ptr16:32 »·¶ZÂ÷µ´¹ï¸õÂà¡A ¤U¤@«ü¥O¦a§}¦b¾Þ§@¼Æ¤¤
FF   /5 JMP m16:16 »·¶ZÂ÷µ´¹ï¸õÂà¡A ¤U¤@«ü¥O¦a§}¦b°O¾ÐÅém16:16¤¤
FF   /5 JMP m16:32 »·¶ZÂ÷µ´¹ï¸õÂà¡A ¤U¤@«ü¥O¦a§}¦b°O¾ÐÅém16:32¤¤
¤­¡B16¦ì/32¦ì´M§}¤è¦¡
  
¾Þ§@½X °°½X«ü¥O ¸õÂà§t¸q ¸õÂàÃþ«¬ ¸õÂ઺±ø¥ó¡]¼Ð§Ó¦ì¡^
0F 87   cw/cd JA rel16/32 ¤j©ó near (CF=0 and ZF=0)
0F 83   cw/cd JAE rel16/32 ¤j©óµ¥©ó near (CF=0)
0F 82   cw/cd JB rel16/32 ¤p©ó near (CF=1)
0F 86   cw/cd JBE rel16/32 ¤p©óµ¥©ó near (CF=1 or ZF=1)
0F 82   cw/cd JC rel16/32 ¶i¦ì near (CF=1)
0F 84   cw/cd JE rel16/32 µ¥©ó near (ZF=1)
0F 84   cw/cd JZ rel16/32 ¬°0 near (ZF=1)
0F 8F   cw/cd JG rel16/32 ¤j©ó near (ZF=0 and SF=OF)
0F 8D   cw/cd JGE rel16/32 ¤j©óµ¥©ó near (SF=OF)
0F 8C   cw/cd JL rel16/32 ¤p©ó near (SF<>OF)
0F 8E   cw/cd JLE rel16/32 ¤p©óµ¥©ó near (ZF=1 or SF<>OF)
0F 86   cw/cd JNA rel16/32 ¤£¤j©ó near (CF=1 or ZF=1)
0F 82   cw/cd JNAE rel16/32 ¤£¤j©óµ¥©ó near (CF=1)
0F 83   cw/cd JNB rel16/32 ¤£¤p©ó near (CF=0)
0F 87   cw/cd JNBE rel16/32 ¤£¤p©óµ¥©ó near (CF=0 and ZF=0)
0F 83   cw/cd JNC rel16/32 ¤£¶i¦ì near (CF=0)
0F 85   cw/cd JNE rel16/32 ¤£µ¥©ó near (ZF=0)
0F 8E   cw/cd JNG rel16/32 ¤£¤j©ó near (ZF=1 or SF<>OF)
0F 8C   cw/cd JNGE rel16/32 ¤£¤j©óµ¥©ó near (SF<>OF)
0F 8D   cw/cd JNL rel16/32 ¤£¤p©ó near (SF=OF)
0F 8F   cw/cd JNLE rel16/32 ¤£¤p©óµ¥©ó near (ZF=0 and SF=OF)
0F 81   cw/cd JNO rel16/32 ¥¼·¸¥X near (OF=0)
0F 8B   cw/cd JNP rel16/32 ¤£¬O°¸¼Æ near (PF=0)
0F 89   cw/cd JNS rel16/32 «D­t¼Æ near (SF=0)
0F 85   cw/cd JNZ rel16/32 «D¹s¡]¤£µ¥©ó¡^ near (ZF=0)
0F 80   cw/cd JO rel16/32 ·¸¥X near (OF=1)
0F 8A   cw/cd JP rel16/32 °¸¼Æ near (PF=1)
0F 8A   cw/cd JPE rel16/32 °¸¼Æ near (PF=1)
0F 8B   cw/cd JPO rel16/32 ©_¼Æ near (PF=0)
0F 88   cw/cd JS rel16/32 ­t¼Æ near (SF=1)
0F 84   cw/cd JZ rel16/32 ¬°¹s¡]µ¥©ó¡^ near (ZF=1)
ª`¡G¤@¨Ç«ü¥O¾Þ§@¼Æªº§t¸q»¡©ú¡G
   rel8 ªí¥Ü 8 ¦ì¬Û¹ï¦a§}
   rel16 ªí¥Ü 16 ¦ì¬Û¹ï¦a§}
   rel16/32 ªí¥Ü 16©Î32 ¦ì¬Û¹ï¦a§}
   r/m16 ªí¥Ü16¦ì±H¦s¾¹
   r/m32 ªí¥Ü32¦ì±H¦s¾¹
  
  
  
²Ä¥|¸` ¯BÂI«ü¥O
    ¹ï¤U­±ªº«ü¥O¥ý°µ¤@¨Ç»¡©ú¡G
st(i)¡G¥Nªí¯BÂI±H¦s¾¹¡A©Ò»¡ªº¥X´Ì¡B¤J´Ì¾Þ§@³£¬O¹ïst(i)ªº¼vÅT
src,dst,dest,opµ¥³£¬O«ü«ü¥Oªº¾Þ§@¼Æ¡Asrcªí¥Ü·½¾Þ§@¼Æ¡Adst/destªí¥Ü¥Øªº¾Þ§@¼Æ
mem8,mem16,mem32,mem64,mem80µ¥ªí¥Ü¬O°O¾ÐÅé¾Þ§@¼Æ¡A¦Z­±ªº¼Æ­Èªí¥Ü¸Ó¾Þ§@¼Æªº°O¾ÐÅé¦ì¼Æ¡]8¦ì¬°¤@¦ì¤¸²Õ¡^
x <- y ªí¥Ü±Nyªº­È©ñ¤Jx¡A¨Òst(0) <- st(0) - st(1)ªí¥Ü±Nst(0)-st(1)ªº­È©ñ¤J¯BÂI±H¦s¾¹st(0)
1¡D ¸ê®Æ¶Ç»¼©M¹ï±`¶qªº¾Þ§@«ü¥O
«ü¥O®æ¦¡
«ü¥O§t¸q
°õ¦æªº¾Þ§@
  
FLD src
¸Ë¤J¹ê¼Æ¨ìst(0)
st(0) <- src (mem32/mem64/mem80)
  
FILD src
¸Ë¤J¾ã¼Æ¨ìst(0)
st(0) <- src (mem16/mem32/mem64)
  
FBLD src
¸Ë¤JBCD¼Æ¨ìst(0)
st(0) <- src (mem80)
  
  
  
FLDZ
±N0.0¸Ë¤Jst(0)
st(0) <- 0.0
  
FLD1
±N1.0¸Ë¤Jst(0)
st(0) <- 1.0
  
FLDPI
±Npi¸Ë¤Jst(0)
st(0) <- ?(ie, pi)
  
FLDL2T
±Nlog2(10)¸Ë¤Jst(0)
st(0) <- log2(10)
  
FLDL2E
±Nlog2(e)¸Ë¤Jst(0)
st(0) <- log2(e)
  
FLDLG2
±Nlog10(2)¸Ë¤Jst(0)
st(0) <- log10(2)
  
FLDLN2
±Nloge(2)¸Ë¤Jst(0)
st(0) <- loge(2)
  
  
  
FST dest
«O¦s¹ê¼Æst(0)¨ìdest
dest <- st(0) (mem32/mem64)
  
FSTP dest
  
dest <- st(0) (mem32/mem64/mem80)¡FµM¦Z¦A°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FIST dest
±Nst(0)¥H¾ã¼Æ«O¦s¨ìdest
dest <- st(0) (mem32/mem64)
  
FISTP dest
  
dest <- st(0) (mem16/mem32/mem64)¡FµM¦Z¦A°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FBST dest
±Nst(0)¥HBCD«O¦s¨ìdest
dest <- st(0) (mem80)
  
FBSTP dest
  
dest<- st(0) (mem80)¡FµM«á¦A°õ¦æ¤@¦¸¥X´Ì¾Þ§@

2¡D¤ñ¸û«ü¥O
«ü¥O®æ¦¡
«ü¥O§t¸q
°õ¦æªº¾Þ§@
  
FCOM
¹ê¼Æ¤ñ¸û
±N¼Ð§Ó¦ì³]¸m¬° st(0) - st(1) ªºµ²ªG¼Ð§Ó¦ì
  
FCOM op
¹ê¼Æ¤ñ¸û
±N¼Ð§Ó¦ì³]¸m¬° st(0) - op (mem32/mem64)ªºµ²ªG¼Ð§Ó¦ì
  
  
  
FICOM op
©M¾ã¼Æ¤ñ¸û
±NFlags­È³]¸m¬°st(0)-op ªºµ²ªGop (mem16/mem32)
  
FICOMP op
©M¾ã¼Æ¤ñ¸û
±Nst(0)©Mop¤ñ¸û op(mem16/mem32)¦Z¡F¦A°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
  
  
FTST
¹sÀË´ú
±Nst(0)©M0.0¤ñ¸û
  
FUCOM st(i)
  
¤ñ¸ûst(0) ©Mst(i) [486]
  
FUCOMP st(i)
  
¤ñ¸ûst(0) ©Mst(i)¡A¨Ã¥B°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FUCOMPP st(i)
  
¤ñ¸ûst(0) ©Mst(i)¡A¨Ã¥B°õ¦æ¨â¦¸¥X´Ì¾Þ§@
  
FXAM
  
Examine: Eyeball st(0) (set condition codes)
  
3¡D¹Bºâ«ü¥O
«ü¥O®æ¦¡
«ü¥O§t¸q
°õ¦æªº¾Þ§@
  
¥[ªk
  
FADD
¥[¹ê¼Æ
st(0) <-st(0) + st(1)
  
FADD src
  
st(0) <-st(0) + src (mem32/mem64)
  
FADD st(i),st
  
st(i) <- st(i) + st(0)
  
FADDP st(i),st
  
st(i) <- st(i) + st(0)¡FµM¦Z°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FIADD src
¥[¤W¤@­Ó¾ã¼Æ
st(0) <-st(0) + src (mem16/mem32)
  
´îªk
  
FSUB
´î¥h¤@­Ó¹ê¼Æ
st(0) <- st(0) - st(1)
  
FSUB src
  
st(0) <-st(0) - src (reg/mem)
  
FSUB st(i),st
  
st(i) <-st(i) - st(0)
  
FSUBP st(i),st
  
st(i) <-st(i) - st(0)¡AµM¦Z°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FSUBR st(i),st
¥Î¤@­Ó¹ê¼Æ¨Ó´î
st(0) <- st(i) - st(0)
  
FSUBRP st(i),st
  
st(0) <- st(i) - st(0)¡AµM¦Z°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FISUB src
´î¥h¤@­Ó¾ã¼Æ
st(0) <- st(0) - src (mem16/mem32)
  
FISUBR src
¥Î¤@­Ó¾ã¼Æ¨Ó´î
st(0) <- src - st(0) (mem16/mem32)
  
­¼ªk
  
FMUL
­¼¤W¤@­Ó¹ê¼Æ
st(0) <- st(0) * st(1)
  
FMUL st(i)
  
st(0) <- st(0) * st(i)
  
FMUL st(i),st
  
st(i) <- st(0) * st(i)
  
FMULP st(i),st
  
st(i) <- st(0) * st(i)¡AµM¦Z°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FIMUL src
­¼¤W¤@­Ó¾ã¼Æ
st(0) <- st(0) * src (mem16/mem32)
  
°£ªk
  
FDIV
°£¥H¤@­Ó¹ê¼Æ
st(0) <-st(0) /st(1)
  
FDIV st(i)
  
st(0) <- st(0) /t(i)
  
FDIV st(i),st
  
st(i) <-st(0) /st(i)
  
FDIVP st(i),st
  
st(i) <-st(0) /st(i)¡AµM«á°õ¦æ¤@¦¸¥X´Ì¾Þ§@
  
FIDIV src
°£¥H¤@­Ó¾ã¼Æ
st(0) <- st(0) /src (mem16/mem32)
  
FDIVR st(i),st
¥Î¹ê¼Æ°£
st(0) <- st(i) /st(0)
  
FDIVRP st(i),st
  
FDIVRP st(i),st
  
FIDIVR src
¥Î¾ã¼Æ°£
st(0) <- src /st(0) (mem16/mem32)
  
  
  
FSQRT
¥­¤è®Ú
st(0) <- sqrt st(0)
  
  
FSCALE
2ªºst(0)¦¸¤è
st(0) <- 2 ^ st(0)
  
FXTRACT
Extract exponent:
st(0) <-exponent of st(0); and gets pushed
st(0) <-significand of st(0)
  
  
FPREM
¨ú§E¼Æ
st(0) <-st(0) MOD st(1)
  
FPREM1
¨ú§E¼Æ¡]IEEE¡^¡A¦PFPREM¡A¦ý¬O¨Ï¥ÎIEEE¼Ð·Ç[486]
  
FRNDINT
¨ú¾ã¡]¥|ªÙ¤­¤J¡^
st(0) <- INT( st(0) ); depends on RC flag
  
FABS
¨Dµ´¹ï­È
st(0) <- ABS( st(0) ); removes sign
  
FCHS
§ïÅܲŸ¹¦ì(¨D­t¼Æ¡^
st(0) <-st(0)
  
  
F2XM1
­pºâ(2 ^ x)-1
st(0) <- (2 ^ st(0)) - 1
  
FYL2X
­pºâY * log2(X)
st(0)¬°Y¡Fst(1)¬°X¡F±Nst(0)©Mst(1)Åܬ°st(0) * log2( st(1) )ªº­È
  
  
FCOS
§E©¶¨ç¼ÆCos
st(0) <- COS( st(0) )
  
FPTAN
¥¿¤Á¨ç¼Ætan
st(0) <- TAN( st(0) )
  
FPATAN
¤Ï¥¿¤Á¨ç¼Æarctan
st(0) <- ATAN( st(0) )
  
FSIN
¥¿©¶¨ç¼Æsin
st(0) <- SIN( st(0) )
  
FSINCOS
sincos¨ç¼Æ
st(0) <-SIN( st(0) )¡A¨Ã¥BÀ£¤Jst(1)
st(0) <- COS( st(0) )
  
FYL2XP1
­pºâY * log2(X+1)
st(0)¬°Y¡F st(1)¬°X¡F ±Nst(0)©Mst(1)Åܬ°st(0) * log2( st(1)+1 )ªº­È
  
³B²z¾¹±±¨î«ü¥O
  
FINIT
ªì©l¤ÆFPU
  
  
FSTSW AX
«O¦sª¬ºA¦rªº­È¨ìAX
AX<- MSW
  
FSTSW dest
«O¦sª¬ºA¦rªº­È¨ìdest
dest<-MSW (mem16)
  
FLDCW src
±qsrc¸Ë¤JFPUªº±±¨î¦r
FPU CW <-src (mem16)
  
FSTCW dest
±NFPUªº±±¨î¦r«O¦s¨ìdest
dest<- FPU CW
  
FCLEX
²M°£²§±`
  
FSTENV dest
«O¦sÀô¹Ò¨ì°O¾ÐÅé¦a§}dest³B «O¦sª¬ºA¦r¡B±±¨î¦r¡B¼Ð§Ó¦r©M²§±`«ü°wªº­È
  
FLDENV src
±q°O¾ÐÅé¦a§}src³B¸Ë¤J«O¦sªºÀô¹Ò
  
  
FSAVE dest
«O¦sFPUªºª¬ºA¨ìdest³B 94¦ì¤¸²Õ
  
FRSTOR src
±qsrc³B¸Ë¤J¥ÑFSAVE«O¦sªºFPUª¬ºA
  
FINCSTP
¼W¥[FPUªº´Ì«ü°w­È
st(6) <-st(5); st(5) <-st(4),...,st(0) <-?
  
FDECSTP
´î¤ÖFPUªº´Ì«ü°w­È
st(0) <-st(1); st(1) <-st(2),...,st(7) <-?
  
FFREE st(i)
¼Ð§Ó±H¦s¾¹st(i)¥¼³Q¨Ï¥Î
  
FNOP
ªÅ¾Þ§@¡Aµ¥¦PCPUªºnop
st(0) <-st(0)
  
WAIT/FWAIT
¦P¨BFPU»PCPU¡G°±¤îCPUªº¹B¦æ¡Aª½¨ìFPU§¹¦¨·í«e¾Þ§@½X
  
FXCH
¥æ´««ü¥O¡A¥æ´«st(0)©Mst(1)ªº­È
st(0) <-st(1)
st(1) <- st(0)

   
²Ä3³¹ °ÊºA¤ÀªR§Þ³N
²Ä¤@¸` SoftICE»PTRW2000¦w¸Ë¦w¸Ë»P°t¨î
SOFTICE¦³´X­Ó¥­¥xªºª©¥»¡ADOS,WINDOWS 3.0,Windows 95/98,WINDOWS NT,µ¥¡C ¥Ñ©ó²{¦b³Ì´¶¤Îªº¾Þ§@¨t²Î¬O Windows 95/98¡BWindows NT¡BWindows Millennium¡BWindows2000¦]¦¹´NÁ¿Á¿SOFTICE¦b³o´X­Ó¥­¥x¦w¸Ë®Éªº¤@¨Çª`·N¨Æ¶µ¡C
¤@¡BSOFTICE for win9x¦w¸Ë»P°t¨î
    1¡BÅã¥d¦w¸Ë
    2¡B·Æ¹«¦w¸Ë
    3¡BAutoexec.bat©Mconfig.sys°t¨î
    4¡BSymbol Loader
    5¡Bwinice.dat°t¨î
¤G¡BSOFTICE for Windows Millennium
¤T¡BSOFTICE for NT/2K¦w¸Ë»P°t¨î
¥|¡BTRW2000¦w¸Ë

  SOFTICEªº¦w¸Ë»P°t¨î
¤@¡BSOFTICE for win9x¦w¸Ë»P°t¨î
㈠¡BSOFTICE¦w¸Ë  
1¡BSOFTICE¥Ø«e³Ì·sª©¥»¬O4.05¡A¦p§Aªº¨t²Î¬Owin9x,´N½Ð¤U¸üfor win9xª©¥»ªºSOFTICE¡A«ØÄ³¤U¸üSOFTICEªº³Ì·sª©¥»¡A³o¼Ëí©w©Ê¦n¨Ç¡C¹B¦æsetup.exe¶}©l¦w¸Ë
³q¹L°t¨î±Ò°Ê¥\¯àªí¡A±Ò°Ê®É®Ú¾Ú¦Û¤vªº»Ý­n¿ï¾Ü¬O§_¸Ë¸üSOFTICE¡C
AUTOEXEC.BAT°t¨î¼Ë¨Ò¡G
@ECHO OFF

goto %config%
:SICE
C:\PROGRA~1\NUMEGA\SOFTIC~1\WINICE.EXE
goto common
:NORM
goto common
:common

CONFIG.SYS°t¨î¼Ë¨Ò¡G
[MENU]
MENUITEM NORM,Windows 9x
MENUITEM SICE,Windows 9x with SoftICE
MENUDEFAULT NORM,2
[NORM]
[SICE]
[common]

①General¿ï¶µ
¦bInitialization string¨½¡A§A¥i¶ñ¤W»Ý­nSOFTICE¤@±Ò°Ê¦Û°Ê¹B¦æªº©R¥O¡C¦p¡G
WD 2; WC 14; FAULTS OFF; IXHERE OFF; IYHERE OFF; set font 2;lines 40;x;¡]¦U¦æ¥H¤À¸¹¤À¶}¡^
②Exports¿ï¶µ
¦b³o¨½¥i²K¥[¬ÛÃöªºDLL¤å¥ó¡A¥H«K¦bSOFTICE¤UÄdºI³o¨ÇDLLªº¨ç¼Æ¡C¯S§O¬O¯}¸ÑVBµ{§Ç®É¡A©w­n±NVB¹B¦æ®w¸Ë¸ü¶i¥h¡C
③Keyboard Mappings¿ï¶µ
³o¸Ì°t¨î¦U¥\¯à§Ö³tÁä¡C¦p¡GF5="^x;"¥ÎF5Áä¥N´À©R¥OX.
④Macro Definitions¿ï¶µ
§»©w¸q¡A§A¥i©w¨î¦UºØ©R¥O§»¡A¥H¤è«K¥­®Éªº¾Þ§@¡C
¦p¡Gs7878="S 30:0 L ffffffff '78787878' " ¥Î©R¥Os7878¥N´À¤@¦ê©R¥O¡GS 30:0 L ffffffff '78787878'
⑤Remote Debugging
§Q¥Îºôµ¸»·µ{½Õ¸Õ°t¨î¡C
ª`¡G¥H¤W©Ò¦³°t¨î¦n¦Zªº°Ñ¼Æ¡A³£«O¦s¦bwinice.dat¤å¥ó¨½¡C
2¡Bwinice.dat°t¨î
¦bWindows 9x¤U SoftICE°t¨î°£¤F¥Î¤W­±ªº¤èªk¥~¡A¤]¥i³q¹L¤å¥ówinice.dat¨Ó¹ê²{ªº¡CSoft-ICE ¦b±Ò°Êªº®É­Ô³q¹L¥¦¸Ë¤J¤@¨Ç DLL/EXE ªº¸ê°T¡C
§A¥i¦bSOFTICE¦w¸Ë¥Ø¿ý¤Uµo²{winice.dat¡A¥i¥Î¥ô¦ó¤å¥»½s¿è³nÅ饴¶}¥¦¡]¦p°O¨Æ¥»¡^¡C¦p§Ú¾÷¤l¨½ªºwinice.dat¡G(§A¥i°Ñ¦Ò§Úªº¨Ó­×§ï§Aªºwinice.dat¡^
;ª`·N¤À¸¹¦Z¬O´y­z»y¨¥¡A¤£³Q°õ¦æ¡C
PENTIUM=ON;<=Pentium Op-Codes
NMI=ON
ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
SIWVIDRANGE=ON
THREADP=ON
LOWERCASE=OFF
WDMEXPORTS=OFF
MONITOR=0
PHYSMB=128;<=³o­Ó­È¬O§Aªºª«²z°O¾ÐÅé¤j¤p
SYM=1024
HST=256;<=¾ä¥v§Ö¨ú°Ï¬°256K
TRA=8
MACROS=32;<=§»¾Þ§@ªº³Ì¤j­Ó¼Æ¡A¦¹³B¬O32­Ó
DRAWSIZE=2048;<= §ÚªºÅã¥d°O¾ÐÅé¬O2MB ¡A¦¹³B­È¬O§AÅã¥d°O¾ÐÅé¤j¤p
INIT=" wd 2;wc 20;FAULTS OFF; IXHERE OFF; IYHERE OFF; set font 2;lines 40;code on;x;";<=ªì©l¤Æ¡A¦¹³B¹w³]ªº¬O800¡¯600¤À¤À¿ë²v
;¦p§A¬O¥þ¿Ã¹õ½Ð´«¤W¡Glines 57
F1="h;"
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;"
F11="^G @SS:ESP;"
F12="^p ret;"
SF3="^format;"
CF8="^XT;"
CF9="TRACE OFF;"
CF10="^XP;"
CF11="SHOW B;"
CF12="TRACE B;"
AF1="^wr;"
AF2="^wd;"
AF3="^S 0 L FFFFFFFF 8B,CA,F3,A6,74,01,9F,92,8D,5E,08;";<=VB3¯S©º¦r²Å¦ê
AF4="^s 0 l ffffffff 56,57,8B,7C,24,10,8B,74,24,0C,8B,4C,24,14,33,C0,F3,66,A7;" ;<=VB4¯S©º¦r²Å¦ê
AF5="^s 0 l ffffffff FF,75,E0,E8,85,EF,FF,FF,DC,1D,28,10,40,00,DF,E0,9E,75,03;" ;<=VB5¯S©º¦r²Å¦ê
                                                      
AF8="^XT R;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="altscr off; lines 60; wc 32; wd 8;"
CF2="^wr;^wd;^wc;"
;<=¥H¤U¬O§»¾Þ§@©R¥O¡G
MACRO s7878="S 30:0 L ffffffff '78787878' "
MACRO sname="S 0 L FFFFFFFF 'toye' "
MACRO swide="s 0 l FFFFFFFF '7','8,'7','8,'7','8,'7','8,'7','8,'7','8,'7','8','7','8' "
MACRO reg="bpx regqueryvalueexa if *(esp->8)>='Soft' do "d(esp->14)" "
MACRO bpxpe="bpx loadlibrarya do "dd esp->4" "
MACRO bpxgeta="bpx GetDlgItemTextA; bpx getwindowtexta; bpx getdlgitemint; bpx getdlgitemtext;"
  
; ***** Examples of sym files that can be included if you have the SDK *****
; Change the path to the appropriate drive and directory
;LOAD=c:\windows\system\user.exe
;LOAD=c:\windows\system\gdi.exe
;LOAD=c:\windows\system\krnl386.exe
;LOAD=c:\windows\system\mmsystem.dll
;LOAD=c:\windows\system\win386.exe
; Exports - change the path to the appropriate drive and directory
EXP=c:\windows\system\advapi32.dll ;<=³o¥|¦æ«e¤£­n¥[¤À¸¹,§_«h¤£³Q¸Ë¸ü¡ASOFTICE¥i¯à¤°»ò¤]Äd¤£¨ì :
EXP=c:\windows\system\kernel32.dll
EXP=c:\windows\system\user32.dll
exp=c:\windows\system\gdi32.dll
exp=c:\windows\system\comctl32.dll ;

; ¦p§A­n¯}¸ÑVBµ{§Ç¡A¤U­±ªºVB¹B¦æ®w±N­n¸Ë¸ü¡ASOFTICE¹w³]­È¬O¨S¦³³o´X¦æ¡A§A»Ý¤â°Ê¥[¤W¡C
;EXP=c:\windows\system\msvbvm60.dll;<= Visual Basic 6 ¨ãÅé°Ñ¦Ò²Ä¤Q¤­½ÒVB¯}¸Ñ
EXP=c:\windows\system\msvbvm50.dll ;<= Visual Basic 5 ª`·N¦b³o¤­­ÓDLL¤¤³Ì¦n¤£­n¦P®É¸Ë¸ü2­Ó¥H¤W
; EXP=c:\windows\system\vb40032.dll;<= Visual Basic 4¡]32bit)
; EXP=c:\windows\system\vb40016.dll;<=Visual Basic 4(16-bit)¸û¤Ö¨£
; EXP=c:\windows\system\vbrun300.dll;<=Visual Basic 3

;EXP=c:\windows\system\vga.drv;
;EXP=c:\windows\system\vga.3gr
;EXP=c:\windows\system\sound.drv
;EXP=c:\windows\system\mouse.drv
;EXP=c:\windows\system\netware.drv
;EXP=c:\windows\system\system.drv
;EXP=c:\windows\system\keyboard.drv
;EXP=c:\windows\system\toolhelp.dll
;EXP=c:\windows\system\shell.dll
;EXP=c:\windows\system\commdlg.dll
;EXP=c:\windows\system\olesvr.dll
;EXP=c:\windows\system\olecli.dll
;EXP=c:\windows\system\mmsystem.dll
;EXP=c:\windows\system\winoldap.mod
;EXP=c:\windows\progman.exe
;EXP=c:\windows\drwatson.exe
; ***** Examples of export symbols that can be included for Windows 95 *****
; Change the path to the appropriate drive and directory
EXP=c:\windows\system\kernel32.dll
EXP=c:\windows\system\user32.dll
EXP=c:\windows\system\gdi32.dll
EXP=c:\windows\system\comdlg32.dll
EXP=c:\windows\system\shell32.dll
EXP=c:\windows\system\advapi32.dll
EXP=c:\windows\system\shell232.dll
EXP=c:\windows\system\comctl32.dll
;EXP=c:\windows\system\crtdll.dll
;EXP=c:\windows\system\version.dll
EXP=c:\windows\system\netlib32.dll
;EXP=c:\windows\system\msshrui.dll
EXP=c:\windows\system\msnet32.dll
EXP=c:\windows\system\mspwl32.dll
;EXP=c:\windows\system\mpr.dll

  ±Ò°Êwindows¸Ë¸üSOFTICE¦Z¡A«x¡I«ç»ò¨S¤ÏÀ³¡A¨S½Õ¸Õµe­±¡I«¢«¢¡A§OµÛ«æ¡A«öCTRL¡ÏD¬Ý¬Ý¡A¦A«ö¤@¤U¦^¨ìwindows¤U¡A©Î«öF5¤]¯à¦^¨Ó¡C¦¹®É½Õ¸Õµøµ¡¶Hwindows¶}ªº¤@µøµ¡¡A¦p¬O¶H¥þ¿Ã¹õDOS¤@¼Ëµøµ¡¡A¨º´N¬O¦w¸ËÅã¥d®É¡A°Ñ¼Æ¨S¿ï¦n¡A¦¹®É«ö¤W¤å­×¥¿§Y¥i¡C¤U­±ªº©R¥O¬O½Õ¾ãSOFTICEµøµ¡ª¬ºA¡G
    set font n(n=1,2,3)³]¸m¦rÅé;¥»¤H«ØÄ³set font 2(¦b800*600±ø¥ó¤U¡^
    set origin x,y(x,y)Âê©wµøµ¡;
    lines n n=(25-128)³]¸mÅã¥Ü¦æ¼Æ¡F¥»¤H«ØÄ³lines 40
    Ctrl+Alt+´å¼ÐÁä ²¾°Êµøµ¡¡F
    Ctrl+Alt+home ­«³]µøµ¡¦ì¸m­ìÂI¡]0,0¡^¡F
    Ctrl+L ¨ê·s¡C
¦p§A¥H¹w³]winice.dat±Ò°ÊSOFTICE¡A¦³¥i¯à»Ý¥ÎWD¥´¶}¸ê®Æµøµ¡;¥ÎSET FONT 2 ³]¸m¦rÅéµ¥­«´_¤u§@¡C§A¥i¦bwinice.dat¤å¥ó¤º³]¸m¦Û°Ê°õ¦æ©R¥O¾Þ§@¡A¤èªk¬O¦bINIT³o¤@¦æ¡A¦U©R¥O¥Î¤À¸¹¤À¶}¡A¦p¡G
INIT=" WD 2; WC 14; FAULTS OFF; IXHERE OFF; IYHERE OFF; set font 2;lines 40;x;"³o¼Ë°t¨î«á¬É­±Ãþ¦üTRW2000¡C¡]³o¨Ç¬O¦b800*600±ø¥ó¤Uªº±¡ªp¡A¦p§A¤£¬O¦¹¤ÀÅG²v¥i½Õ¾ãset font n;lines n¡^
¤G¡BSOFTICE for Windows Millennium
  ¥Ñ©óWindows Millennium¨S¦³¤FDOS¥­¥x¡A¦]¦¹¤£¯à¥Î±`¥Îªº¤èªk¨Ó¦w¸ËSOFTICE,¦b¦¹¥­¥x¤W¥i¥H¹B¦æSOFTICE for WIN9xª©¥»©MTRW2000ª©¥»¡C­n¹ê²{SOFTICE¦bWindows Millennium¥­¥xªº¦w¸Ë¡A»Ý­n¤u¨ãWinice Loader¡A¦w¸Ë¹Lµ{¦p¤U:
1 ¥¿±`¦w¸ËWindows Millennium,¦p¦bC:\WIN98ME¡F
2 ¥¿±`¦w¸ËSoftice 405 Build 334¡F
3 ´_¨îWINICE.EXE¡BWINICE.DAT¡BSIWVID.386 ¤T­Ó¤å¥ó¨ì C:\WIN98ME¤U¡F
4 ±qWinice Loader¤º¸ÑÀ£ LOADER.EXE,´_¨î³o­Ó¤å¥ó¨ìC:\WINME98\SYSTEM\VMM32\ ¤U.
5 ­«·s±Ò°Ê¨t²Î¡C
¤T¡BSOFTICE for NT/2K¦w¸Ë»P°t¨î
1¡BSOFTICE for NT/2kªº¦w¸Ë»Pfor 9xª©¥»®t¤£¦h¡A©Ò¤£¦Pªº¬O¦b²Ä¤­¨B¡G¸Ë¸üSOFTICE¤è¦¡¿ï¾Ü
§A¥i®Ú¾Ú»Ý­n¿ï¾Ü¤£¦Pªº¸Ë¸ü¤è¦¡¡Aª`¡G¦p§A¿ï¾Ü¤FManual¤è¦¡¡A­n¸Ë¸üSOFTICE¡A»Ý­n¨ÓSOFTICEªº¥\¯àªí¨½¹B¦æ¿ï¶µ¡GSTART SOFTICE§Ö±¶¤è¦¡¨Ó¸Ë¸üSOFTICE¡C
2¡B¦bNT¤U¡A°t¨îSOFTICE¬O¥ÎSOFTICE Loader¡]±q§Aªº¶}©l¥\¯àªí¿ï¡^¡A¿ï¾ÜEdit/SoftICE¡A¤@¯ëªº¿ï¶µ¬Oªì©l¤Æ¡A³o¨½§A¥i°Ñ¦Ò¤â¥U¤F¸Ñ¤£¦Pªº¶}Ãö¿ï¶µªº¸Ô²Ó´y­z¡C¦p¡G
CODE ON; FAULTS OFF; I3HERE OFF; WD 3; WF; X;
¨ä¥¦¨â­Ó­«­nªº¿ï¶µ¬OSymbols & Exports¡C¦pªG§A¾Ö¦³¦Û¤v¨t²ÎªºSDK¡]³nÅé¶}µo¤u¨ã¥]¡^¡A§A¥i¥ÎSOFTICE¸Ë¸ü¨Ã½Õ¸Õ¥¦¡C¨º¨Ç¨S¦³SDKÀ³¸Ó¥Îexports¿ï¶µ±q%WINNT%/System32 ¥Ø¿ý¤U¼W¥[¤U­±ªºDLL¤å¥ó¡C
advapi32.dll, comctl32.dll, comdlg32.dll, gdi32.dll, kernel32.dll, msvbvm(50/60).dll (¦pªG»Ý­n), msvcrt.dll (¦pªG»Ý­n), ole32.dll, oleaut32.dll, shell32.dll, user32.dll, version.dll.

¥|¡BTRW2000ªº¦w¸Ë»P°t¨î
㈠¡BTRW2000¦w¸Ë
  
TRW¦w¸Ë²³æ¦h¤F¡A¨SSOFTICE¨º¼Ë´_Âø¡A¦ý¥Ø«eTRW2000¤£¤ä«ùwindows NT¡C¥¦µo¥¬ª©¥»¬O¤@­ÓZIPÀ£ÁY¥]¡A¤~200¦hK¡C¥u­n±N¨ä¸ÑÀ£ÁY¨ì¤@­Ó¥Ø¿ý¤U¡AµM«á¹BTRW2000.EXE§Y¥i
¿E¬¡¤è¦¡¦PSOFTICE¤£¤@¼Ë¡G
1. Ctrl + M ¯SÅv¯Å0¯Åªº§Ö³tÁä¡A¯à°÷¥ß§Y¤¤Â_Win9x¡C ¬Û·í©ó Soft-ICE ªº§Ö³tÁä Ctrl+D.
2. Ctrl + N ¯SÅv¯Å3¯Åªº§Ö³tÁä¡C ¦bµ´¤j¦h¼Æ®É­Ô¡A§Ú­Ì¨Ã¤£»Ý­n¦b0¯Å¤W¤¤Â_¡C Ctrl + N¥i¥H¤¤Â_Windowsªº¯SÅv¯Å3¯Åªº«e¥x½uµ{¡C ³oÀ³¸Ó¬O§Ú­Ì³Ì±`¥Îªº¡C
¨ä¥¦«ü¥O¦PSOFTICE­Ý®e¡A¤]´N»¡§A¦b¤W¤@¸`¾Ç±oªF¦è§¹¥þ¥i¥Î¦bTRW2000¤W¡C
¦ý¬OTRW2000¦³³\¦h§ó·sªº«ä·Q¡A¨ãÅé¬Ý¦Z­±´X½Ò¤¶²Ð¤Î½d¨Ò¡C
¥t¥~¡ATRW2000¥i¤ä«ùplug-ins¡A¤]¥i¸Ë¸üdll¤å¥ó¡A¦b1.15ª©¥»¥H¤W¡A¦b¦w¸Ë¥Ø¿ý¤U¦³¤@DLL¥Ø¿ý¡A¦p§A¯S§O»Ý­nªºdll´_¨î¨ì¦¹¥Ø¿ý¡A§Y¥i¸Ë¸ü¡A¦p¯}¸ÑVB®É¡A´N»Ý­n±NVB dll´_¨î¦¹¥Ø¿ý¡A¨ãÅé°Ñ¦Ò«á­±ªºVB¯}¸Ñ¡C
¨ä¥¦ªº½ÐŪ¨äReadme.
㈡¡BTRW2000ªº°t¨î
TRW2000ªº°t¨î¬O³q¹L¨ä¦w¸Ë¥Ø¿ý¤Uªº
TRW2000.ini ¨Ó¹ê²{ªº¡A§A¥i«ö¦Û¤vªº»Ý­n°t¨î¥¦¡]¤@¯ë«ö¹w³]§Y¥i¡^¡C
; TRW2000 Initialize file
; Please modify it as your habit .
;rem PLUGS=C:\PLUGS\HELLO.SYS
;No, you don't put this line. Now we have changed plug-ins load-method.
;Please copy your SYS to <TRW2000 Directory>\SYS, TRW2000 will load it
;automatic.
; Now, we don't support keyword LINES=, please use command LINES instead.
INIT="lines 35;wr 3;wd 4;wc 16"
F1=^HELP ; Command length CAN'T be longer than 15 characters !
; This command length is 5 charcaters .
F3=^SRC
F4=^RS
F5=^X
F6=^EC
F7=^HERE
F8=^T
F9=^BPX
F10=^P
F12=^PRET
;HOTKEY=320D ;Ctrl+M
;R3HOTKEY=310E ;Ctrl+N
GRAPHICS=ON ;Use graphics mode driver
VESA=OFF
VGA=ON
INTELLIMOUSE=ON ;If your mouse is a intellmouse, set this to ON
WINMOUSE=ON ;If you found your mouse is not work properly, try it to ON. But we do NOT recommend this, because it maybe decrease stabilization.
;HST=256 ;History buffer size, default = 256k
SYMBUFFER=1024
CAPITAL=ON
WONDER=ON
TESTMODE=OFF

[[i] ¥»©«³Ì«á¥Ñ seep1234567890 ©ó 2007-9-21 01:53 ½s¿è [/i]]

fish5477 µoªí©ó 2007-10-1 02:29

¬Ýªº¥X¨Ó¤j¤j¬O°ª¤â
¼gªº¯uªº«Üºë²`
¤£¬O¤@¯ë¥b¦Q¤l¦A¼gªº

realyw999 µoªí©ó 2007-11-29 16:18

¶W¦hªº东¦è¦³¡A»Ý­n时´N会·P¿E¥L内®eªº¤¥´I¤F

Lizard0605 µoªí©ó 2007-12-4 07:56

ªF¦è¦n¦h°Ú...¼g­Ó¥~±¾­nÀ´ªºªF¦è¯u¤£¤Ö...

ªü¹Å µoªí©ó 2008-2-7 14:50

ÁöµM¬Ý¤£¤Ó¸³¤£¹L ¨ü¯q¨}¦h·P£¡¤£¶i

¥@¬É³q µoªí©ó 2008-2-14 21:37

这贴¤Ó¦Q¤F¡A§Ú¦¬ÂäF~备¥Î¡I

andyoun µoªí©ó 2008-3-3 22:07

¯u¯«ªü!!

­ì¨Ó»s§@¤@­Ó¦nªº¥~±¾»Ý­n¦p¦¹Ãe¤jªº¤uµ{¤~°µªº¥X¨Ó~
¯u¨ØªA¨º¨Ç»s§@¥X¥«­±¤W¨º¨Ç¼öªù¹CÀ¸¥~±¾ªº°ª¤â~

bkempemp µoªí©ó 2008-3-13 18:46

¥ý¦¬Âð_¨Óµ¥©ú¤Ñ¦A¦n¦nªºÆ[¬Ý^^«D±`·PÁ±zµL¨p¤À¨É

49227211 µoªí©ó 2008-3-19 08:40

¥ý¦¬Âð_¨Óµ¥©ú¤Ñ¦A¦n¦nªºÆ[¬Ý

tttll22 µoªí©ó 2008-3-22 20:14

¬Ý来°¸还¦³«Ü¦h东¦è­n学

1010bbq µoªí©ó 2009-5-25 13:53

ÁÂÁÂc hing ¤À¨É ^_^

mightya µoªí©ó 2009-8-28 10:45

¡¨3¡B¼ô½m´x´¤¸òÂÜ©M½Õ¸Õªº¤u¨ã¡§

实际¾Þ§@过µ{¤¤
ring0级别¥Îsoftice, 静态¦ÛµM¥Îida pro ,¥¦¦³¤@个´¡¥ó¡A¥i¥H§â汇编码译¦¨伪码¡A¦Ó¯A¤Î¤@¯ëªº¸ò踪¡A¥Îollydbg´N¥i¥H¤F¡A¥¦ªº¥\¯à¤]«Ü强¤j¡A­×§ïpe¤å¥ó¤]«Ü¤è«K¡C°£¦¹¤§¥~¡A还­n°t¦Xpeidµ¥¨ä¥L¤u¨ã¡C
--------
ºë¤O过³Ñªº¤H³Ì¦n学¤Udx©Mopengl两®Mapi,¤]¦³§U¤_²z¸Ñ´å戏实现逻辑¡C
ÊI¤W¨º¥»¡mÊI络´å戏¦w¥þ´¦±K¡n¡A¨½­±´£¨ì¤@¨Ç§Þ术应¥Î¡A还¥i¥H¡C

9316 µoªí©ó 2009-9-20 17:58

¤j¤jªGµM¬O°ª¤â
«ØÄ³§A ¥h¥X®Ñ

gameking µoªí©ó 2010-3-5 02:04

©ú¥Õ©ú¥Õ, ¾Ç·|¤F!

alomar0116 µoªí©ó 2010-6-16 09:30

³o¦ì¤j­ô¯uªº¦n¼F®`
´«¦¨¤@¯ë¤H­n¬Ý³£²Ö¤F
§A§â¥L¥´§¹...orz

dtfmz µoªí©ó 2010-12-9 20:08

¬Ý¦Z¨g¨ü±Ð¨|°Ú¡A¤ï势

diandian0122 µoªí©ó 2011-1-14 09:11

«Ü¦n°Ú¡A¨ü¯q­ê浅

mightya µoªí©ó 2011-4-6 16:57

够长,
¦Û¤v写过,难«×³Ì¤j´N¬O¥N码¸ò踪.

­¶: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.