C++开发方向之windows驱动开发
1.为什么要写这篇文章?
最近浏览招聘网站看到关于windows驱动开发的岗位,前几天一个C++客户端工作岗位,猎头也问我是否有了解windows内核。
所以,调研了一下C++的开发方向:windows驱动开发。
先来看看招聘网上,关于windows驱动开发的岗位要求:
1.深圳的C++客户端高级岗
2.四川成都的windows驱动开发岗
2.如何学习windows驱动开发
windows驱动开发学习路径主要分三个阶段:
第一阶段:C/C++语言
第二阶段:windows程序实现机制
第三个阶段:windows内核
windows驱动编程学习路径
内核驱动编程定义
按照系统的API和框架去做代码
驱动程序提供更接近于底层的功能
在某些情况下对程序的框架更加有利于效率
基本学习路线
C/C++语言
算法
框架机制&windows程序设计
系统内核实现
前提:不断去写代码,调试代码
看了书叫你做,做不出来就是没学懂
第一阶段:C/C++语言
《C++ Primer》
《深入探索C++对象模型》
c语言
计算机基础课程
第二阶段:熟悉windows程序实现机制
《windows程序设计》
《windows核心编程》
《Windows2000Secrets》
《深入浅出MFC》/《VC技术内幕》
《WINDOWS驱动开发详解》
第三阶段:内核相关
谭文《windows内核安全编程》
谭文《从汇编语言到windows内核编程》
《rootkit》
《WINDWOS内核的安全防护主题》
windows内核学习内容进阶
1.内核驱动入门
1.1驱动级hello world
1.2驱动框架理解
2.内核开发基础
2.1驱动级文件与注册表操作
2.2中断运行级别
2.3同步与多线程
2.4内核数据结构
2.5应用程序与驱动通信与弹窗
3.内核高级技术
3.1DKOM
3.2HOOK/DKOH
3.3回调(进程、线程、模块、注册表等)
3.4文件系统(sfilter/minifilter)
3.5网络驱动(tdi/ndis/wfp)
3.6PE文件结构/汇编与逆向(ida/ollydbg)
4.内核编程综合应用
4.1主防(HIPS)
4.2沙盘(sandbox)
4.3防火墙(TDI/NDIS/WFP)
4.4ARK/基于MBR和BIOS的bookkit技术分析与查杀
4.5程序逆/向病毒分析
3.学习windows驱动开发有前途吗?
薪资还是不错的,门槛比较高,方向有点窄,相比互联网方向要低点,也可以进入互联网行业
windows驱动开发前途
驱动开发涉及行业
过滤驱动
内网安全
透明加解密,虚拟磁盘,外设控制
网吧安全
主要实现无盘还原、其他业务
互联网安全
用过滤驱动实现主防、沙盒等
云共享、虚拟网卡、多用户操作
游戏反外挂
设备驱动
主要集中在芯片厂商、器件厂商
职业发展
圈子比较小,职业发展比较窄
学习曲线比较陡,调试驱动需要极大耐心和毅力,对底层知识要求大
薪资
初期薪资略高
后期学习成本越来越高,薪资上升空间小
很多人停留在中级
薪资比不上互联网公司同级别职位
c++开发有哪些开发方向,每个方向该如何学习,学习什么内容学习难度如何,选择哪个方向?想了解更多C++开发文章,欢迎关注公众号:“疯狂的极致主义”。
参考文献:
https://www.zhihu.com/question/23827302
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/haimianjie2012/article/details/114376997