3-5月工作总结

3-5月工作经历简述

从三月开始,我就参与公司的文件系统驱动开发,利用的框架是Minifilter。在驱动层判断文件的类型,然后决定拦截与否。从中学会了以下的一些东西:

Minifilter框架开发驱动

通过这个项目,大致学会了如何利用minifilter开发文件系统驱动,相对旧的驱动开发模式而言,这个框架使开发变得简单了很多。但对于我而言,还是很难的,入门都很难。

Windbg的使用

Windbg很强大,可以做各种各样的调试,可以调试内核中的驱动程序,可以查看各种数据结构,可以查看局部变量,全局变量,查看内存中的信息。可以分析进程的各种状态,总之很强大。

DbgViewer的使用

很多信息靠单步调试太慢了,所以用DbgPrint()打印出来,然后用DgbhViewer查看输出信息会很方便。

Windbg+VirturalBox+Windows 7/10调试内核

因为驱动开发稍有错误,立即将电脑蓝屏,所以不能实体机上调试运行驱动,采用虚拟机安装操作系统后开发,会变得更方便,做好系统快照,即使虚拟机里系统崩溃了,也就是重启一下或者恢复一下以前的快照就行。大大降低了开发风险和提高了开发效率,毕竟频繁地重装系统是很烦人和耗时的。

心理层的收获

驱动开发不像用IDE开发那么方便,各种工具集成在一起,相当智能。驱动层开发调试不那么容易,但是反而更让我对程序和数据结构的本质更加了解了。其次是做过了很难的事情之后,再回头看应用层开发的那些项目,比如MFC程序,简直是小儿科的感觉,信心得到了极大的提高。

驱动开发的一些感悟和总结

驱动开发资料少,包括英文的资料都很少,有时候为了一个API的参数,都得花很长的时间去查找和验证,为此我用上了bing,觉得搜英文资料还是它靠谱点。驱动开发比较厉害的话可以去安全公司干活,而且薪水应该比较高,但是驱动开发,特指是windows 驱动开发,就业面窄,技术难度高,学习成本高。我个人很感谢有这个机遇参与这个项目,让我的视野和心理得到了一个提升。

你可能感兴趣的:(3-5月工作总结)