using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;  //这个肯定要的  namespace WindowsApplication1
{class win32API{public const int OPEN_PROCESS_ALL = 2035711;public const int PAGE_READWRITE = 4;public const int PROCESS_CREATE_THREAD = 2;public const int PROCESS_HEAP_ENTRY_BUSY = 4;public const int PROCESS_VM_OPERATION = 8;public const int PROCESS_VM_READ = 256;public const int PROCESS_VM_WRITE = 32;private const int PAGE_EXECUTE_READWRITE = 0x4;private const int MEM_COMMIT = 4096;private const int MEM_RELEASE = 0x8000;private const int MEM_DECOMMIT = 0x4000;private const int PROCESS_ALL_ACCESS = 0x1F0FFF;//查找窗体[DllImport("User32.dll", EntryPoint = "FindWindow")]public extern static IntPtr FindWindow(string lpClassName,string lpWindowName);//得到目标进程句柄的函数[DllImport("USER32.DLL")]public extern static int GetWindowThreadProcessId(int hwnd,ref int lpdwProcessId);[DllImport("USER32.DLL")]public extern static int GetWindowThreadProcessId(IntPtr hwnd,ref int lpdwProcessId);//打开进程[DllImport("kernel32.dll")]public extern static int OpenProcess(int dwDesiredAccess,int bInheritHandle,int dwProcessId);[DllImport("kernel32.dll")]public extern static IntPtr OpenProcess(uint dwDesiredAccess,int bInheritHandle,uint dwProcessId);//关闭句柄的函数[DllImport("kernel32.dll", EntryPoint = "CloseHandle")]public static extern int CloseHandle(int hObject);//读内存[DllImport("Kernel32.dll ")]public static extern Int32 ReadProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,[In, Out] byte[] buffer,int size,out IntPtr lpNumberOfBytesWritten);[DllImport("Kernel32.dll ")]public static extern Int32 ReadProcessMemory(int hProcess,int lpBaseAddress,ref int buffer,//byte[] buffer,int size,int lpNumberOfBytesWritten);[DllImport("Kernel32.dll ")]public static extern Int32 ReadProcessMemory(int hProcess,int lpBaseAddress,byte[] buffer,int size,int lpNumberOfBytesWritten);//写内存[DllImport("kernel32.dll")]public static extern Int32 WriteProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,[In, Out] byte[] buffer,int size,out IntPtr lpNumberOfBytesWritten);[DllImport("kernel32.dll")]public static extern Int32 WriteProcessMemory(int hProcess,int lpBaseAddress,byte[] buffer,int size,int lpNumberOfBytesWritten);//创建线程[DllImport("kernel32", EntryPoint = "CreateRemoteThread")]public static extern int CreateRemoteThread(int hProcess,int lpThreadAttributes,int dwStackSize,int lpStartAddress,int lpParameter,int dwCreationFlags,ref int lpThreadId);//开辟指定进程的内存空间[DllImport("Kernel32.dll")]public static extern System.Int32 VirtualAllocEx(System.IntPtr hProcess,System.Int32 lpAddress,System.Int32 dwSize,System.Int16 flAllocationType,System.Int16 flProtect);[DllImport("Kernel32.dll")]public static extern System.Int32 VirtualAllocEx(int hProcess,int lpAddress,int dwSize,int flAllocationType,int flProtect);//释放内存空间[DllImport("Kernel32.dll")]public static extern System.Int32 VirtualFreeEx(int hProcess,int lpAddress,int dwSize,int flAllocationType);}
}

转载于:https://www.cnblogs.com/icyJ/archive/2013/05/11/3072397.html

C#做外挂常用API相关推荐

  1. 从0到1API测试怎么做?常用API测试工具简介

    API 测试的基本步骤 主要包括三大步骤: (1)准备测试数据(这是可选步骤,不一定所有 API 测试都需要这一步) (2)通过 API 测试工具,发起对被测 API 的 request (3) 验证 ...

  2. C# 制作外挂常用的API

    C#做外挂的常用API,本人用了很久,基本没发现问题 using System; using System.Collections.Generic; using System.Text; using  ...

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

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

  4. React16常用api解析以及原理剖析

    React16常用api解析以及原理剖析 目录 Vue 与 React 两个框架的粗略区别对比 react 16 版本常见 api react 生命周期 react 事件机制 react.Compon ...

  5. 常用API(Object、String、StringBuffer、用户登陆注册)

    常用API 今日内容介绍 u Object u String u StringBuilder 第1章 Java的API及Object类 在以前的学习过程中,我们都在学习对象基本特征.对象的使用以及对象 ...

  6. Selenium Web 自动化 - Selenium常用API

    Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作   1.1 用webdriver打开一个浏览器   1.2 最大化浏览器&关闭浏 ...

  7. python的爬虫库_python做爬虫常用库

    python做爬虫常用库 一.总结 一句话总结: urllib:一系列用于操作URL的功能. requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后 ...

  8. Object类、常用API

    # [Object类.常用API] ## 主要内容 * Object类 * Date类 * DateFormat类 * Calendar类 * System类 * StringBuilder类 * 包 ...

  9. Java --- 常用API

    常用API 方法重载: 方法名相同,方法接收的参数不同 static: 修饰的类,可以直接使用类名进行调用 方法名 说明 public static abs(int a) 返回参数的绝对值 publi ...

最新文章

  1. MFC控件的绘制与响应顺序——ZOrder
  2. python day1
  3. 与指定数字相同的数的个数(信息学奥赛一本通-T1102)
  4. NetApp集群模式Data ONTAP展露新颜
  5. java闰年满五换行_CoreJava练习题
  6. Win10 下Visual Studio 2017源码编译Paddle
  7. Android 中文API (69) —— BluetoothAdapter[蓝牙]
  8. python中聚类和分类的区别_聚类与分类有什么区别?
  9. B站三季度财报解读丨从0到2.67亿月活,B站生态亮眼的密钥何在?
  10. RISC-V嵌入式开发入门篇2:RISC-V汇编语言程序设计(上)
  11. C++ deque类使用详解
  12. 【PHP基础学习】—PHP异步非阻塞的实现方法
  13. TabTimes专访《无尽之剑 II》开发者Donald Mustard
  14. windows上安装detectron2
  15. 一篇文章,中文发完英文发,算“一稿多投”吗?
  16. vue-element-admin入坑之切换中文版
  17. 动态规划之DP中判断是否到达某一状态(最短时间是什么)?
  18. 如何改进企业旧式工时管理系统?
  19. JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
  20. 人生苦短我用python壁纸_人生苦短,我用python

热门文章

  1. 区块链技术产生数字货币时代
  2. mysql数据库优化命令_MySQL数据库优化总结
  3. 《JavaScript设计模式》——11.2 一切只因跨域
  4. 手机安全卫士——软件管理-用户程序和系统程序
  5. [高中作文赏析]假如真的有时光隧道
  6. ondblog 修改informix日志模式
  7. 个人随笔——衰人自叙卷壹
  8. 《xUnit Test Patterns》学习笔记3 - Philosophy of Test Automation
  9. 怎样在javascript函数中将变量传递给服务端脚本程序?
  10. 使用NATAPP.cn测试微信支付回调接口