http://hi.baidu.com/859729391/blog/item/d0465b86c252c72dc65cc3a5.html

这篇很简单了...呵呵......完全是C#知识,主要是如何调用方法..

我们可以把上面那一篇编译成一个dll类库来调用,,或者直接接着写..

那么我就直接写了...

public class test

{

    string pid=getpid.pid;//取得pid

     read_and_write.write(string pid,IntPtr address,int wordin)//调用写,没有返回值的

    string a=read_and_write.write(string pid,IntPtr address,int wordin)//调用读,有返回值

//OK完了..变量请自己声明,呵呵...如何找内存地址实现乱飞呀,秒杀呀,啥的,就自己去外挂论坛

//看看咯...呵呵...}

}

下面我总结一下取得PID的集中方法

首先是通用的方法

就是通过API的FINDWINDOW一系列来获取

hand=FindWindow(NULL, "就上魔力");
   //api的findwindow方法,其中两个参数是(类名,窗口名),只需要其中一个就能找到窗口句柄,没有那个可以   

//填NULL,表示空...

 

GetWindowThreadProcessId(hand,&pidwin);//通过窗口句柄hand找到游戏pid

ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, pidwin);//通过pid找到进程句柄,并且得到

 

其次就是C#的方法,当然C#也可以调用API来实现

    public class getpid//定义取得pid的类

      {       public string pid;//为了省事,我直接声明一个公共字段了,当然你也可以写属性写构造啦!

           System.Diagnostics.Process[] processes = Process.GetProcesses();
           
//获得当前所有进程列表 ,注意是个数组,除非你的电脑只有一个进程
            foreach (Process a in processes)   //遍历每一个进程 ,如果出错请声明一下a   
            {
                if(a.ProcessName.ToString()=="xxx.exe")//如果进程名等于xxx.exe,可以用资源管理器查看

                    {

                          pid= a.Id.ToString();//就输出他的pid,这样就可以获得pid了

//当然Process a的属性还有很多,总之很强大,例如   a.MachineName.ToString();//获取关联进程机器名
//                                                                             a.MainWindowTitle.ToString();//获取主窗口的窗口名

//红色部分可以任意替换,如果你不知道进程名,知道窗口名,就用a.MainWindowTitle.ToString()="记事本"

                 }

最后C#还有另外一种方法,其代码如下(不做解释咯)

using System.Management;//需要此命名空间

public int pid(String name)
        {
            try
            {
                string pid = "";

ObjectQuery oQuery = new ObjectQuery("select * from Win32_Process where Name='" + name + "'");
                ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oQuery);
                ManagementObjectCollection oReturnCollection = oSearcher.Get();

                
                foreach (ManagementObject oReturn in oReturnCollection)
                {
                    pid = oReturn.GetPropertyValue("ProcessId").ToString();

                }
                return Convert.ToInt32(pid);

              
            }
            catch
            {
                MessageBox.Show("呵呵,你还没开游戏,我说得对不?");
                Application.Exit();
                return 0;
               
            }

下一小记来说说封包类的.......目前正在学习中

转载于:https://www.cnblogs.com/l1b2q31/articles/2173718.html

做外挂小记(3)--C#调用读写内存类篇相关推荐

  1. c#做外挂 step by step(更新至step3:注入)

    做外挂我也是现学的.可以说写的这个教程是现学现卖,希望对用C#的外挂爱好者能有点帮助. 本教程中有一些以" 废话 "字样标注的内容,赶时间的可以直接越过. 第一课:C#使用WIND ...

  2. java memorystream 包_C#使用MemoryStream类读写内存

    和FileStream一样,MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法.这两个类都是实现对内存进行数 ...

  3. 做外挂的一些原理。自己拿去研究。

    做外挂的一些原理.自己拿去研究. 看本文前必须先会ASM,VC,OD,FPE,HOOK 另外会做外挂的人80%以上都会无限使用收费G.只是高手都会很低调.就如现在的小小.我一直在无限用.原理就是  小 ...

  4. 如何用Delphi做外挂初级版

    1.动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标.键盘等,使游戏里的人物进行流动或者攻击,最早以前的"石器"外挂就是这种方式.(这种外挂完全是垃圾,TMD,只要会 ...

  5. 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )

    文章目录 一.代码调试器功能简介 二.Attach 进程 一.代码调试器功能简介 代码调试器功能 : 设置断点 : 无论什么类型的调试器 , 都必须可以设置断点 , 运行到断点处 , 挂起被调试进程 ...

  6. 进程线程007 进程挂靠与跨进程读写内存

    文章目录 进程挂靠 进程与线程的关系 线程与进程如何关联 为什么需要ApcState.Process CR3的值可以随便改吗 分析NtReadVirtualMemory函数 总结 跨进程读写内存 跨进 ...

  7. 使用MemoryStream类读写内存

    MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法.这两个类都是实现对内存进行数据读写的功能,而不是对持久性 ...

  8. 易语言读写内存操作详解

    1.函数原型: BOOL ReadProcessMemory( HANDLE hProcess, PVOID pvAddressRemote, PVOID pvBufferLocal, DWORD d ...

  9. 游戏修改器制作教程四:用API读写内存

    本教程面向有C\C++基础的人,最好还要懂一些Windows编程知识 代码一律用Visual Studio 2013编译,如果你还在用VC6请趁早丢掉它... 写这个教程只是为了让玩家更好地体验所爱的 ...

最新文章

  1. 上线。我都惊呆了。。。
  2. ArchLinux下LXDE的安装与设置心得
  3. Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏数据分析,证券金融行业)技术面试考点之sqlserver语言相关考察点复习
  4. python学习: 优秀Python学习资源收集汇总--转
  5. 拥抱.NET Core系列:MemoryCache 缓存过期
  6. HDU5875 - Function
  7. java汉字转拼音的处理
  8. 电子工程师名片——FAT16文件系统(转)
  9. python名称空间_一篇文章搞懂Python的类与对象名称空间
  10. JDBC:深入理解PreparedStatement和Statement
  11. 获取各城市poi数据
  12. 读取文件云服务器bcc,云服务器bcc如何用
  13. 抖音直播带货数据统计,直播带货要复盘哪些数据指标
  14. Go学习笔记 -- 异常处理
  15. 【上位机与下位机通信】使用WIFI模块ESP8266连接单片机与上位机通信
  16. 【Android studio】 制作一张长图,可上下滑动
  17. XML的解析方法(如何解析XML)
  18. 以太网之父Bob Metcalfe荣获图灵奖,其同名定律成为互联网经济基石
  19. 使用Remix编辑器发布以太坊ERC20高级代币合约
  20. 解决电脑C盘空间不足,发现微信和qq文件占用了大量内存

热门文章

  1. 图解 Elasticsearch 原理
  2. Go语言TCP网络编程(详细)
  3. 操作系统:基本分段存储管理方式
  4. js怎么把按钮往下移_js 实现单行数据上下移动
  5. redis 启动_Redis介绍amp;安装amp;启动
  6. aspx网页背景图片设置代码_python 30行代码自动填写问卷(单选题和多选题)
  7. dlink打印服务器重置,单口打印服务器 D-Link DP-302简析
  8. 某银行省级数据中心IT运维服务体系建设完整思路
  9. Python之fastai:fastai库的简介、安装、使用方法之详细攻略
  10. Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略