ring3层程序调用ring0层API
来源:互联网 发布:淘宝的需求分析和设计 编辑:程序博客网 时间:2024/05/29 02:22
我已经写代码一年多了,原来一直以为,在ring3层下只能使用ring3层的API,如果想自己由程序猿决定调用RING0层的API的话,只能写驱动了,结果发现不是这样的,在此做个记录,表示一下自己的白痴程度,引以为戒哈,在这里只写两个函数首先ZwQuerySystemInfo函数,首先该函数是微软未开源的函数,但是我们只知道他的函数声明,利用LoadLibrary和GetProcAddress两个函数在ntdll.dll文件中即可得到,我们现在来进行函数声明吧
typedef NTSTATUS ( __stdcall *ZWQUERYSYSTEMINFORMATION ) ( IN SYSTEM_INFORMATION_CLASS SystemInformationClass, IN OUT PVOID SystemInformation, IN ULONG SystemInformationLength, OUT PULONG ReturnLength OPTIONAL );
函数声明是这样子的,声明了函数类型是ZWQUERYSYSTEMINFO,我们在进行该函数类型的实体即可
HANDLE g_hNtDLL = LoadLibrary( "ntdll.dll" );
if ( !g_hNtDLL )
{
return ;
}
ZWQUERYSYSTEMINFORMATION sys= (ZWQUERYSYSTEMINFORMATION )GetProcAddress( (HMODULE)g_hNtDLL, "ZwQuerySystemInformation");
这样我们就可以使用ZwQuerySystemInformation函数了现在只是有些疑虑的是_stdcall函数声明,这样是不是说明ZwQuerySystemInformation函数在ntdll中也是以C++的形式编译的??不太清楚,但是知道这样可以使用了大神路过即可哈
0 0
- ring3层程序调用ring0层API
- VB6实现Ring3下直接调用Ring0层函数,反一切R3下API Hook。
- VB6实现Ring3下直接调用Ring0层函数,反一切R3下API Hook。
- ring0调用ring3-apc
- ring0调用Ring3的代码
- 在ring0调用Ring3的代码
- KeUserModeCallback用法详解(Ring0调用Ring3代码)
- 生活在ring3和ring0的Native API
- [收藏] Ring0 Call Ring3
- Ring0 Call Ring3
- 所谓ring0和ring3
- Ring3转入Ring0跟踪
- ring0和ring3简介
- ring3层一种占用文件的方法
- 去除ring3层的Debug标志
- ring3层远程注入DLL方法
- Linux驱动层调用应用层程序--call_usermodehelper()
- ring3 & ring0 通用InlineHook代码
- Java中的Timer类
- 关于jstl
- 购书笔记
- 黑马程序员_面向对象(一)_封装
- iOS网络编程 ASIHTTPRequest 详解, http 请求终结者
- ring3层程序调用ring0层API
- pcDuino+OpenCV实现人脸追踪摄像头
- 冒泡算法的例子
- VC开发错误之数据库操作
- 大话设计之单例模式
- [案例分享]我所经历的“余额宝”的那些故事
- 一步步教你在SharePoint站点创建具有分页、排序、筛选功能的SPGridView Web部件
- 黑马程序员_面向对象(二)_继承、多态、内部类
- TCP三次握手-四次挥手