`
javatome
  • 浏览: 825234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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#.net常用函数和方法集

    C#.net常用函数和方法集 1 用C#.net轻松制作不规则窗体 4 VisualC#制作可伸缩个性化窗体 8 如何用C#实现漂亮的动态图像按钮 16 C#中将Big5繁体转换简体GB2312的代码 20 利用VS.NET创建C#Windows服务 21 c#线程 23 ...

    c# css html Jvascript json 帮助文档

    这是一个非常全面的c#开发帮助文档综合(包括常用的14中帮助文档,包括常用的c#开发和网页制作的14中基本的帮助文档,基本可以满足开发者的需求,包括:《JavaScript 语言参考》中文版.chm,C#帮助文档和《css》开发...

    Visual.C#.编程精彩百例

    实例33 在C#程序中获得Win32 API 实例34 从C#中调用COM组件 实例35 在C#程序中修改HTML文件标题 实例36 下载Web页面 实例37 创建多线程应用程序 实例38 多线程的多次加载 实例39 单个线程同步运行 实例40 多...

    明日科技《C#示例源代码》(5-8)

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 C#源代码例子 C#例子 注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#...

    C# WinForm制作异形窗体与控件的方法

    设置窗口或控件的region可以用SetWindowRgn API,不过.NET framework封装了这个操作,在C#中只要对窗口或控件的Region属性赋值就可以了。下面我就把我在C#中实现异形窗体的核心代码贴出来给大家看看,有什么意见尽管...

    明日科技《C#示例源代码》(9-12)

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 C#源代码例子 C#例子 注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#...

    C#开发典型模块大全

    第1章 认识C#及开发环境 1.1 C#概述 2 1.1.1 C#发展历程 2 1.1.2 C#语言编程环境 2 1.2 .NET Framework 2.0简介 2 1.2.1 什么是.NET Framework 2.0 2 1.2.2 .NET Framework 2.0特性 3 1.3 安装集成...

    明日科技C#示例源码.part02

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 注:一共五部分,请全部下载完成后,放同一目录下解决即可。 目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的...

    明日科技C#示例源码.part04

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 注:一共五部分,请全部下载完成后,放同一目录下解决即可。 目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的...

    C#开发典型模块大全(光盘)第二部分

    明日科技出版的c#开发典型模块大全配套光盘,要的可以下载,因大小受限,分开上传! 第1章 认识C#及开发环境 1.1 C#概述 1.1.1 C#发展历程 1.1.2 C#语言编程环境 1.2.NETFramework2.0简介 1.2.1 什么是....

    明日科技C#示例源码.part03

    C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 注:一共五部分,请全部下载完成后,放同一目录下解决即可。 目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的...

    C#示例(配套光盘源码)第五部分

    实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 ...

    C#示例(配套光盘源码)第二部分

    实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 ...

    《Visual.C#.编程精彩百例》配套光盘part1

    实例21 简单角色类游戏的制作 实例22 旅馆住宿登记情况表制作 实例23 长命名空间的应用 实例24 文件特征计数 实例25 文本框输入数据的验证 <br>第2篇 Visual C#中级编程实例 实例26 ...

    明日科技C#示例源码

    实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写...

    《Visual.C#.编程精彩百例》配套光盘.part2

    实例21 简单角色类游戏的制作 实例22 旅馆住宿登记情况表制作 实例23 长命名空间的应用 实例24 文件特征计数 实例25 文本框输入数据的验证 <br>第2篇 Visual C#中级编程实例 实例26 ...

    C#开发典型模块大全(光盘)

    第1章 认识C#及开发环境 1.1 C#概述 1.1.1 C#发展历程 1.1.2 C#语言编程环境 1.2.NETFramework2.0简介 1.2.1 什么是.NETFramework2.0 1.2.2.NETFramework2.0特性 1.3 安装集成开发环境VisualStudio2005 1.3.1 安装...

    C#开发典型模块大全(光盘)第一部分

    明日科技出版的c#开发典型模块大全配套光盘,要的可以下载,因大小受限,分开上传! 第1章 认识C#及开发环境 1.1 C#概述 1.1.1 C#发展历程 1.1.2 C#语言编程环境 1.2.NETFramework2.0简介 1.2.1 什么是....

    C#示例(配套光盘源码)第四部分

    实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 ...

    C# winform典型系统开发模板

     4.2.1 如何制作一个接口程序 80  4.2.2 实现接口程序的信息互传 80  4.2.3 如何将接口程序加载到其他程序中 82  4.2.4 怎样操作RichtextBox控件的选择文本 82  4.2.5 如何获取数据表中字段的描述...

Global site tag (gtag.js) - Google Analytics