能力值:
( LV2,RANK:10 )
|
-
-
2 楼
嘿嘿,方法很多。。。。。。
1.开多进程,分别指定其CPU亲和性,分别绑定到所有的CPU上,然后在驱动中分别Attach,就可以更改所有CPU的IDT了
2.不开多进程,直接HOOK SSDT,然后指定自身的CPU亲和性,就可以在SSDT HOOKer中分别进入所有的CPU,就可以更改所有的IDT了
3.inline hook intX ,通过intX转发,比如inline hook int0 ,你就可以通过int0来
间接执行。。。。。(当然是除0来触发啦!)
这种方式最大的有点在于不用考虑多CPU多核的情况,直接用!!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
补充一下:
可以 inline hook 的就多拉~
以下是比较方便的向量号:
0AH 无效TSS
0BH 段不存在
0CH 堆栈段异常
0DH 内存访问异常
0EH 页异常
6 无效操作码
3 断点
当然,inline hook 代码中必须对来源进行判定,可以在“产生异常的代码前面或者后面放一些特征码”,这样
在hooker中就可以检查是不是有这些特征码,没有的话就转去原来的代码即可。。。。。。
|
|
|