Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1750|回复: 2

利用回调完成内核返回应用层异常派遣的提前处理

[复制链接]

该用户从未签到

3

主题

126

帖子

249

积分

普通会员

Rank: 2

积分
249
发表于 昨天 00:52 | 显示全部楼层 |阅读模式
实现原理:那段时间在网上看到一个非常有意思的尾部挂钩方法: InstrumentationCallback
" C/ ^. |7 C* _在KPROCESS结构的偏移地址0x2c8处,包含一个名为InstrumentationCallback的域,Windows系统Vista以及之后的版本中,可以使用InstrumentationCallback域来指定回调函数的地址,每次函数从内核态返回用户态之后系统都会调用指定的回调函数。; t: |# {4 V! y- S) d: Z% |% A
至于原理大致就是以上阐述的,那么了解Windows的异常派遣机制后可以知道每次系统产生异常时会从内核返回到用户层,既然这样那么我们是不是可以通过回调在回用户层的时候先拦截派遣,调用我们的异常处理函数后再放过它回去执行原来的派遣呢?& Y. e2 w; _$ I" s: j) r
实践出真理,那就行用来验证想法是否正确吧。
...此处省略...源码见下面......效果图:
/ L/ A4 U3 ~9 ?% @1 Z% S$ }1 S% P# }4 g& ^* \

  M0 l, A, v( J: X8 f
* Y3 `/ R' M' b侵权联系与免责声明1、本站资源所有言论和图片纯属用户个人意见,与本论坛立场无关( i3 ]: p% k; f  E
2、本站所有资源收集于互联网,由用户分享,该帖子作者与瑞客论坛不享有任何版权,如有侵权请联系本站删除
$ S3 Z) E& u4 q, K% w& u8 w% z3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责- u4 P& p" C6 r3 a2 z
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5 K2 |7 k3 _+ }7 z! O9 d/ {如有侵权联系邮箱:ruikelink@gmai.com 005202ixh88hmpyvh2bbqy.png , X+ J+ a; l6 E: y# A6 K0 V
资源下载地址和密码(百度云盘):
游客,如果您要查看本帖隐藏内容请回复
[/hide] 百度网盘信息回帖可见' r, c. a* t& n) Y, F1 q- j

* e; ]' N$ O  o' j! ^% k; H
: j- x7 k0 j+ l" s7 Z& Z2 C& X. x9 U2 b3 h6 C
本资源由Java自学网收集整理【www.javazx.com】
回复

使用道具 举报

该用户从未签到

4

主题

154

帖子

288

积分

普通会员

Rank: 2

积分
288
发表于 昨天 01:26 | 显示全部楼层
利用回调完成内核返回应用层异常派遣的提前处理
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4093

帖子

8186

积分

普通会员

Rank: 2

积分
8186
发表于 7 小时前 | 显示全部楼层
学习了学习了学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Java自学网

GMT+8, 2024-11-21 20:35 , Processed in 0.269105 second(s), 28 queries .

Powered by Javazx

Copyright © 2012-2022, Javazx Cloud.

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