Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4765126
  • 博文数量: 206
  • 博客积分: 5240
  • 博客等级: 大校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 21:40
文章分类

全部博文(206)

文章存档

2013年(13)

2012年(8)

2011年(33)

2010年(152)

我的朋友

分类:

2010-09-17 01:47:08

import process

Module32First = ::Kernel32.api(
"Module32First","int(int hSnapshot,struct& lppe)")
Module32Next = ::Kernel32.api(
"Module32Next","int(int hSnapshot,struct& lppe)"

function Get(pid){
    
var arrModule={}

    MODULEENTRY32= 
class
        int dwsize; 
        int th32ModuleID; 
        int th32ProcessID; 
        int GlblcntUsage; 
        int ProccntUsage;
        byte modBaseAddr; 
        int modBaseSize; 
        int hModule; 
        bytes  szModule[256];
        bytes  szExePath[1024];
    }

    
var module =MODULEENTRY32() 
    hSnapshot= process.CreateToolhelp32Snapshot (8,pid)  
    
if(!hSnapshot) 
        
return 0;  

    module.dwsize=1024 
    phandle=Module32First(hSnapshot,module)
    
while(phandle!=0){ 
        table.push(arrModule,module.szModule)
        phandle=Module32Next(hSnapshot,module)
    }
    
    raw.closehandle( 
topointer(hSnapshot))
    
return arrModule;
}

var pid=0;
for processEntry in process.each( "QQ.exe" ) { 
    pid=processEntry.th32ProcessID
    io.print(pid)
}

io.open()
var arrModule = Get(pid) 
io.print( #arrModule )

for(i=1;#arrModule ){
    io.print(arrModule[ i ])
}

execute("pause")
io.close()
阅读(1516) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~