易语言做出来就是报毒,想用C#实现,转换费劲啊
代码是超级模块源码里面的内存搜索功能,
效果是 内存搜索(进程ID,byte[]{20,30,45,20,47},ref int[] a);
输入进程id,再输入内存中的10进制特征,传如个int数组结果,会搜索所有内存中符合第二个变量的内存中地址信息,保存在a数组里面。求转换啊,还有个功能是根据地址搜索内存中的字符窜。自己转换了一般,继续不下去了。变量为了好记和易语言一样用的中文了 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)
{
}
}
}
代码是超级模块源码里面的内存搜索功能,
效果是 内存搜索(进程ID,byte[]{20,30,45,20,47},ref int[] a);
输入进程id,再输入内存中的10进制特征,传如个int数组结果,会搜索所有内存中符合第二个变量的内存中地址信息,保存在a数组里面。求转换啊,还有个功能是根据地址搜索内存中的字符窜。自己转换了一般,继续不下去了。变量为了好记和易语言一样用的中文了 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)
{
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货