首页
社区
课程
招聘
[旧帖] 获取 WRK里的函数地址问题 0.00雪花
发表于: 2012-1-17 14:14 3900

[旧帖] 获取 WRK里的函数地址问题 0.00雪花

2012-1-17 14:14
3900
有2个问题
          问题1    我引用 WRK里的 某些函数 我声明了 但是出现错误
           比如 :

                  
        VOID
                ObDereferenceObjectDeferDelete (
                IN PVOID Object
                );
               引用后出现错误:
error LNK2019: 无法解析的外部符号 _GetNt_OldObDereferenceObjectDeferDelete_Addr@0,该符号在函数 _DriverEntry@8 中被引用fatal error LNK1120: 1 个无法解析的外部命令

          问题2:   我要获取 这个地址的话  我这么获取是不是错了 地址为0?
ULONG
GetNt_OldObDereferenceObjectDeferDelete_Addr()
{
        UNICODE_STRING Old_ObDereferenceObjectDeferDelete ;
        ULONG Old_Addr;
        RtlInitUnicodeString(&Old_ObDereferenceObjectDeferDelete,L"ObDereferenceObjectDeferDelete");
        Old_Addr=(ULONG)MmGetSystemRoutineAddress(&Old_ObDereferenceObjectDeferDelete);//取得NtOpenProcess的地址
        KdPrint(("取得原函数ObDereferenceObjectDeferDelete 的值为 %x",Old_Addr));
        return Old_Addr;

}
           调用后这个地址 为0   是不是 我获取不对?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
未导出函数无法直接调用,需要用指针。或符号表导出函数地址,再指针函数。
2012-1-17 14:34
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
问题1:

extern "C"
{
    VOID ObDereferenceObjectDeferDelete (IN PVOID Object);
}

问题2:

没法测
2012-1-17 15:45
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
1.rar

extern "c" 会出现错误
101>c:\1\ObpAllocateObject.c(21) : error C2059: syntax error : 'string'
上传的附件:
2012-1-17 18:55
0
游客
登录 | 注册 方可回帖
返回
//