防止进程退出锁函数的妙用ExAcquireRundownProtection
本帖最后由 陌路人 于 2015-5-25 13:08 编辑没有啥技术,就是用到这个函数后,想看看实现原理,具体是怎么操作的,也就有了下面的文章,
从头开始记录分析的,水平有限中间遇到不少问题,最明显的就是,当要退出的时候会有一个标记1同时也是一个指针
因为看的反汇编,而直接假设1 却没假设出来一个指针.``````
分析完后,发现有几个地方可以利用的,
1,就是多线程同步.使用理由就是 只需要定义一个全局变量即可,方便易懂.不容易出错.
2,就是可以保护 进程 或者线程 , 有利有弊 .看个人取决了, 据目前测试没发现触发PG.
如果选择保护进程,副作用很大很多函数访问都会失败,
但是有一点,所有访问它的函数都会返回失败但是不会循环等待释放而它占用资源,
如果要想保护进程或者进程中的某个线程 不正是我们想要的结果吗.
下面是我从一开始的分析过程, 可以直接跳到最下边 看功能实现
**** Hidden Message ***** 很不错,有截图又有注释。
我几年前就知道RundownProtection可以用来保护进程和线程但副作用巨大,今天才知道它的正规用途,学习了。
此外,从WIN8.1开始,EPROCESS有一个标志位,是专门用来实现进程保护的。。。 Tesla.Angela 发表于 2015-5-25 10:29
很不错,有截图又有注释。
我几年前就知道RundownProtection可以用来保护进程和线程但副作用巨大,今天才 ...
哦, win8我还没有看过呢,随后直接看win10把 哈哈 看看,谢谢。。。 学习下 支持一下 哈哈 学习一下 感谢分享 回复学习了e 正好遇到的这个问题 看看哈 看看了。。。。 来学习的 先看看把,回复一下总是好的。。 谢谢! 这好像
不错啊·!! 来学习学习的 学习一下, 有时候就是不想程序退出- -
此贴必火,占位留名,众亲平身 学习一下······· 学习一下······· 学习一下······· 学习一下,感谢分享~ 要看看 多谢分享 学习 study ExAcquireRundownProtection((ULONG64)pProcess + 0x178); *(ULONG64*)((ULONG64)pProcess + 0x178) |= 1; 为什么 没反应线程改为了 照样被远程线程侵害 学习了 x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk x64不能hook保护窗口 只能用这个了吧? 代码全部都要在驱动层实现 有一个思路是 在驱动里面监控进程创建 监控任务管理器 然后hook任务管理器的EndAsk