现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

一个windows开发者的学习之路

2013-10-16 10:45 工业·编程 ⁄ 共 817字 ⁄ 字号 暂无评论

1. 若对Windows底层开发没有兴趣,不建议继续深究; 若有些兴趣可以继续

2. 先广泛打基础,比如C/MFC/C++/ASM,再学习Windows核心编程,对R3上的一些开发有所熟悉; 再系统的学习<操作系统>等书籍,理解整个系统的原理,构架,实现.

3. 有了以上基础,可以开始阅读一些驱动入门书籍,如 毛德草 的<Windows内核情景分析>, 多上google搜索资料; 下一份WRK/ReactOS,没事翻一翻,搭好驱动编译环境后,可以尝试写些小驱动,在实践蓝屏中摸索总结,从而积累初级的经验.

4. 等成了驱动开发初级工后,可开始学习Windbg,IDA的使用. 多看源码多F1看帮助文档.

5. 等熟练以上工具后,开始Windbg动态调试,IDA静态逆向其他驱动(包括微软自己的). 在这一过程中,你又会接触到脚本语言,汇编知识点,Intel手册,加密解密,Vmvare等一堆的东西,同样你需要熟悉它们.

6. 等你熟悉以上东西后,可以给自己提些需求,并实现该需求; 比如写个小型ARK; 在这个过程中,你可以切实感受到开发一个程序是一个系统的东西,你又需要回到R3写界面,重温MFC,WTL等设计与使用.当然又要写驱动程序,保证兼容性等问题; 这个过程是漫长的,期间你会发现写一小部分功能,你可以扩展收获很多知识点.

7. 等你熟悉以上东西后, 已经可以自己独立解决问题了.基本不需要到网上求助; 遇到问题,会利用WRK / Windbg / IDA / Google 等方式自行搞定; 如网上有现成的解决方法,借用之,取其精华,唾其糟粕; 若网上没有现成的,则需要你IDA 系统文件,load pdb; windbg动态调试内核等手段自行挖掘; 若网上只有类似的程序,你可以逆向其关键部分参考之,而后变成自己的东西.

8 ,等你经历了以上7个阶段,你可以开始系统的了解WINDOWS的构架,站在产品的角度思考问题,分析问题,解决问题. 对自己多提需求.进而再去实现之. 这阶段是积累经验的阶段...

给我留言

留言无头像?