首页
社区
课程
招聘
[求助]内核api转发器[请教如何传递参数]
发表于: 2012-12-26 17:45 3979

[求助]内核api转发器[请教如何传递参数]

2012-12-26 17:45
3979
想弄一个ring3层调用ntos函数的转发器
具体就是自己弄一个驱动,然后挂钩2e中断例程
ring3层直接 int 2e  进入中断服务
eax中保存着要调用的函数地址

进入自己的驱动,然后查看eax,自己call eax

目前发现会切换堆栈,请教是否不能传递参数?如何传递参数?

有个土办法,逼偶使用st0~st7来传递参数?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你看一下系统调用api的过程就明白了
先接管中断
使用寄存器(好像是edx)保存esp也就是参数的地址
在驱动层再读取出来就可以了
2012-12-26 17:58
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
使用软件的堆地址来传递参数
但是小心.如果地址错了 会蓝的
2012-12-26 18:01
0
雪    币: 119
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
int2e之前,用一个寄存器把用户堆栈的位置给保存了。进内核后,根据那个寄存器把用户堆栈的东西再读出来。
2012-12-26 18:01
0
雪    币: 371
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
这方法好,和2楼的一样,比我想的方法好~~
2012-12-26 19:40
0
游客
登录 | 注册 方可回帖
返回
//