/*¤´»²¹Í(¥°¥°¤ì¤ÐÁ´¤Æ¤Î°ÕÌ£¤äÃͤÏɬ¤ºHIT¤·¤Þ¤¹¡§¸¡º÷¥¡¼¥ï¡¼¥É¤Î¹©ÉפâɬÍ×)*/
;¡É¬ÍפʣÁ£Ð£É¤ÎÄêµÁ¤µ¤ì¤Æ¤¤¤ë£Ä£Ì£Ì¤òõ¤¹
;¢°ú¿ô¤ÎÀßÄê¤ÏÁ´¤Æsptr¤ÇÎɤ¤
#uselib "kernel32"
#func global GetCurrentProcess "GetCurrentProcess"
#func global GetModuleFileNameA "GetModuleFileNameA" sptr,sptr,sptr
#uselib "psapi"
#func global EnumProcesses "EnumProcesses" sptr,sptr,sptr
#func global EnumProcessModules "EnumProcessModules" sptr,sptr,sptr,sptr
#func global GetModuleInformation "GetModuleInformation" sptr,sptr,sptr,sptr
;£ÊÑ¿ô¤Î·¿¤ä¹½Â¤ÂΤäÄã¿ôÃͤò£È£Ó£Ð¤Î·¿¤ËÅö¤Æ¤Ï¤á¤ë
dim hProcess ;HANDLE hProcess;
dim ModuleHandles,1000 ;HMODULE ModuleHandles[1000];
dim ModuleNum ;DWORD ModuleNum;
dim ReturnSize ;DWORD ReturnSize;
sdim FileName,260 ;char FileName[1000];
dim ModInfo,3 ;MODULEINFO ModInfo;
dim HMODULE ;
/*
typedef struct _MODULEINFO {
LPVOID lpBaseOfDll;
DWORD SizeOfImage;
LPVOID EntryPoint;
} MODULEINFO, *LPMODULEINFO;
*/
;¤À©¸æʸ¤äɽ¼¨Ì¿Îá¤ò£È£Ó£Ð¤ÎÌ¿Îá¤ËÃÖ¤´¹¤¨¤ë
;¥ÃͤòÊÖ¤¹£Á£Ð£ÉµË¡¤Î³ç¸Ì¤ò³°¤·¤ÆSTAT¤ÇÊÖ¤êÃͤò¼õ¤±¼è¤ë·Á¤Ë¤¹¤ë
;¦£Á£Ð£É°ú¿ô¤ÎÃͤò¼õ¤±¼è¤ëÉôʬ¤Ïvarptr¤Ç¥Ý¥¤¥ó¥¿¡¼ÅϤ·¤Ë¤¹¤ë
HMODULE = 4
GetCurrentProcess
hProcess = stat
EnumProcessModules hProcess,varptr(ModuleHandles),1000,varptr(ReturnSize)
ModuleNum = ReturnSize/HMODULE
repeat ModuleNum
GetModuleFileNameA ModuleHandles(cnt),varptr(FileName),260
GetModuleInformation hProcess,ModuleHandles(cnt),varptr(ModInfo),4*3
mes FileName
mes ModInfo.0
mes ModInfo.1
mes ModInfo.2
loop
;§½ª¤ï¤ê