日期:2014-05-17 浏览次数:20851 次
public int 内存搜索(int 进程ID,byte[] 搜索内容, ref int[] 结果地址) {
int 长度 = 0;
int 操作句柄=0;
int 内存地址=0;
MEMORY_BASIC_INFORMATION 内存块信息=new MEMORY_BASIC_INFORMATION ();
byte[] 数据缓冲区 = new byte[1024];
int a = 0;
int 找到位置=0;
长度 = 搜索内容.Length;
操作句柄 = OpenProcess(2035711, 0, 进程ID);
while (VirtualQueryEx(操作句柄,内存地址,ref 内存块信息 ,28)!=0)
{
if (内存块信息.Type==131072&&内存块信息.Protect!=16&&内存块信息.Protect != 1&& 内存块信息.Protect != 128 )
{
数据缓冲区 = new byte[1024];
a= ReadProcessMemory(操作句柄,内存地址,ref 数据缓冲区,内存块信息.RegionSize,0);
if (a!=0)
{
}
}
}