首页
社区
课程
招聘
[求助]驱动加载失败...
发表于: 2012-8-22 12:30 6257

[求助]驱动加载失败...

2012-8-22 12:30
6257
编译系统: windows7 x64  ;
编译工具 vs 2012 和 vs2010   驱动版本 7600.16385.1
驱动加载环境  windows xp sp3

前几天谢了个驱动 里面使用了这个函数
extern "C"
        NTSTATUS
        NtWriteVirtualMemory(
        IN HANDLE               ProcessHandle,
        IN PVOID                BaseAddress,
        IN PVOID                Buffer,
        IN ULONG                NumberOfBytesToWrite,
        OUT PULONG              NumberOfBytesWritten OPTIONAL );

很奇怪. 使用这个函数之后 编译 连接都正确 但是加载驱动的时候却出现:
StartService(); 出错 使用 GetLastError(); 返回的是 ERROR_FILE_NOT_FOUND;
使用 Monitor 加载提示的是:ERROR (127) 找不到指定的程序

我继续修改代码 把NtWriteVirtualMemory 这个函数的调用去掉. 然后重新加载驱动
可以成功的加载. ..
奇怪了 怎么会这样

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 102
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
驱动链接库我使用的也是 xp的
D:\Tools\WinDDK\7600.16385.1\lib\wxp\i386
ntdll.lib
2012-8-22 12:37
0
雪    币: 2290
活跃值: (2180)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
3
内核中,NtWriteVirtualMemory函数是没有导出的。
2012-8-22 12:41
0
雪    币: 102
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没办法 了 只能从 SSDT 获得了
2012-8-22 12:53
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
5
自己在ssdt表里获取ZwWriteVirtualMemory就可以了。

没有导出的函数,你这样子直接用,驱动是无法加载的。
2012-8-22 12:53
0
雪    币: 102
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
可我我自己声明了一个. 编译连接也没错 只是加载驱动的时候出错的
2012-8-22 12:54
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
7
人家都没导出,你声明有啥用?
2012-8-22 18:07
0
游客
登录 | 注册 方可回帖
返回
//