日期:2014-05-17  浏览次数:20844 次

找个高手帮忙把这个易语言代码转换成C#,或者自己写个C#也行,真的好难,转换半天也无能为力。
易语言做出来就是报毒,想用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)
             {
                 
             }
             }
         }

------解决方案--------------------
内存修改器!~CSDN都有好几个版本了,C#.C++的都有,自己去资源站找一个下载下来看看就行了