首页
社区
课程
招聘
[原创]xp+vc6(SP6)+DDK2600的配置
发表于: 2014-7-17 08:42 7421

[原创]xp+vc6(SP6)+DDK2600的配置

2014-7-17 08:42
7421
最近没事,想调试一款游戏,有游戏驱动保护,CE和OD都不好用,想写个驱动把游戏驱动给跳过去.让CE和OD能正常使用.vc2010+WDK7600安装文件太大,回老家把旧联想电脑找来,里面有50G外挂资料,以前各个外挂论坛的(现在大部分消失了).参考里面资料,写了这个文章.纯为科普,里面没写外挂技术.
1.        QQ325007929,群号260184597,安装好VC6和DDK2600,先后顺序无关安装,安装DDK时把Build Envirement里面的2000选中(默认的是没选中,要注意),默认安装时是不安装例子源码的,建议全选上安装,是参考的没错误的好资料,网上的很多资料源码不全或不正确。

2.        在开始-程序-Developmen-windows DDK 2600—win xp checked build environment(这个相当于vc6的XP checked版本32位),其他的几个选项分别是XPchecked版本64位,XPfree版本32位,XPfree版本64位,以及2000的版本;我们为调试方便选XPchecked版本32位。C:\状态下输入build, 此时DDK将会把自己进行编译

3.        Vc6的更改(集成开发驱动环境)
4.        用VC建议一个新工程,FILE文件-NEW新建,在NEW新建对话框里选project工程选卡中选WIN32 Application,工程名随便取。如325007929,点OK确定,进入下个对话框选一个空工程。、
5.        把main.cpp文件拷贝到325007929文件夹里,main.cpp内容如下:
extern "C"
{
#include "NTDDK.h"
}

void Unload(PDRIVER_OBJECT pDriverObject)
{
        DbgPrint("驱动成功被卸载\n");
}

extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject,//I\O管理器传进来的内核对象
                                                                PUNICODE_STRING pRegistryPath)//驱动程序在注册表中的路径
{
//         PLIST_ENTRY pLE = (PLIST_ENTRY)pDriverObject->DriverSection;      
//        
//         //摘链表隐藏驱动      
//         pLE->Flink->Blink = pLE->Blink;      
//         pLE->Blink->Flink = pLE->Flink;  
       
        DbgPrint("驱动加载成功\n");
       
        pDriverObject->DriverUnload=Unload;
       
        return 1;
}
6.        添加main.cpp,工程-增加到工程-文件,选main.cpp,然后确定。
7.        Build(组建) –配置,在配置框里点添加,然后输入win32 driver check edtion,确定。
8.         
9.         
移除DEBUG和release版本

10.        修改工程属性,工程-配置或ALT+F7,弹出project setting 对话框,选“常规”,把中间文件和输出文件的框里全改成:MyDriver_Check
11.        选C/C++选项,把原来的/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"MyDriver_Check/325007929.pch" /YX /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /GZ /c全删掉。
改成:/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D_X86_=1 /D WINVER=0x500 /D DBG=1 /Fo" MyDriver_Check/" /Fd"MyDriver_Check/" /FD  /c
12.        选择LINK选项,把原来的kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:yes /pdb:"MyDriver_Check/325007929.pdb" /debug /machine:I386 /out:"MyDriver_Check/325007929.exe" /pdbtype:septq全删掉
改成: ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /debug /machine:I386 /nodefaultlib /out:"MyDriver_Check/HelloDDK.sys" /pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
13.        选择工具—选项,打开选项对话框,选“目录” 看”inclue files”菜单, 添加
“D:\WINDDK\2600\inc\w2k “ 和” D:\WINDDK\2600\inc\ddk\w2k”(参考我的DDK安装目录,写你的DDK安装目录),记得一定要将这两个目录置于最上面;(不要选WXP,要W2K,XP驱动编译时vc6不适合,用VC2005才行等)

14 .library files菜单,添加目录“D:\WINDDK\2600\lib\w2k\i386” (参考我的DDK安装目录,写你的DDK安装目录),记得一定要将这个目录置于最上面
15.按下编译 会编译出helloddk.sys文件

16.网上的vc6+wdk7600或vc2010+wdk7600,生成的SYS文件,驱动安装时报错,我把驱动安装工具InstDrv新和信息查看工具debugview也发在一起。注意看<< debugview使用>>
 在这个工具栏上,主要看几个图标
   此按钮,表示是否开启捕获服务
   此按钮,表示是否捕获系统内核的Debug信息
   此按钮,表示是否捕获一般Win32应用,也就相当于我们的应用的Debug信息
  注意:只有调用了WinDebug中方法的地方的输出Debug信息才能被DebugView捕获。
  再来看看捕获的应用信息:
  将打开  两个按钮的叉叉去掉,就会看到DebugView可能输出一些信息。

再安装我们的驱动

17,.注意VISTAX系统以上, DebugView和InstDrv新都要用管理员身份运行,方法是右键点DebugView.exe 文件,选属性,在里面找” 管理员身份运行”,把前面的框里打钩就可以了.

文章复制过来,贴里不让发图片,我把原文用附件传上来吧,有图片才清楚

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 67
活跃值: (726)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
virtualddk 这个更方便
2014-7-17 08:56
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
贴里可以发图。。
2014-7-17 12:01
0
游客
登录 | 注册 方可回帖
返回
//