Bound异常回调通讯易语言源码bound异常回调主要用来处理用户层应用程序的数组越界异常,既然有回调那就可以用来通讯(也可以用来hook什么东西),效率也是杠杠的,算是最快的一种了。
需要注意的是只有回调注册成功了,数组越界异常才会被接管,不然程序肯定会崩溃的。
还有由于x64没有相关的汇编指令,所以这个东东就只能在x86玩玩了,算是易语言首发吧,老外也开源过相关资源。

讲一下用户层数据怎么传到内核的,_KTRAP_FRAME这个结构位于_KTHREAD + 0x90的位置,不同的系统版本这个偏移可能会变化,自己用windbg看一下。
_KTRAP_FRAME保存着用户层线程每个寄存器的值,这个结构只有中断进内核才会被系统填充,
直接把我们的通讯结构指针当做参数来传,处理完我们的代码返回BoundExceptionHandled,具体代码实现请看源码。

发表回复

后才能评论