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
  • 相关阅读:
    ubuntu git配置文件,配置颜色,同义词
    A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS
    Lucene索引文件解析之“域”
    模2运算的原理
    Ubuntu aptcache命令查找可用软件包
    crc循环校验原理和实现
    python操作MySQL数据库
    异常:MessageBox.Show 容量超出了最大容量。参数名: capacity
    JavaScript中的 Dictionary 的用法
    IIS设置允许下载.h264文件解决方法
  • 原文地址:https://www.cnblogs.com/idbeta/p/4987878.html
Copyright © 2011-2022 走看看