什么是windows底层编程

什么是windows底层编程,第1张

程序分为 *** 作系统和应用程序.

应用程序的运行建立在 *** 作系统基础上,所以嫌弊可以说 *** 作系统是底层的程序, 而相对的,应用程序就算高层的程序了.

所谓的“底层编成”就是指一些核心的编成(抽困者告象说就是离 *** 作系统汪明近).

"windows底层编程"就是基于window *** 作系统的核心的编成.

计算机软件底层,底层开发是指系统的后台和网络的基端,也可以理解成最接大皮悉近于硬件的开发。

在人工智能,单片机,电脑软件等开发领域往往分为前端开发和底层开发,最基础最重要的开发,真正做底层开发的是需要一定的技术功底。

开发语言:一般为汇编语言或C语言,C++,开发方向:主要是针对硬件方面的开发,例如接口程序,驱动程序, *** 作系统相关的程序。

熟练掌握设计模式,良好的编程习惯,代码,精通手机平台socket模型;熟悉各平台http协议栈,熟练使用IPHONE,symbian,wm,MTK等至少一个平台开发,至少2年手机平台开发经验。

扩展资料:

软件的概念:

软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。

为了方便用户,滚乎为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户握巧的要求和软件的要求。

软件的含义:

运行时,能够提供所要求功能和性能的指令或计算机程序集合。程序能够满意地处理信息的数据结构。描述程序功能需求以及程序如何 *** 作和使用所要求的文档。

参考资料:百度百科-底层开发

1.语言C/C++(参考书籍:<<C/C++ Primer>>,<<C和指针>>,<<数据结构C语言描述>>)),汇编(王爽的汇编语言,作为入门,参考Intel手册,之后参考看雪的<<加密与解密>>,了解PE文件的格式,加壳脱壳和病毒感染的手法,如果是开发的话,只需要了解即可,能用反汇编调试工具去做简单的CrackMe即可),这个阶段大约是大一大二的时间,除去老师上课教的C语言基础,80x86汇编语言以为,很多知识都是自己去扩展。

2.windows api(win32sdk) 参考书籍(《Windows程序设计》,《Windows核心编程》,MFC之类的需要使用的时枣前候在参考即可,不必花费太多精力,主要是去了解程序的消息机制,事件等等,应该把主要的精力比如线程注入,Ring3的各种HOOK等。这个阶段是大二下学期的时间,说实话,我这个方面看的太少了,花了好多时间在一些没有意义的事情上,导致到大三的时候参加信息安全比赛做驱动的时候经验严重不足,所以基础太重要了)

3.然后就是winows驱动内核的开发(参考书籍,寒江独钓,张帆的Windows驱动开发技术详解,WDK上的各种示例代码) 熟悉各种过滤驱动框架(文件过滤驱动,文困岩卖件微过滤驱动,tdi,ndis协议,ndis中间层,ndis小端口等等)。

然后就是各种系统底汪逗层的原理,进程创建的流程,文件创建的流程,进程间通信的过程,用各种调试,反汇编工具(od,ida,windbg)去跟踪分析,可以写一些Rootkit/Anti-Rootkit工具,比如对于进程隐藏和保护,有SSDT HOOK OpenProcess,摘除进程链表等等,这样有助于对系统底层机制的理解

4.后期就是经验和内功了,什么《深入解析Windows *** 作系统》,《TCP/IP》卷123,《Windows内核原理与实现》等等,说白了,个人认为,底层开发对于调试的功力要求很高,能从蓝屏的dump文件出有用的信息


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12312526.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存