VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 128|回复: 10

[已解决]vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙

[复制链接]
86_avatar_middle
最佳答案
0 
online_vip 发表于 2020-3-9 08:45:08 | 显示全部楼层 |阅读模式
本帖最后由 x635775712 于 2020-3-9 14:08 编辑

本机为win7 64  VS2015  安装的WDK7.1 7600版本的WDK 按照网站的环境搭建  可以正常编译  但是XP环境里 启动不了

驱动程序就只有一个入口函数

也试过 https://www.cctry.com/thread-299352-1-1.html   也按照看雪提供的环境也不行 也是启动不了

程序代码
  1. #include <ntddk.h>

  2. void DriverUnload(PDRIVER_OBJECT DriverObject)
  3. {
  4.         DbgPrint("DriverUnload!");
  5. }

  6. NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
  7. {
  8.         DbgPrint("Hello Driver!"); DriverObject->DriverUnload = DriverUnload; return STATUS_UNSUCCESSFUL;
  9. }
复制代码


vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙
vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙

驱动模板文件   vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙 Drive.zip (8.05 KB, 下载次数: 0)




上一篇:求助 lua的写法
下一篇:多线程如何传入 结构体数据和序号 有什么好办法吗
75_avatar_middle
最佳答案
10 
online_supermod 发表于 2020-3-9 14:35:49 | 显示全部楼层
能正常编译说明创建的模板应该是没有问题的,至于能加载但是不能启动,w7需要管理权限,禁用驱动签名,都需要管理员模式   这个模板可以无视32和64位平台都是可以运行的,你在编译器哪里改一下就行,#include <ntddk.h>

void DriverUnload(PDRIVER_OBJECT DriverObject)
{
        DbgPrint("DriverUnload!");
}

NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
        DbgPrint("Hello Driver!"); DriverObject->DriverUnload = DriverUnload; return STATUS_UNSUCCESSFUL;
}

和平台没有关系,你启动失败      试试管理权限,  驱动编译尽量用VS   下断点好下,能跟踪   也能汇编码, 但是VS容易卡机  WIINdbg很少出现,我尝试过各种环境搭建,还有啥不懂得 直接贴图吧
77_avatar_middle
最佳答案
21 
online_vip 发表于 2020-3-9 10:40:35 | 显示全部楼层
可以按照这篇文章写的加载驱动的方法,手动加载驱动,这样就可以知道具体执行到哪一步报错了:
https://bbs.pediy.com/thread-249708.htm
00_avatar_middle
最佳答案
1 
在线会员 发表于 2020-3-9 10:47:23 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 tk3184020 于 2020-3-9 10:52 编辑

我也遇到这个问题。。。总有一些莫名其妙的问题,干脆我直接在虚拟机上搭建了驱动环境,希望对你有帮助。
PS:这个方法现在应该过时了,但是应该能起作用,如果你只是简单的想学习基础的驱动编写的话,熟悉熟悉语法还是够用的
哈哈vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙

我直接在虚拟机xp上 安装了WinDDK3790
用里面的 Windows XP Checked Build Environment  调试版
或者是    Windows XP Free  Build Environment      发行版
名字记得不太清楚了大概叫这个东西,打开这个直接在命令行下进行编译

cd 到目录下,输入build,回车,在目录下生成一个sys文件夹,往下找就能看见驱动文件了。


目录下还需要有两个文件才能编译:

1)makefile
!INCLUDE $(NTMAKEENV)\makefile.def

2)sources      #代表注释
#生成驱动名字DDK_HelloWorld.sys
TARGETNAME=DDK_HelloWorld
#指定生成文件的类型DRIVER指驱动
TARGETTYPE=DRIVER
#指定生成驱动所在的路径\SYS\i386\DDK_HelloWorld.sys
TARGETPATH=SYS
#下边这行指定相关头文件所在目录路径
INCLUDES=$(BASEDIR)\inc;\
      $(BASEDIR)\inc\wxp;\
      
##上边必空一行
#下边这行指定驱动源代码*.cpp或者*.c
SOURCES=Driver.c\

特别想了解下楼主为什么学这个,vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙

DriverFiles.zip

485 Bytes, 下载次数: 4

那两个文件

86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-9 10:51:35 | 显示全部楼层
Health 发表于 2020-3-9 10:40
可以按照这篇文章写的加载驱动的方法,手动加载驱动,这样就可以知道具体执行到哪一步报错了:
https://bb ...

软件在XP中不能运行 win7中也是能加载 但是启动失败了
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-9 11:05:37 | 显示全部楼层
tk3184020 发表于 2020-3-9 10:47
我也遇到这个问题。。。总有一些莫名其妙的问题,干脆我直接在虚拟机上搭建了驱动环境,希望对你有帮助。
...

再看滴水的教程 里面有用到驱动  跟着教程一步步走 走到这里卡主了  我试试你的方法  
00_avatar_middle
最佳答案
1 
在线会员 发表于 2020-3-9 11:10:59 | 显示全部楼层
本帖最后由 tk3184020 于 2020-3-9 11:15 编辑
x635775712 发表于 2020-3-9 11:05
再看滴水的教程 里面有用到驱动  跟着教程一步步走 走到这里卡主了  我试试你的方法


这个我前几天还编译来着,是可行的。弄不明白可以私聊。我也是正在学习驱动方面的知识,但是现在是x64的时代,教程太少了,能看到的免费的都是x86上面的驱动,和一些Hook方法,在x64下基本都不行了
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-9 11:16:47 | 显示全部楼层
tk3184020 发表于 2020-3-9 11:10
这个我前几天还编译来着,是可行的。弄不明白可以私聊。我也是正在学习驱动方面的知识,但是现在是x64 ...

是啊 我基础太薄 所以得先从x86学起  老哥 留个联系方式吧
00_avatar_middle
最佳答案
1 
在线会员 发表于 2020-3-9 11:18:12 | 显示全部楼层
x635775712 发表于 2020-3-9 11:16
是啊 我基础太薄 所以得先从x86学起  老哥 留个联系方式吧

发到私信了 兄dei
58_avatar_middle
最佳答案
26 
online_vip 发表于 2020-3-9 15:44:31 | 显示全部楼层
vs 2015 编译XP驱动 能加载不能启动 老哥们帮下忙 VS2015 驱动模版.zip (71.19 KB, 下载次数: 2)
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-9 23:49:43 | 显示全部楼层

可以的  多谢
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-3-30 17:37

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表