zoukankan      html  css  js  c++  java
  • C++如何在r3静态调用NT函数

    原文最早发表于百度空间2010-02-22

    1、把ntapi.h、ntdll.lib放在一个目录,然后设置工具——选项——项目和解决方案——VC++目录——包含文件,把刚刚的目录设置在改包 含文件中,然后设置库文件,把刚刚的目录设置在改包含文件中。
    上面的设置是统一设置,方便以后新建项目都可以使用,如果要对单独的项目进行设置, 则按下面的步骤操作:
    把ntapi.h、ntdll.lib放在一个目录,右键点击项目——属性——C/C++——常规——附加包含目录——把刚 刚的目录路径设置在这里;在链接器——常规——附加库目录设置刚刚的目录路径,在链接器——输入——附加依赖项设置ntdll.lib。
    2、新建 头文件ABC.h,内容如下:

    #ifndef abc_h__
    #define abc_h__
    #ifndef cplusplus
    extern"C"
    #endif
    #include "ntapi.h"
    #pragma comment(lib, "ntdll.lib")
    #endif // abc_h__
    

    3、把abc.h放在和ntapi.h同一个目 录,这样就可以静态调用nt函数了,使用例子如下:

    #include "stdafx.h"
    #include "iostream"
    #include "windows.h"
    #include "abc.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    int pid;
    std::cout<<"请输入pid:";
    std::cin>>pid;
    HANDLE kk=OpenProcess(0x1F0FFF, false,pid);
    NTSTATUS nStatus = NtTerminateProcess(kk,0);
    std::cin>>pid;
    return 0;
    }
    作者:肥狐
    出处:http://idbeta.cnblogs.com/
    本博客内除了标题带[转]字样外的所有文章,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权,任何违反本协议的行为均属于非法行为。如需非商业性转载,必须保留此段声明,且在文章页面明显位置给出原文连接。如需商业性转载出版,请直接和我联系。
    如果您看了本篇博客,觉得对您有所收获,请点击右下方的【推荐】,同时欢迎您【关注我】
    Creative Commons License
  • 相关阅读:
    树状数组进阶
    洛谷 P2824 [HEOI2016/TJOI2016]排序
    抽象类
    关于getClass()和instanceof的区别与联系
    Java中的强制类型转换
    Java中的内联
    Java关键字之final
    Java中的"is-a"规则
    关于虚方法
    Java中的动态绑定
  • 原文地址:https://www.cnblogs.com/idbeta/p/4987878.html
Copyright © 2011-2022 走看看