利用CreateEvent函数不让微点启动

线程中CreateEvent和SetEvent及WaitForSingleObject的用法 关于事件   事件(Event)是WIN32提供的最灵活的线程间同步方式,事件可以处于激发状态(signaled or true)或未激发状态(unsignal or false)。根据状态变迁方式的不同,事件可分为两类:   (1)手动设置:这种对象只可能用程序手动设置,在需要该事件或者事件发生时,采用SetEvent及ResetEvent来进行设置。   (2)自动恢复:一旦事件发生并被 阅读详情
 
玩玩微点之一:利用CreateEvent函数不让微点启动
今天看书,买了好久的好书——《Windows核心编程》。看到内核对象,3.3.4 节讲“终端服务器的名字空间”,内容是说:如果存在一个可供内核对象使用的全局名字空间,就意味着它可以供所有的客户程序会话访问。Windows中就有这样的全局名字空间:"Global/" ,将"Global/"置于对象名前面,就可以使命名对象进入全局名字空间。——你是否想到什么呢?

为了跨域进程边界来共享内核对象,微点无非就是那么几种办法,开始我以为用的是:可继承句柄或命名对象的方法。后来反了一下微点的主程序:MPStart.exe,发现貌似不是这样,当我看到下面的东西,我很坚定的相信微点用的是上面提到的全局名字空间的方法。哈哈!
Copy code
.data:00408060 ; char Name[]
.data:00408060 Name            db 'Global/MPMon_6934D571-115B-4830-AC5C-02A0D08179C5',0


sub_401170 proc near
push    esi
push    edi
xor    edi, edi
push    offset Name    ; "Global//MPMon_6934D571-115B-4830-AC5C-02"...
push    edi            ; bInitialState
push    edi            ; bManualReset
push    edi            ; lpEventAttributes
call    ds:CreateEventA
mov    esi, eax
call    ds:GetLastError
cmp    eax, 0B7h
jnz    short loc_401196
--------------------------------------------------------------------------------------------

.data:004080A4 ; char aGlobalRebootev[]
.data:004080A4 aGlobalRebootev db 'Global/REBOOTEVENT_6934D571-115B-4830-AC5C-02A0D08179C5',0


loc_401875:
push    esi
push    edi
xor    edi, edi
push    offset aGlobalRebootev ; "Global//REBOOTEVENT_6934D571-115B-4830-A"...
push    1              ; bInitialState
lea    edx, [esp+20h+EventAttributes]
push    edi            ; bManualReset
push    edx            ; lpEventAttributes
call    ds:CreateEventA
mov    esi, eax
test    esi, esi
jz      short loc_4018AB


看到上面的东西,我的坏心眼出来啦!我们是不是可以在微点启动之前,或者微点没有启动的状态下,利用CreateEvent函数先微点一步,创建这个'Global/MPMon_6934D571-115B-4830-AC5C-02A0D08179C5'标识的内核对象,这样我估计微点八成是起不来了。

我写了一个小Demo,测试了一下,发现果然不出我所料,我先把微点关掉,然后运行我的demo:




这时候,你再去启动微点,微点是绝对启动不起来的,除非把我的程序先退出掉,或者释放掉上面创建的那个内核对象。哈哈!

当然了,大家会说,你这是一泡屎,人家微点就不退出,你根本没机会!——不一定吧,我要是写一个程序一直监视微点活着没,如果发现微点没在,我就赶紧创建上面那个内核对象,我看微点怎么办,要知道微点总会自动升级的,而且有时候自动升级完成后,会重启,这中间有大概3秒左右时间吧,够我创建一个内核对象了吧!哈哈!顺便说一下,我个人认为今后这样的智能木马才是大势所趋,那些野蛮的木马就是一泡屎!

好了就写到这里,声明下:本Demo没有恶意,只是学习、测试而已!

希望微点重视一下,我个人不推荐使用全局名字空间,而推荐使用可继承句柄的方法来在进程间共享内核对象。

Demo及源码下载:
利用CreateEvent函数不让微点启动.rar
利用CreateEvent函数不让微点启动.rar
R语言实战:5分钟搞定相加交互效应分析(逻辑回归/Cox回归/GLMM/GEE全支持) 本文详细介绍了如何利用R语言中的`scitable`包快速实现相加交互效应分析,支持逻辑回归、Cox回归、GLMM和GEE等多种模型。通过自动化计算RERI、AP和SI等指标,大幅提升临床研究和流行病学分析的效率与准确性,特别适合处理多因素联合作用的复杂场景。 阅读详情

相关推荐

SAP PP未清生产订单关闭物料退料、新工单发料批量处理

( werks = '1001' lgort = 'A004' lgobe = '组装-成品组装' )( werks = '1002' lgort = 'C006' lgobe = '组装-二车间' )( werks = '1002' lgort = 'C007' lgobe = '组装-二车间' )( werks = '1001' lgort = 'A007' lgobe = '组装-MS' )( werks = '1001' lgort = 'A008' lgobe = '组装-GW' )

dingqing86的专栏 1193

通过内核对象在服务程序和桌面程序之间通信的小问题

关于在通过 事件对象 在服务程序和普通桌面应用程序相互之间通信的问题,分类情况进行讨论:1、普通桌面应用程序中创建事件,服务程序中打开事件 XP的情况普通桌面应用程序中创建:m_hEvent = ::CreateEvent(NULL, FALSE, FALSE, TEXT("{67BDE5D7-C2FC-49f5-9096-C255AB791B75}"));服务程序中打开并置其为有

magictong的专栏 3484

LangChain + Milvus Lite:从零搭建本地RAG知识库

本文详细介绍了如何利用LangChain、Milvus Lite和gte-large-zh模型,在本地从零搭建一个完整的RAG知识库系统。文章涵盖了环境配置、文档处理与向量化、本地向量库构建以及检索问答实现的全流程,重点突出了完全本地化部署带来的数据隐私安全和成本优势,为开发者提供了一条实践性极强的技术路径。

weixin_29044713的博客 445

CreateEvent共享事件对象(进程间共享)

在进程间共享事件对象。 1. 服务端// EventServer.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <Windows.h> #include <iostream> using namespace std;HANDLE g_hEvent; DWORD WINAPI fun(LPVOID pParam) { ::WaitFo

混沌的博客 3362

opencv+nvcodec实现视频硬解码

最近遇到一个新项目,AI推理在上,为了方便和节省成本的考虑决定研究下模块。根据官网的说法显卡具有独立的和模块,所以理论上和是独立互不干涉的。以前的项目都只是把显卡当成推理工具,没有将它的功能利用起来,本身也是一种浪费。事实真的有这么丝滑吗?看到这里,如果你真的觉得是白叫的那就真的是了,事实究竟如何,请听我娓娓道来。NVCODEC全称是 NVIDIA VIDEO CODEC,是NVIDIA为绝大多数显卡配置的硬件编解码单元。不一定是所有显卡都有,一般来讲越新的显卡硬件编解码就越强,支持的格式也就越新。

jiexijihe945的博客 1万+

VS2022配置Qt6

VS2022配置QT教程

Life is a struggle ! 6362

CreateEvent()为什么需要加Global\\

结论: 保证此命名事件在任何版本的windows系统中都可以被访问到,即此内核对象无论出于服务,还是内核中,应用层都可以打开并使用这个内核对象。...

jigetage的专栏 734

Windows环境下pcl点云库 安装配置全流程(精简、有效)

本文为Windows配置点云库pcl步骤,具体是win10、visual studio 2017、pcl1.11.1。

zaibeijixing的专栏 1万+

CreateEvent 和OpenEvent时事件全局名称问题 Global

今天看别人的代码,注意到在操作事件对象时如下: sprintf(cTemp,"Global\\EVENT_%s",lpFileName); m_hMapEvent = OpenEvent(EVENT_ALL_ACCESS,FALSE,cTemp); 注意到了没有,事件对象名称前面加了个Global,开始以为这个Global是任意加的,可以随便改成其他字符,后来经过查阅msdn和goo

物知馆 1万+

电力现货市场出清机制与节点电价计算实战解析

本文深入解析了电力现货市场的出清机制,特别是节点边际电价的计算原理与实战应用。通过一个基于Matlab和IEEE30节点系统的完整案例,详细演示了如何利用最优潮流模型求解市场出清价格,并提取节点电价,揭示了电网阻塞如何影响实时电价的形成。

weixin_29061425的博客 952

Knewton自适应学习平台实战:如何用大数据打造个性化教育体验

本文深入解析Knewton自适应学习平台如何利用大数据技术构建个性化教育体验。通过多维度数据采集、动态认知诊断模型和智能推荐系统,平台能精准识别学生知识盲区,提供定制化学习路径。实战案例显示,该方案显著提升完课率并优化学习效率,展现了自适应学习技术的教育变革潜力。

info6的博客 505

c++中CreateEvent函数解析(1)

函数原型: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD BOOL bManualReset, // reset type BOOL bInitialState, // initial state L

chenyujing1234的专栏 1万+

Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4856

CreateEvent的使用方法

CreateEvent的使用方法 新一篇:PreCreateWindow的作用和用法|旧一篇:VC中_T()的作用 事件对象就像一个开关:它仅仅有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。能够在一个线程的运行函数中创建一个事件对象,然后观察它的状态,假设是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比較少。 产生事件对象的函...

ljw5888的博客 565

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

createEvent 自定义事件

浏览器之外的自定义事件,多次添加事件,dispatch一次,会多次触发 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery.min.js"...

betty_zhou0807的博客 483

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CreateEvent的用法

 CreateEvent的用法收藏 新一篇: PreCreateWindow的作用和使用方法 | 旧一篇: VC中_T()的作用 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?

skyremember的专栏 8万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CreateEvent Global//

<br />http://msdn.microsoft.com/zh-cn/library/ee663077.aspx<br /> <br />http://iamgyg.blog.163.com/blog/static/382232572010199211892/<br /> <br />http://www.geidan.com/vcdotnet/718411167y.html<br /> 

stwstw0123的专栏 725

服务启动进程下的跨进程事件Event问题

CreateEvent事件命名问题, 和服务的方式创建Event时,访问权限的问题

sunflower_della的博客 623

CreateEvent

CreateEvent CreateEvent的用法HANDLE     CreateEvent(           LPSECURITY_ATTRIBUTES     lpEventAttributes,     //     SD           BOOL     bManualReset,    

danhu的专栏 3430

关于CreateEvent的简单理解

CreateEvent 用来创建或打开一个命名的或无名的事件对象,对于它的其他解释,请自行百科,这里只简单描述它的两种常用用法! CreateEvent 的官方定义如下: HANDLE WINAPI CreateEvent( _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, //安全属性 _In_ BOOL

jackey3Lin的专栏 6412

CreateEvent 函数

CreateEvent 函数函数功能描述:创建或打开一个命名的或无名的事件对象函数原型:HANDLE CreateEvent(  LPSECURITY_ATTRIBUTES lpEventAttributes,   // 安全属性  BOOL bManualReset,   // 复位方式  BOOL bInitialState,   // 初始状态  LPCTSTR lpName   // 对象

shailen126的专栏 770

循环嵌套(多层 for 循环)

表:order(订单表,order_id, user_id)、user(用户表,user_id, user_name)✅ 优化:先查所有订单,拿到所有 user_id 批量 in 查询,内存 join。✅ 优化:先把优惠券转 HashMap,单层循环查找(hash 查找 O (1))SQL 只有 2 次,O (1) 数据库查询,内存遍历 O (n)。需求:查询所有订单列表,同时带出每个订单对应的用户名称。需求:订单列表、优惠券列表,把订单匹配对应的优惠券名称。复杂度:O (M+N),非常快。

weixin_43732943的博客 215

Python+Agent入门笔记(六):记忆和状态,从“一次性问答”到“能用助手”

滑动窗口的缺点很明显:被扔掉的信息就真没了。如果用户第一轮说“我不吃辣”,隔了二十轮让他推荐餐厅,模型已经忘了。定期把旧的对话压缩成一段总结,作为一条特殊的消息插进去。"""把除 system 和最近 keep_recent 条以外的消息,压缩成一条摘要。返回新的 messages 列表。"""# 把旧消息拼成纯文本,让模型总结content = f"[工具结果]把除 system 和最近 keep_recent 条以外的消息,压缩成一条摘要。返回新的 messages 列表。

qq_41241612的博客 108

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

a bit 215
上一篇: 开源的Nektra HookLib
下一篇: 关于在2003中绕过IS的ZwQueryVirtualMemory
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值