1   1  /  1  页   跳转

驱动版的hello world

驱动版的hello world

这年头特流行R0,进入R0的最简单方法当然就是驱动了 所以学点驱动还是有那么点必要的
个人学了一点点的皮毛,拿出来秀下,大家交流下,有错误大家指点啊
首先
1.安装VC++6.0,这个简单。
2.然后下载DDK 2003,
可以去:http://download.microsoft.com/download/3/b/5/3b519887-c4af-4ab3-9578-cec48cc84d94/WDFv10.iso当然也可以下载DDK6000或者更新版本,一般新版本会包括旧的版本。
3.下载个EasySYS_debug,用于build驱动文件(附件提供)。要是安装都应该没有问题 。那么现在可以吧。

打开VC++设置DDK的包含路径,我这里设置的是

 附件: 您所在的用户组无法下载或查看附件


现在,打开EasySYS_debug,按照自己的实际情况选择。


 附件: 您所在的用户组无法下载或查看附件
现在,会自动跳到工程目录下。打开工程文件。并且写代码,
驱动的入口必须是这样的
NTSTATUS
DriverEntry(
  PDRIVER_OBJECT pDriverObj,
  PUNICODE_STRING pRegistryString
)

就像DLL,WINMAIN一样。

然后写如下面的代码:


#include  <ntddk.h>

NTSTATUS
DriverEntry(
PDRIVER_OBJECT pDriverObj,
PUNICODE_STRING pRegistryString
)
{
DbgPrint("hello world\n");
return STATUS_DEVICE_CONFIGURATION_ERROR;
}



就可以编译了。如无意外,在工程目录下,bin\386 下就有个SYS文件了。现在打开debugview,用附件加载驱动文件。就可以在DEBUGVIEW下看见"hello world"的字样了


 附件: 您所在的用户组无法下载或查看附件
 附件: 您所在的用户组无法下载或查看附件


用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; CIBA; TheWorld)

附件附件:

您所在的用户组无法下载或查看附件

本帖被评分 1 次
最后编辑最硬的石头 最后编辑于 2008-09-08 23:01:43
分享到:
gototop
 

回复:驱动版的hello world

沙发,我喜欢这东西,很有兴趣学这
gototop
 

回复:驱动版的hello world

这个好~真的好哎
gototop
 

回复:驱动版的hello world

Hello World仅仅是开始……

另外,学驱动是有必要的,但是前提是至少先知道Ring3程序怎么编。
如果连个Ring3 API都不懂得怎么调用,那就更不用说Ring0了。
病毒样本请发到可疑文件交流区
gototop
 

回复:驱动版的hello world

好文啊

对个人来讲,统计,仪器,高速的计算机可以让人们得到大量充裕的时间。
这个社会中,更不可缺的是具备现代化的管理经验。
gototop
 

回复:驱动版的hello world

呵呵,学到了
gototop
 

回复:驱动版的hello world

用户模式下有的api在内核模式下不一样的吧
gototop
 

回复 7F 武林无双 的帖子

内核API一般都是NT开头的
gototop
 

回复: 驱动版的hello world



引用:
原帖由 武林无双 于 2008-9-11 21:58:00 发表
用户模式下有的api在内核模式下不一样的吧

用户模式下的API就是调用内核模式下的函数来完成操作的。但是一样都是stdcall调用方式(少数如DbgPrint为cdecl,还有一些如IoCompleteRequest为fastcall)用户态API的使用为内核态函数调用的基础。
用户态的API在资料上更全面,例子更多,使用更加方便,而内核态的函数有一部分是未文档的API(资料是由第三方内核研究者总结的),有些API的使用例子也很少,如果要更加深入地学习Rootkit技术,还有更多未文档甚至未导出的API和内核数据结构需要接触。
如果在用户态都不懂得怎么调用API,内核下就更加困难了,因为用户态下出错还只是程序崩溃,而内核态下出错,那崩溃的就将是系统。
病毒样本请发到可疑文件交流区
gototop
 

回复: 驱动版的hello world



引用:
原帖由 最硬的石头 于 2008-9-11 22:16:00 发表
内核API一般都是NT开头的

NT开头的只是一部分,即由ntdll.dll导出的NATIVE API,在ntoskrnl.exe中对应的内核函数(有些未导出,只能通过SSDT表找到)
用PE工具看看ntoskrnl.exe的输出表,你就知道有多少函数了。
病毒样本请发到可疑文件交流区
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT