|
本帖最后由 tmf19901124 于 2021-4-22 15:05 编辑
火山驱动程序开发插件1.0版本新鲜出炉,具体的使用方法在打包文件里. 花了3天时间,后续有空会继续更新.
更新记录:2021/03/13:
修复了编译为调试版本时火山加入了断言导致编译出错的问题
版本1.2
修复了动态获取VS IDE盘符出错的问题
版本1.2.1
新增插件对火山驱动模块内外部头文件的支持 版本1.3
新增对文本型和数组操作的支持,此版本编译驱动程序基本无压力,其中的某些核心库的类只做了x64的支持,比如获取SSDT的操作,功能类库最好由自己编写,驱动与应用层不一样,很多功能与系统版本有关,需要做很多的兼容,我没有时间去每个系统测试.文本型操作与火山应用层文本型不一样,插件实际将CVolString 替换成了char*,所有的文本型操作都基于c语言字符串操作,并遵守内核字符串操作规则,返回文本型数据时,实际是返回的字符串指针,必须确保字符串指针在函数返回后可用,常规操作是在函数内申请内存,把文本复制进去,在返回申请的内存指针,外部使用完成后需要释放内存.
版本1.3.1
新增对c++ STL vector的支持
重写基本数据类型数组操作类,采用封装vector方式
同时支持32/64位火山
修复了一些东西
附件添加了用火山写的应用层和驱动层的加载卸载与通信简单例子.有任何问题可以加我QQ联系.
另外没有做动态的获取VS IDE路径,只是简单的从火山里取到VS安装路径,因为VS IDE版本路径不一样
........................................................................下个版本新增内核hook库的支持!
解压:
1,解压msimg32.dll文件到对应32/64位火山根目录(与voldev.exe同目录)
2,解压火山IDE模板到 火山根目录\plugins\vprj_win\wizard\template ,然后火山IDE新建解决方案就有驱动程序模板了
3,解压驱动核心模块到 火山根目录\plugins\vprj_win\classlib\user ,此文件里定义了驱动程序的入口,以及内部宏
重要:
1,火山设置的VS编译器必须为VS2019完整安装(其他版本没有测试,编译器路径可能不同出错).
2,vs2019必须集成安装WDK驱动程序包
3,支持文本型,文本型将与内核驱动模式一致,替换为char*类型,文本型实际为字符串指针,文本操作需要按照内核字符串操作规则
4,只在本机上测试,其他电脑可能会因为乱七八糟的问题出错,出错大概率是路径定位错误,有问题可以帖子回复.
5,内核API暂时没有时间封装,自己使用嵌入调用,由于火山不支持C结构体,使用API时尽量避免使用结构类.6,编译原理是把火山翻译后的文件转换为VS工程,如果出现错误无法编译的话,可以在项目的linker目录找到对应的VS工程,用vs2019打开试试
|
评分
-
参与人数 3 | 金钱 +7 |
收起
理由
|
始不晚
| + 5 |
这么好的东西,我之前为啥没看到。。。。. |
米粒
| + 1 |
厉害! |
伟业
| + 1 |
腻害啊......... |
查看全部评分
|