asdfgh12
驱动牛犊
驱动牛犊
  • 注册日期2004-10-14
  • 最后登录2005-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1174回复:1

玩过NTrootkit的高手进来看一看

楼主#
更多 发布于:2005-01-11 09:06
昨天从http://www.ntrootkit.com下载了NTrootkit,我编译后(Win200+Win2k ddk sp1)有很多未定义和重定义错误,除去这些错误后,仍有100多个警告。我主要是想学习ntoskrnl.exe未导出函数的使用方法,ZwCreateProcess在rk_kpatch.c中的定义如下:
_declspec(naked) NTSTATUS NTAPI ZwCreateProcess(
PHANDLE FileHandle,
            ACCESS_MASK DesiredAccess,
            POBJECT_ATTRIBUTES ObjectAttributes,
            PIO_STATUS_BLOCK IoStatusBlock,
            PLARGE_INTEGER AllocationSize OPTIONAL,
            ULONG FileAttributes,
            ULONG ShareAccess,
            ULONG CreateDisposition,
            ULONG CreateOptions,
            PVOID EaBuffer OPTIONAL,
            ULONG EaLength )
{
_asm
{
mov eax, _callnumber_NtCreateProcess
lea edx, [esp+4]
int 2eh
ret 20h
}
}
而在rk_process.h中却是这样的声明:
NTSYSAPI
NTSTATUS
NTAPI
ZwCreateProcess(
OUT PHANDLE phProcess,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN HANDLE hParentProcess,
IN BOOLEAN bInheritParentHandles,
IN HANDLE hSection OPTIONAL,
IN HANDLE hDebugPort OPTIONAL,
IN HANDLE hExceptionPort OPTIONAL
);
编译后有警告:
rk_kpatch.c(319) : warning C4273: 'ZwCreateProcess' : inconsistent dll linkage.  dllexport assumed.

为什么会是这样?能告诉小弟正确的使用方法吗?谢谢!

请高手赐教!


[编辑 -  1/11/05 by  asdfgh12]
asdfgh12
驱动牛犊
驱动牛犊
  • 注册日期2004-10-14
  • 最后登录2005-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-11 09:18
昨天从http://www.ntrootkit.com下载了NTrootkit(源码在后),我编译后(Win200+Win2k ddk sp1)有很多未定义和重定义错误,除去这些错误后,仍有100多个警告。我主要是想学习ntoskrnl.exe未导出函数的使用方法,ZwCreateProcess在rk_kpatch.c中的定义如下:
_declspec(naked) NTSTATUS NTAPI ZwCreateProcess(
PHANDLE FileHandle,
            ACCESS_MASK DesiredAccess,
            POBJECT_ATTRIBUTES ObjectAttributes,
            PIO_STATUS_BLOCK IoStatusBlock,
            PLARGE_INTEGER AllocationSize OPTIONAL,
            ULONG FileAttributes,
            ULONG ShareAccess,
            ULONG CreateDisposition,
            ULONG CreateOptions,
            PVOID EaBuffer OPTIONAL,
            ULONG EaLength )
{
_asm
{
mov eax, _callnumber_NtCreateProcess
lea edx, [esp+4]
int 2eh
ret 20h
}
}
而在rk_process.h中却是这样的声明:
NTSYSAPI
NTSTATUS
NTAPI
ZwCreateProcess(
OUT PHANDLE phProcess,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN HANDLE hParentProcess,
IN BOOLEAN bInheritParentHandles,
IN HANDLE hSection OPTIONAL,
IN HANDLE hDebugPort OPTIONAL,
IN HANDLE hExceptionPort OPTIONAL
);
编译后有警告:
rk_kpatch.c(319) : warning C4273: 'ZwCreateProcess' : inconsistent dll linkage.  dllexport assumed.

为什么会是这样?能告诉小弟正确的使用方法吗?谢谢!

请高手赐教!


[编辑 -  1/11/05 by  asdfgh12]
附件名称/大小 下载次数 最后更新
2005-01-11_源码.rar (895KB)  18
游客

返回顶部