我做了一些思考和研究,我有一些问题需要提问,最好一起讨论。
1、sys文件就是一个dll文件,没有什么差别。
2、delphi编写驱动的问题我感觉主要是delphi的内存管理器使用了高层内存api,如果编写一个使用ddk api的内存管理器替换默认内存管理器就能解决问题。
3、还有就是ddk翻译的问题,ddk api的头文件没有pascal版本的,如果有一个翻译好的头文件那就太棒了。
4、object pascal不知道是否可以编译出合适的驱动程序,delphi产生的目标文件好像也包含obj文件用于连接的。
5、还有就是驱动程序安装工具,或者说产生工具,ini文件太复杂了。我们也可以定义一个自安装的dll,只要多一些引出函数就可以了。但是没有ini文件是不行的,驱动程序的种类太多了。
6、总结一下,delphi编写驱动程序需要解决的问题:内存管理器,ddk翻译,安装工具。谁可以补充或者批评,谢谢。
1、sys文件就是一个dll文件,没有什么差别。
2、delphi编写驱动的问题我感觉主要是delphi的内存管理器使用了高层内存api,如果编写一个使用ddk api的内存管理器替换默认内存管理器就能解决问题。
3、还有就是ddk翻译的问题,ddk api的头文件没有pascal版本的,如果有一个翻译好的头文件那就太棒了。
4、object pascal不知道是否可以编译出合适的驱动程序,delphi产生的目标文件好像也包含obj文件用于连接的。
5、还有就是驱动程序安装工具,或者说产生工具,ini文件太复杂了。我们也可以定义一个自安装的dll,只要多一些引出函数就可以了。但是没有ini文件是不行的,驱动程序的种类太多了。
6、总结一下,delphi编写驱动程序需要解决的问题:内存管理器,ddk翻译,安装工具。谁可以补充或者批评,谢谢。
参见我以前整理的一点东西.
http://borland.mblogger.cn/halfyawn/posts/26893.aspx
用任何delphi的特性,就是一个 TA = class这个声明,也会有vtbl,但是驱动并不知道它。然后~~~dump。
就是不能生成NTDDK WDM的SYS文件MS只允许VC开发NTDDK如果MS收购了Delphi IDE可能将来不支持DDK的
Delphi在Windows Mobile native开发,还一样是空白~
然后再修正一下编译好的SYS文件的输入表和CheckSum字段的值就可以使用了。可以参考
http://rootkit.host.sk/download.php