找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 71206|回复: 79

防止进程退出锁函数的妙用ExAcquireRundownProtection

 火... [复制链接]

8

主题

69

回帖

2

精华

钻石会员

积分
3279
发表于 2015-5-25 01:12:57 | 显示全部楼层 |阅读模式
本帖最后由 陌路人 于 2015-5-25 13:08 编辑

没有啥技术,就是用到这个函数后,想看看实现原理,具体是怎么操作的,也就有了下面的文章,
从头开始记录分析的,水平有限中间遇到不少问题,最明显的就是,当要退出的时候会有一个标记1同时也是一个指针
因为看的反汇编,而直接假设1 却没假设出来一个指针.``````

分析完后,发现有几个地方可以利用的,
1,就是  多线程同步.  使用理由就是 只需要定义一个全局变量即可,方便易懂.不容易出错.
2,就是可以保护 进程 或者线程 ,   有利有弊 .  看个人取决了, 据目前测试没发现触发PG.
如果选择保护进程,副作用很大很多函数访问都会失败,
但是有一点,所有访问它的函数都会返回失败但是不会循环等待释放而它占用资源,
如果要想保护进程或者进程中的某个线程 不正是我们想要的结果吗.

下面是我从一开始的分析过程,   可以直接跳到最下边 看功能实现
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1水晶币 +100 收起 理由
Tesla.Angela + 100 很给力!

查看全部评分

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2015-5-25 10:29:08 | 显示全部楼层
很不错,有截图又有注释。

我几年前就知道RundownProtection可以用来保护进程和线程但副作用巨大,今天才知道它的正规用途,学习了。

此外,从WIN8.1开始,EPROCESS有一个标志位,是专门用来实现进程保护的。。。

8

主题

69

回帖

2

精华

钻石会员

积分
3279
 楼主| 发表于 2015-5-25 12:49:39 | 显示全部楼层
Tesla.Angela 发表于 2015-5-25 10:29
很不错,有截图又有注释。

我几年前就知道RundownProtection可以用来保护进程和线程但副作用巨大,今天才 ...

哦, win8  我还没有看过呢,  随后直接看win10把 哈哈

1

主题

26

回帖

0

精华

铜牌会员

积分
219
发表于 2015-6-15 14:31:04 | 显示全部楼层
看看,谢谢。。。

0

主题

9

回帖

0

精华

铜牌会员

积分
34
发表于 2015-6-30 00:43:00 | 显示全部楼层
学习下

0

主题

40

回帖

0

精华

铜牌会员

积分
96
发表于 2015-7-9 14:07:53 | 显示全部楼层
支持一下 哈哈

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-7-13 15:39:05 | 显示全部楼层
学习一下 感谢分享

0

主题

117

回帖

0

精华

银牌会员

积分
595
发表于 2015-7-13 18:03:02 | 显示全部楼层
回复  学习了e

0

主题

52

回帖

0

精华

铜牌会员

积分
246
发表于 2015-7-13 23:35:55 | 显示全部楼层
正好遇到的这个问题

6

主题

103

回帖

0

精华

金牌会员

积分
680
发表于 2015-7-15 21:11:41 来自手机 | 显示全部楼层
看看哈

0

主题

117

回帖

0

精华

铜牌会员

积分
258
发表于 2015-7-28 10:45:31 | 显示全部楼层
看看了。。。。

1

主题

48

回帖

0

精华

银牌会员

积分
377
发表于 2015-9-26 18:24:39 | 显示全部楼层
来学习的

9

主题

43

回帖

2

精华

铂金会员

积分
2525
发表于 2015-9-28 03:47:52 来自手机 | 显示全部楼层
先看看把,回复一下总是好的。。

5

主题

103

回帖

0

精华

铜牌会员

积分
252
发表于 2015-9-28 15:09:28 | 显示全部楼层
谢谢!

0

主题

39

回帖

0

精华

铜牌会员

积分
81
发表于 2015-10-29 01:02:16 | 显示全部楼层
这好像
不错啊·!!

2

主题

165

回帖

0

精华

金牌会员

积分
944
发表于 2015-10-29 09:53:43 | 显示全部楼层
来学习学习的

0

主题

46

回帖

0

精华

金牌会员

积分
788
发表于 2015-10-29 15:08:51 | 显示全部楼层
学习一下, 有时候就是不想程序退出- -
头像被屏蔽

0

主题

51

回帖

0

精华

铜牌会员

积分
228
发表于 2015-10-29 16:44:36 | 显示全部楼层

此贴必火,占位留名,众亲平身

0

主题

16

回帖

0

精华

铜牌会员

积分
226
发表于 2016-1-13 16:59:04 | 显示全部楼层
学习一下·······

0

主题

16

回帖

0

精华

铜牌会员

积分
226
发表于 2016-1-13 16:59:06 | 显示全部楼层
学习一下·······

0

主题

16

回帖

0

精华

铜牌会员

积分
226
发表于 2016-1-13 16:59:07 | 显示全部楼层
学习一下·······

1

主题

35

回帖

0

精华

铜牌会员

积分
274
发表于 2016-1-14 11:55:26 | 显示全部楼层
学习一下,感谢分享~

1

主题

56

回帖

1

精华

贵宾会员

积分
2075
发表于 2016-7-21 14:54:07 | 显示全部楼层
要看看

0

主题

13

回帖

0

精华

铜牌会员

积分
73
发表于 2016-8-12 00:08:13 | 显示全部楼层
多谢分享           学习

0

主题

12

回帖

0

精华

初来乍到

积分
47
发表于 2016-8-12 12:04:57 | 显示全部楼层
study

0

主题

40

回帖

0

精华

铜牌会员

积分
96
发表于 2016-8-22 17:25:18 | 显示全部楼层
ExAcquireRundownProtection((ULONG64)pProcess + 0x178);         *(ULONG64*)((ULONG64)pProcess + 0x178) |= 1; 为什么 没反应  线程改为  了   照样被远程线程侵害
头像被屏蔽

4

主题

101

回帖

0

精华

初来乍到

积分
19658
发表于 2016-8-24 21:16:08 | 显示全部楼层
学习了

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2016-8-26 02:25:21 | 显示全部楼层
x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2016-8-26 02:25:26 | 显示全部楼层
x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2016-8-26 02:25:27 | 显示全部楼层
x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2016-8-26 02:25:27 | 显示全部楼层
x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk

4

主题

145

回帖

0

精华

金牌会员

积分
1189
发表于 2016-8-26 02:25:28 | 显示全部楼层
x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表