首页
社区
课程
招聘
[讨论]关于内核未导出函数的引用方法
发表于: 2013-7-21 11:28 4735

[讨论]关于内核未导出函数的引用方法

2013-7-21 11:28
4735
比如 ObQueryNameString 之类的
直接引用会出现
error LNK2019: unresolved external symbol "long __stdcall ObQueryNameString(void *,struct _OBJECT_NAME_INFORMATION *,unsigned long,unsigned long *)" (?ObQueryNameString@@YGJPAXPAU_OBJECT_NAME_INFORMATION@@KPAK@Z) referenced in function

如何用extern之类的方法引用他们呢?(通过其他导出函数暴利搜索特征码除外)

我直接使用常用的引用方式也不可以:

NTSYSAPI
NTSTATUS
NTAPI
ObQueryNameString(
               __in       PVOID Object,
               __out_opt  POBJECT_NAME_INFORMATION ObjectNameInfo,
               __in       ULONG Length,
               __out      PULONG ReturnLength
               );

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
同问。
内核函数似乎是只有在R0下才能调用的。
2013-7-21 11:52
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
因为内核他娘的导出表里就没有这个东西……
硬编吧……
2013-7-21 11:57
0
雪    币: 53
活跃值: (734)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
确认该函数导出了 我看大家源码中都是使用的
NTSYSAPI
NTSTATUS
NTAPI
ObQueryNameString(
               __in       PVOID Object,
               __out_opt  POBJECT_NAME_INFORMATION ObjectNameInfo,
               __in       ULONG Length,
               __out      PULONG ReturnLength
               );



extern NTSTATUS
ObQueryNameString(
                                  IN  PVOID Object,
                                  OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
                                  IN  ULONG Length,
                                  OUT PULONG ReturnLength
        );

直接引用的,所以我怀疑是.CPP文件特有的问题,现在代码量太大没办法改回.c了 很无力啊,用的ddkwizzard
2013-7-21 12:08
0
雪    币: 53
活跃值: (734)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
果然是CPP特有的问题 解决了。 改会C就OK了
2013-7-21 12:13
0
游客
登录 | 注册 方可回帖
返回
//