C# 制作外挂常用的API
- C#做外挂的常用API,本人用了很久,基本没发现问题
- 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
- );
- }
- }
C# 制作外挂常用的API的更多相关文章
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- React常用的API说明
楼主刚开始学习react,感受到了他的博大精深,看到很多莫名的用法,不知云云,找了很多没有找到参考手册,只有在中文社区和react官方看了一些,收集了一些比较常用的API,有补充的可以楼下评论补充.后 ...
- Appium常用的API函数
在学习应用一个框架之前,应该了解一下这个框架的整体结构或是相应的API函数.这篇文章还不错:http://blog.sina.com.cn/s/blog_68f262210102vzf9.html,就 ...
- elasticsearch中常用的API
elasticsearch中常用的API分类如下: 文档API: 提供对文档的增删改查操作 搜索API: 提供对文档进行某个字段的查询 索引API: 提供对索引进行操作,查看索引信息等 查看API: ...
- 【转】基于laravel制作APP接口(API)
这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...
- 第二篇、JavaScript常用的API
下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属性操作 内容操作 css操作 位置大小 事件 DOM加载完毕 绑定上下文 去除空格 Ajax JS ...
- [Windows Phone]常用类库&API推荐
原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...
- 生活常用类API调用的代码示例合集:邮编查询、今日热门新闻查询、区号查询等
以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 邮编查询:通过邮编查询地名:通过地名查询邮编 今日热门新闻查询:提 ...
- Web自动化框架LazyUI使用手册(7)--浏览器常用操作API
LazyUI框架中,BrowserEmulator类提供了大量的浏览器操作,常用的API列举如下: 1. 基本操作 /** * Open the URL * 打开一个URL * @param ur ...
随机推荐
- spring3.0.5的aop使用
spring3.0.5开始支持jpa2.0了,但是最近笔者在使用他的的时候发现了3.0.5的包与2.5.5相比,有所精简.其他外部的包,我们需要自己下载. AOP必须的spring包 org.spri ...
- ajax-Ajax试题
ylbtech-doc:ajax-Ajax试题 Ajax 1.A,Ajax试题返回顶部 001.{Ajax题目}使用Ajax可带来便捷有()(选择3项) A)减轻服务器的负担 B) ...
- (原创)LAMP教程2-安装虚拟机软件VirtualBox
大家好,今天我们讲的是第二章,安装虚拟机软件VirtualBox 我先讲一下我的电脑的环境,可以看下面的图片说明 大家也看到了我的机子是64位的win7系统(为什么讲这个,因为接下来我们要下载的是ce ...
- HDU 3853-loop(概率dp入门)
题意: r*c个方格,从(1,1)开始在每个方格可释放魔法(消耗能量2)以知,释放魔法后可能在原地.可能到达相邻的下面格子或右面格子,给出三者的概率 求要到达(R,C)格子,要消耗能量的期望值. 分析 ...
- <转>Python运行的17个时新手常见错误小结
1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在 ...
- document.body、document.documentElement和window获取视窗大小的区别
来源:http://www.ido321.com/906.html 在w3school关于window对象的介绍中,介绍了获取浏览器窗口大小的三种方法(浏览器的视口,不包括工具栏和滚动条). 对于In ...
- 编译安装vim8.0
由于我的网络问题,我download vim的原码进行手动编译:碰到的问题:1:编译的时候找不到python.h ?? 编译的vim的时候需要python 支持,有两种一种python2, p ...
- 个人思考:能否sub.prototye=sup.prototype实现继承
var Sup=function(name){ this.name=name; }; var Sub=function(name){ this.name=name; }; Sup.prototype. ...
- scribe、chukwa、kafka、flume日志系统对比 -摘自网络
1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁 ...
- TreeMap实现原理
摘要 研究项目底层代码时,发现项目中的数据的缓存用的是TreeMap来实现对数据的缓存管理.本片博文就TreeMap的源码.原理以及用法做一个探究 在用TreeMap之前我们要对TreeMap有个整体 ...