我解决了(关于令Win32程序跳入Ring0层的实践(in BCB5.0)的问题)

hk318 2000-05-27 11:10:00
大家好:
今日终于有条件上网了。
关于令Win32程序跳入Ring0层的实践(in BCB5.0)的问题,本人已解决。
十分不好意思的是:本人的代码并没有错,但是不能在中断函数内设置断点!!!
由于小弟在Ring0Proc 内设置了断点,导致运行时出现蓝屏。
再一次感谢大家!!!
另:
哪位高手可以说明一下如何带参数使用Ring0Proc???
例如这样声明函数:
int __declspec(naked) Ring0Proc(void *pMyStruct)
{
int mm_flag;
...//使用pMyStruct
return mm_flag;
}

在main()中如何放入和接收函数的参数???
hk318
...全文
123 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
halfdream 2000-05-27
  • 打赏
  • 举报
回复
我建议如果需要传参数和接收返回,不如干脆还是用寄存器或全局变量算了。
因为我看你上次贴出来的代码,用那样中断调用方式调用它,那个函数的写法应有一定限制。首先,返回必须使用iret代替一般函数的ret 指令。所以不能用return;
返回参数好办,是放在eax 中。至于传参数,因为这样定义,是通过堆栈
传参数,要麻烦一些。不如试试,通过寄存器传一下参数。
就象你上次贴出来的那个程序中那样,用eax 传 pMyStruct的值。
(唉,可惜没有分)。

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧