EBPIG
̽Ë÷ÔÓÖ¾
HJQDM
֪ʶ¹²Ïí ×ÊÔ´¹²Ïí ×ÊÁϹ²Ïí
¡¾ÖÆ×÷³ÉÔ±¡¿³ÌʽÁÔÈË
¡¾·¢ÐÐʱ¼ä¡¿2000-8-30
¡¾ÆÚ¿¯ºÅÂë¡¿Ôö¿¯°Ë
¡¾ÍøÕ¾µØÖ·¡¿http://programhunter.go.163.com

¡¾±à¼­¼ÄÓï¡¿

    
    {~._.~} 
     ( Y )  
    ()~*~() 
    (_)-(_) 
ÿÎÒÏë¶ÔÓÚ½âÃÜÕßÀ´Ëµ£¬ÈçºÎ¸üºÃµÄÕÆÎÕÆƽâÕâÃż¼ÊõÄØ£¿¹âŬÁ¦Ñ§Ï°ÊDz»¹»µÄ£¬»¹Òª²»¶ÏѧϰºÜ¶à¹ØÓÚÆƽⷽÃæµÄ֪ʶ£¬Õâ¸ö¿ÉÄܾÍÊÇÎÒÃǽâÃÜÕßµÄÐËȤ֮´¦°É¡£ÄÇôÄãÏÖÔÚÒѾ­ÕÆÎÕÁËÈçºÎʹÓÃSI»òTRWºó£¬Ä㻹ҪѧЩʲôÄØ£¿ÄãҪѧµÄ¾ÍÊǽñÌìÎÒÒªÏò´ó¼Ò½éÉܵģ¬Ëü¾ÍÊÇwindows APIº¯Êý£¬Èç¹ûÄãÄܹ»ºÜºÃµÄÕÆÎÕÁËÕâЩº¯Êý£¬ÄÇôÄãµÄÆƽâˮƽ¾ÍÒѾ­ÉÏÁËÒ»¸öºÜ¸ßµÄˮƽÁË¡£ºÃÁË£¬²»¶à˵ÁË£¬¿ªÊ¼½éÉÜÁË¡£ ½ñÌìÕâЩÄÚÈݶàÊýÈ¡ÓÚ¿´Ñ©µÄ½ÌѧÖУ¬ÔÚÕâÀïÏò¿´Ñ©±íʾ¸Ðл¡£
¡¾Ä¿ ÿÿ ¼¡¿
ÿÿÿÿ&ÆƽâÐĵÃ
1¡­¡­ÏÞÖƳÌÐò¹¦Äܺ¯Êý  
2¡­¡­¶Ô»°¿òº¯Êý  
3¡­¡­´ÅÅÌ´¦Àíº¯Êý  
  4¡­¡­Îļþ´¦Àíº¯Êý  
  5¡­¡­×¢²á±í´¦Àíº¯Êý  
  6¡­¡­Ê±¼ä´¦Àíº¯Êý  
  7¡­¡­½ø³Ìº¯Êý  
  8¡­¡­ÆäËüÖÐ¶Ï  
ÿÿÿÿ%³õѧÌìµØ
ÿÿÿÿOÎÊÌâ´ðÒÉ
ÿÿÿÿ4ÍøÕ¾½éÉÜ
ÿÿÿÿ,ÔÓÖ¾ÐÅÏä
&¡¾ÆƽâÐĵá¿
1¡¢ÏÞÖƳÌÐò¹¦Äܺ¯Êý
 EnableMenuItem ÔÊÐí¡¢½ûÖ¹»ò±ä»ÒÖ¸¶¨µÄ²Ëµ¥ÌõÄ¿
 EnableWindow ÔÊÐí»ò½ûÖ¹Êó±êºÍ¼üÅÌ¿ØÖÆÖ¸¶¨´°¿ÚºÍÌõÄ¿£¨½ûֹʱ²Ëµ¥±ä»Ò£©              
·µ»Ø
¡¡2¡¢¶Ô»°¿òº¯Êý

CreateDialog ´Ó×ÊÔ´Ä£°å½¨Á¢Ò»·Çģ̬¶Ô»°´° 
CreateDialogParam  ´Ó×ÊÔ´Ä£°å½¨Á¢Ò»·Çģ̬¶Ô»°´° 
CreateDialogIndirect  ´ÓÄÚ´æÄ£°å½¨Á¢Ò»·Çģ̬¶Ô»°´° 
CreateDialogIndirectParam ´ÓÄÚ´æÄ£°å½¨Á¢Ò»·Çģ̬¶Ô»°´° 
  
DialogBox  ´Ó×ÊÔ´Ä£°å½¨Á¢Ò»Ä£Ì¬¶Ô»°´° 
DialogBoxParam  ´Ó×ÊÔ´Ä£°å½¨Á¢Ò»Ä£Ì¬¶Ô»°´° 
DialogBoxIndirect ´ÓÄÚ´æÄ£°å½¨Á¢Ò»Ä£Ì¬¶Ô»°´° 
DialogBoxIndirectParam ´ÓÄÚ´æÄ£°å½¨Á¢Ò»Ä£Ì¬¶Ô»°´° 
EndDialog ½áÊøһģ̬¶Ô»°´° 
  
MessageBox  ÏÔʾһÐÅÏ¢¶Ô»°¿ò 
MessageBoxEx  ÏÔʾһÐÅÏ¢¶Ô»°¿ò 
MessageBoxIndirect ÏÔʾһ¶¨ÖÆÐÅÏ¢¶Ô»°¿ò 
  
GetDlgItemInt  µÃÖ¸¶¨ÊäÈë¿òÕûÊýÖµ 
GetDlgItemText µÃÖ¸¶¨ÊäÈë¿òÊäÈë×Ö·û´® 
GetDlgItemTextA  µÃÖ¸¶¨ÊäÈë¿òÊäÈë×Ö·û´® 
Hmemcpy  Äڴ渴ÖÆ £¨·ÇÓ¦ÓóÌÐòÖ±½Óµ÷Óã© 
·µ»Ø
3¡¢´ÅÅÌ´¦Àíº¯Êý

GetDiskFreeSpaceA »ñÈ¡ÓëÒ»¸ö´ÅÅ̵Ä×éÖ¯ÓйصÄÐÅÏ¢£¬ÒÔ¼°Á˽âÊ£Óà¿Õ¼äµÄÈÝÁ¿ 
GetDiskFreeSpaceExA »ñÈ¡ÓëÒ»¸ö´ÅÅ̵Ä×éÖ¯ÒÔ¼°Ê£Óà¿Õ¼äÈÝÁ¿ÓйصÄÐÅÏ¢ 
GetDriveTypeA  ÅжÏÒ»¸ö´ÅÅÌÇý¶¯Æ÷µÄÀàÐÍ
     GetDriveType Return Function codes:

     Value               Meaning
     0                 Drive Cannot Be determined
     1                 Root Dir Does not exist
     2                 DriveRemoveable
     3                 A Fixed Disk (HardDrive)  
     4                 Remote Drive(Network)
     5                 Cd-Rom Drive
     6                 RamDisk

GetLogicalDrives  ÅжÏϵͳÖдæÔÚÄÄЩÂß¼­Çý¶¯Æ÷×Öĸ 
GetFullPathNameA »ñÈ¡Ö¸¶¨ÎļþµÄÏêϸ·¾¶ 
GetVolumeInformationA  »ñÈ¡ÓëÒ»¸ö´ÅÅ̾íÓйصÄÐÅÏ¢ 
GetWindowsDirectoryA »ñÈ¡WindowsĿ¼µÄÍêÕû·¾¶Ãû 
GetSystemDirectoryA È¡µÃWindowsϵͳĿ¼£¨¼´SystemĿ¼£©µÄÍêÕû·¾¶Ãû  
·µ»Ø
4¡¢Îļþ´¦Àíº¯Êý

CreateFileA ´ò¿ªºÍ´´½¨Îļþ¡¢¹ÜµÀ¡¢Óʲۡ¢Í¨ÐÅ·þÎñ¡¢É豸ÒÔ¼°¿ØÖÆ̨  
OpenFile Õâ¸öº¯ÊýÄÜÖ´ÐдóÁ¿²»Í¬µÄÎļþ²Ù×÷ 
ReadFile ´ÓÎļþÖжÁ³öÊý¾Ý  
ReadFileEx ÓëReadFileÏàËÆ£¬Ö»ÊÇËüÖ»ÄÜÓÃÓÚÒì²½¶Á²Ù×÷£¬²¢°üº¬ÁËÒ»¸öÍêÕûµÄ»Øµ÷ 
WriteFile ½«Êý¾ÝдÈëÒ»¸öÎļþ 
WriteFileEx  ÓëWriteFileÀàËÆ£¬Ö»ÊÇËüÖ»ÄÜÓÃÓÚÒ첽д²Ù×÷£¬²¢°üÀ¨ÁËÒ»¸öÍêÕûµÄ»Øµ÷  
SetFilePointer ÔÚÒ»¸öÎļþÖÐÉèÖõ±Ç°µÄ¶ÁдλÖà  
SetEndOfFile Õë¶ÔÒ»¸ö´ò¿ªµÄÎļþ£¬½«µ±Ç°ÎļþλÖÃÉèΪÎļþĩβ  
CloseHandle  ¹Ø±ÕÒ»¸öÄں˶ÔÏó¡£ÆäÖаüÀ¨Îļþ¡¢ÎļþÓ³Éä¡¢½ø³Ì¡¢Ï̡߳¢°²È«ºÍͬ²½¶ÔÏóµÈ  
  
_lcreat ´´½¨Ò»¸öÎļþ 
_lopen ÒÔ¶þ½øÖÆģʽ´ò¿ªÖ¸¶¨µÄÎļþ 
_lread ½«ÎļþÖеÄÊý¾Ý¶ÁÈëÄڴ滺³åÇø 
_lwrite  ½«Êý¾Ý´ÓÄڴ滺³åÇøдÈëÒ»¸öÎļþ 
_llseek ÉèÖÃÎļþÖнøÐжÁдµÄµ±Ç°Î»Öà  
_lclose ¹Ø±ÕÖ¸¶¨µÄÎļþ 
_hread  ½«ÎļþÖеÄÊý¾Ý¶ÁÈëÄڴ滺³åÇø 
_hwrite ½«Êý¾Ý´ÓÄڴ滺³åÇøдÈëÒ»¸öÎļþ 
  
OpenFileMappingA ´ò¿ªÒ»¸öÏֳɵÄÎļþÓ³Éä¶ÔÏó 
CreateFileMappingA ´´½¨Ò»¸öеÄÎļþÓ³Éä¶ÔÏó 
MapViewOfFile ½«Ò»¸öÎļþÓ³Éä¶ÔÏóÓ³Éäµ½µ±Ç°Ó¦ÓóÌÐòµÄµØÖ·¿Õ¼ä 
MapViewOfFileEx  £¨ÄÚÈÝͬÉÏ£© 
  
CreateDirectoryA ´´½¨Ò»¸öÐÂĿ¼ 
CreateDirectoryExA ´´½¨Ò»¸öÐÂĿ¼ 
RemoveDirectoryA ɾ³ýÖ¸¶¨Ä¿Â¼ 
SetCurrentDirectoryA ÉèÖõ±Ç°Ä¿Â¼ 
  
MoveFileA Òƶ¯Îļþ 
DeleteFileA ɾ³ýÖ¸¶¨Îļþ  
CopyFileA ¸´ÖÆÎļþ  
CompareFileTime ¶Ô±ÈÁ½¸öÎļþµÄʱ¼ä 
SetFileAttributesA ÉèÖÃÎļþÊôÐÔ  
SetFileTime ÉèÖÃÎļþµÄ´´½¨¡¢·ÃÎʼ°ÉÏ´ÎÐÞ¸Äʱ¼ä 
FindFirstFileA ¸ù¾ÝÎļþÃû²éÕÒÎļþ  
FindNextFileA ¸ù¾Ýµ÷ÓÃFindFirstFileº¯Êýʱָ¶¨µÄÒ»¸öÎļþÃû²éÕÒÏÂÒ»¸öÎļþ  
FindClose ¹Ø±ÕÓÉFindFirstFileº¯Êý´´½¨µÄÒ»¸öËÑË÷¾ä±ú 
SearchPathA ²éÕÒÖ¸¶¨Îļþ  
  
GetBinaryTypeA ÅжÏÎļþÊÇ·ñ¿ÉÒÔÖ´ÐÐ 
GetFileAttributesA  ÅжÏÖ¸¶¨ÎļþµÄÊôÐÔ  
GetFileSize ÅжÏÎļþ³¤¶È 
GetFileTime È¡µÃÖ¸¶¨ÎļþµÄʱ¼äÐÅÏ¢ 
GetFileType  ÔÚ¸ø³öÎļþ¾ä±úµÄÇ°ÌáÏ£¬ÅжÏÎļþÀàÐÍ  
·µ»Ø
5¡¢×¢²á±í´¦Àíº¯Êý

RegOpenKeyA  ´ò¿ªÒ»¸öÏÖÓеÄ×¢²á±íÏî 
RegOpenKeyExA  ´ò¿ªÒ»¸öÏÖÓеÄ×¢²á±íÏî 
RegCreateKeyA ÔÚÖ¸¶¨µÄÏîÏ´´½¨»ò´ò¿ªÒ»¸öÏî 
RegCreateKeyExA ÔÚÖ¸¶¨ÏîÏ´´½¨ÐÂÏîµÄ¸ü¸´Ôӵķ½Ê½ 
RegDeleteKeyA ɾ³ýÏÖÓÐÏîÏ·½Ò»¸öÖ¸¶¨µÄ×ÓÏî 
RegDeleteValueA ɾ³ýÖ¸¶¨ÏîÏ·½µÄÒ»¸öÖµ 
RegQueryValueA »ñÈ¡Ò»¸öÏîµÄÉèÖÃÖµ 
RegQueryValueExA »ñÈ¡Ò»¸öÏîµÄÉèÖÃÖµ 
RegSetValueA ÉèÖÃÖ¸¶¨Ïî»ò×ÓÏîµÄÖµ  
RegSetValueExA ÉèÖÃÖ¸¶¨ÏîµÄÖµ 
RegCloseKey ¹Ø±Õϵͳע²á±íÖеÄÒ»¸öÏ»ò¼ü£© 
·µ»Ø
6¡¢Ê±¼ä´¦Àíº¯Êý

CompareFileTime  ±È½ÏÁ½Îļþʱ¼ä 
GetFileTime µÃÎļþ½¨Á¢£¬×îºó·ÃÎÊ£¬ÐÞ¸Äʱ¼ä 
GetLocalTime µÃµ±Ç°±¾µØʱ¼ä 
GetSystemTime µÃµ±Ç°ÏµÍ³Ê±¼ä 
GetTickCount µÃwindowsÆô¶¯ÖÁÏÖʱºÁÃë 
SetFileTime ÉèÖÃÎļþʱ¼ä 
SetLocalTime ÉèÖñ¾µØʱ¼ä 
SetSystemTime ÉèÖÃϵͳʱ¼ä 
·µ»Ø
7¡¢½ø³Ìº¯Êý

CreateProcessA  ´´½¨Ò»¸öнø³Ì 
ExitProcess ÒԸɾ»µÄ·½Ê½¹Ø±ÕÒ»¸ö½ø³Ì  
FindExecutableA ²éÕÒÓëÒ»¸öÖ¸¶¨Îļþ¹ØÁªÔÚÒ»ÆðµÄ³ÌÐòµÄÎļþÃû 
FreeLibray ÊÍ·ÅÖ¸¶¨µÄ¶¯Ì¬Á´¿â 
GetCurrentProcess »ñÈ¡µ±Ç°½ø³ÌµÄÒ»¸öα¾ä±ú 
GetCurrentProcessId »ñÈ¡µ±Ç°½ø³ÌÒ»¸öΨһµÄ±êʶ·û 
GetCurrentThread »ñÈ¡µ±Ç°Ï̵߳ÄÒ»¸öα¾ä±ú  
GetExitCodeProces »ñÈ¡Ò»¸öÒѽáÊø½ø³ÌµÄÍ˳ö´úÂë 
GetExitCodeThread »ñÈ¡Ò»¸öÒѽáÊøÏ̵߳ÄÍ˳ö´úÂë 
GetModuleHandleA  »ñÈ¡Ò»¸öÓ¦ÓóÌÐò»ò¶¯Ì¬Á´½Ó¿âµÄÄ£¿é¾ä±ú 
GetPriorityClassA »ñÈ¡Ìض¨½ø³ÌµÄÓÅÏȼ¶±ð 
LoadLibraryA  ÔØÈëÖ¸¶¨µÄ¶¯Ì¬Á´½Ó¿â£¬²¢½«ËüÓ³Éäµ½µ±Ç°½ø³ÌʹÓõĵØÖ·¿Õ¼ä 
LoadLibraryExA ×°ÔØÖ¸¶¨µÄ¶¯Ì¬Á´½Ó¿â£¬²¢Îªµ±Ç°½ø³Ì°ÑËüÓ³Éäµ½µØÖ·¿Õ¼ä  
LoadModule  ÔØÈëÒ»¸öwindowsÓ¦ÓóÌÐò£¬²¢ÔÚÖ¸¶¨µÄ»·¾³ÖÐÔËÐÐ  
TerminateProcess ½áÊøÒ»¸ö½ø³Ì  
·µ»Ø
Some other nice breakpoints from the ORC
-----------------------------------------------

BOZOSLIVEHERE
HMEMCPY
GLOBALGETATOMNAME

message breaks, not quite the same but completely useful
-----------------------------------------------------------

BMSG xxxx WM_GETTEXT   (good for passwords)
BMSG xxxx WM_COMMAND   (good fro OK buttons)
·µ»Ø
%¡¾³õѧÌìµØ¡¿
 
·µ»Ø
O¡¾ÎÊÌâ´ðÒÉ¡¿
 
·µ»Ø
4¡¾ÍøÕ¾½éÉÜ¡¿
 
·µ»Ø
,¡¾ÔÓÖ¾ÐÅÏä¡¿
Ͷ¸åÐÅÏ䣺discoveredit@china.com
´ðÒÉÐÅÏ䣺discoveranswer@china.com
°ßÖñÐÅÏ䣺programhunter@china.com
·µ»Ø