C# OpenProcess用法

C# 枚举进程模块 // namespace eMod {     using System;     using IO = System.IO;     using System.Collections.Generic;     using System.Text;     using System.Diagnostics;     using System.Runtime.InteropServ 阅读详情
函数功能:该函数用来打开一个已存在的进程对象,并返回进程的句柄。

函数原型:HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId);

参数:

dwDesiredAccess:访问权限。

bInheritHandle:继承标志。

dwProcessId:进程ID。

C#中使用该函数首先导入命名空间:
using System.Runtime.InteropServices;

然后写API引用部分的代码,放入 class 内部

[DllImport("kernel32.dll")]
public static extern int OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);   

 

这个函数有三个参数,第一个是 访问权限,PROCESS_VM_READ or PROCESS_VM_WRITE;第二个是这个是继承标志;第三个是进程ID, 由GetWindowThreadProcessId 获取。例如:

IntPtr hwnd = FindWindow(null, "计算器");   
const int PROCESS_ALL_ACCESS = 0x1F0FFF;   
const int PROCESS_VM_READ = 0x0010;   
const int PROCESS_VM_WRITE = 0x0020;     
if (hwnd != IntPtr.Zero)   
{   
    int calcID;   
    int calcProcess;   
    GetWindowThreadProcessId(hwnd, out calcID);   
    calcProcess = OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE, false, calcID);   
    //calcProcess = OpenProcess(PROCESS_ALL_ACCESS, false, calcID);   
}   
else  
{   
    MessageBox.Show("没有找到窗口");   
}

 

实战|使用Windows API绕过进程保护 首发于奇安信攻防社区 文章地址:https://forum.butian.net/share/817 前言 最近在研究某数字杀软的时候看到有个配置选项: img 这个自我保护实际上是加载360SelfProtection.sys驱动(看这名字应该还有360SelfProtection_win10.sys文件),丰告网在0环通过hook等手段保护注册表项,重要进程进程等。 img 比如这里要结束某核心进程,会显示无法结束,拒绝访问。 img img 这个并不是说权限不够 阅读详情

相关推荐

C#读写进程内存的值

本文是模仿CE(Cheat Engine)软件修改单机游戏内存功能。

ylq1045的专栏 4807

C# OpenProcess用法 .

函数功能:该函数用来打开一个已存在的进程对象,并返回进程的句柄。 函数原型:HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId); 参数: dwDesiredAccess:访问权限。 bInheritHandle:继承标志。 dwProcessId

LYBWWP 9453

C#与Cheat Engine实战:游戏内存读取与自动补血实现

在Windows系统编程中,进程内存模型是理解软件交互的核心基础。每个进程拥有独立的虚拟地址空间,通过内存分页机制实现隔离。系统提供的API(如OpenProcess和ReadProcessMemory)允许授权程序跨进程访问特定内存区域,这构成了外部工具与目标程序交互的技术原理。这种底层内存操作能力在软件调试、自动化测试和性能分析等领域具有重要价值,尤其在游戏开发与逆向工程中,可用于实现数据监控与行为模拟。本文以游戏辅助为具体场景,详细讲解如何利用Cheat Engine进行内存地址定位,并结合C#的P/

weixin_29009881的博客 327

OpenProcess()函数

通过一个进程关闭另外一个进程的时候,一般的做法就是枚举系统打开的所用进程的标识符(PID),使用OpenProcess函数获得进程的句柄,该函数可以通过第一个参数来设置句柄的新的访问权限(不清楚句柄是不是和原来的一模一样?有待证明和学习),比如如果打开的句柄不具备终止句柄的权限,直线终止进程操作会失败,返回的错误代码为5(意思为拒绝访问)。通过获得的句柄就可以获得进程名字(通过GetModuleB

夜空中最亮的星 5万+

C#使用Process类来打开一个EXE文件

在C#中,可以使用Process类来执行外部应用程序,包括打开一个EXE文件。下面是一个简单的示例,展示了如何使用C#打开一个EXE文件。首先,我们需要引用System.Diagnostics命名空间,该命名空间包含了Process类。若在打开EXE文件的过程中出现异常,我们将在catch块中捕获并输出异常信息。如果你的EXE文件需要附加参数,可以使用。在上述代码中,我们首先指定了要打开的EXE文件的路径,并通过。属性为true,这样进程将在后台运行,而不会在新窗口中显示。一旦进程退出,我们可以通过。

pytorchCode的博客 767

RTX 5090配Ubuntu 24.04踩坑记:手把手搞定OpenVLA-OFT环境(附版本避坑清单)

本文详细记录了在RTX 5090显卡和Ubuntu 24.04系统上部署OpenVLA-OFT环境的完整过程,包括驱动安装、CUDA配置、PyTorch版本选择等关键步骤。提供了经过验证的版本组合清单和常见错误解决方案,帮助开发者高效搭建AI开发环境。

weixin_30342209的博客 467

C# OpenProcess 用法

C# OpenProcess用法 . 分类: C#操作内存相关 2011-11-26 23:51 124人阅读 评论(0) 收藏 举报 函数功能:该函数用来打开一个已存在的进程对象,并返回进程的句柄。 函数原型:HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId); ...

asdfsdf3135的博客 429

无人驾驶--车道线检测实战(附源码)

做完项目后写了个技术小结,供自己回顾也为他人学习提供参考。 另外准备建一个无人驾驶方面的微信交流群,有兴趣的朋友可以加我微信:wxl609278502 请注明: 姓名-单位/学校 项目描述: 使用opencv实时处理车载摄像机采集的道路图像,检测当前的车道,并计算出当前车辆偏离车道中心的距离,计算当前车道的曲率。 项目代码GitHub地址:https://g...

weixin_38746685的博客 6万+

OpenProcess用法

函数功能:该函数用来打开一个已存在的进程对象,并返回进程的句柄。 函数原型:HANDLE OpenProcess(DWORD dwDesiredAccess,BOOL bInheritHandle,DWORD dwProcessId); 参数: dwDesiredAccess:访问权限。 bInheritHandle:继承标志。 dwProcessId:进程

若水 1万+

【2022KaliLinux】openvas/gvm 没有scan configs 或者是 scan config error “XXXXXXXXXXX”

gvm/openvas的configuration的scan config为空

zbossz的学习小分队 3606

AlphaFold3实战:用它预测抗体结构,我的CDR H3环RMSD降到了2Å以内

本文详细介绍了如何利用AlphaFold3(AF3)高精度预测抗体结构,特别是CDR H3环的建模,其RMSD可降至2Å以内。通过实战演示从序列输入到结构优化的全流程,包括参数配置、置信度指标解读及结果分析,帮助研究人员快速掌握AF3在抗体药物研发中的应用。

weixin_29224529的博客 187

OpenProcess

函数原型: HANDLE OpenProcess( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId )

wchengtan的专栏 596

【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏1(附项目源码)

关于使用TileMap生成随机2D地图,其实之前已经有做过类似的,感兴趣可以看看 但是随着学习深入,发现之前做的比较粗糙和不够全面,最近又在外网看到

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2216

关于使用OpenProcess的一个错误

关于OpenProcess的认识 在获取进程的句柄时候使用的是根据进程id来获取句柄的方式,自然使用了OpenProcess这个函数,查MSDN: HANDLE WINAPI OpenProcess(In DWORD dwDesiredAccess,In BOOL bInheritHandle,In DWORD dwProcessId );首先函数返回的是个HANDLE,其中第一个参数是需要的权限

GQB1226的专栏 4041

第4节:cesium 0基础发布离线地图(含源码+视频)

cesium发布离线地图

qq_29384639的博客 1597

基于STM32单片机设计的智能坐垫_431

本文设计了一款基于STM32F103C8T6单片机的智能坐垫系统,该系统集成了压力传感器、SHT30温湿度传感器、薄膜加热垫、涡轮风机、语音播报模块、OLED显示屏及HC-05蓝牙模块,实现了对用户就坐状态与坐垫微环境的实时监测与智能调控。系统通过压力传感器检测用户就坐情况,自动启动久坐计时并触发语音提醒;温湿度数据用于控制通风与加热功能,以改善座椅舒适性;用户可通过按键或手机APP设置久坐时长、手动开关通风与加热,并通过OLED屏或APP实时查看环境参数与计时状态。本设计体现了嵌入式系统在健康关怀与舒适性

409

Windows API一日一练(89)OpenProcess函数

这一年来流氓软件特别多,面对这种非常恶心的软件,让大家非常痛苦。正是在这种环境之下,众多客户需要强大查杀这种流氓软件的工具。如果让你来开发一个查杀这种病毒的软件,你会怎么做呢?当然是先把电脑里所有进程遍历出来,然后把每个进程的详细信息显示给用户,让用户决定自己那些进程可以运行,那些不可以运行。或者根据当前进程的信息,再跟根据病毒库里的特征码进行比较,就可以标识那些是可疑的病毒了。下面就来演示用函数

大坡3D软件开发 1万+

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

基于Jeecgboot3.9.0的flowable7.2.0流程增加一个OA请假单功能例子(二)

宁波阿成的博客 198

C#读取内存的实例

C#操作内存读写方法是什么呢?让我们来看看具体的实例实现: using System.Runtime.InteropServices;  using System.Text;  public class Function  {  //C#操作内存读写方法public static byte PtrToByte( int Ptr )  {  byte b = Marshal.ReadB

jiangxinyu的专栏 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

window API GetProcessId OpenProcess

函数原型: DWORD WINAPI GetProcessId( _In_HANDLE Process );HANDLE OpenProcess( DWORD dwDesiredAccess, // access flag BOOL bInheritHandle, // handle inheritance option DWORD dwProcessId ...

weixin_34318326的博客 125

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

c#注入-OpenProcess之前应先获取debug权限

DWORD dwProcessId; GetWindowThreadProcessId(hWnd, &dwProcessId); HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId); 只能找到ProcessingID,hProcess的返回值为空 如何提升进程权限为debug权限? GetCurre

zhaowb82的专栏 1588

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C# Read/Write another Process' Memory

https://codingvision.net/security/c-read-write-another-process-memory Today’s tutorial is about…processes’ memory! In this article I’ll show you how to read/write a process’ memory u...

weixin_30632089的博客 239

C#做外挂的常用API,本人用了很久,基本没发现问题

C#做外挂的常用API,本人用了很久,基本没发现问题using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;  //这个肯定要的  namespace WindowsApplication1{    class win32API    {  

zagj11的专栏 1675
上一篇: C# GetWindowThreadProcessId用法
下一篇: C# Readprocessmemory用法
dangdaa
博客等级 码龄18年 13粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值