网络和黑客编程基础.doc
《网络和黑客编程基础.doc》由会员分享,可在线阅读,更多相关《网络和黑客编程基础.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、往链点点通共享资源,了解更多请登录www.WL网络和黑客编程基本知识 详细介绍黑客编程第一节 了解Windows机制Windows 是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作.第一节 了解Windows机制Windows 是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”系统每次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。每个Windows 应用程序都是基于事件和消息的,而且包含一个主事件
2、循环,它不停地、反复地检测是否有用户事件发生。每次检测到一个用户事件,程序就对该事件做出响应,处理完再等待下一个事件的发生。Windows 下的应用程序不断地重复这一过程,直至用户终止程序,用代码来描述实际上也就是一个消息处理过程的while循环语句。下面便简单介绍一下与 Windows 系统密切相关的几个基本概念:1:窗口:这是我要说的第一个概念。窗口是Windows本身以及Windows 环境下的应用程序的基本界面单位,但是很多人都误以为只有具有标题栏、状态栏、最大化、最小化按钮这样标准的方框才叫窗口。其实窗口的概念很广,例如按钮和对话框等也是窗口,只不过是一种特殊化窗口罢了。从用户的角度
3、看,窗口就是显示在屏幕上的一个矩形区域,其外观独立于应用程序,事实上它就是生成该窗口的应用程序与用户间的直观接口;从应用程序的角度看,窗口是受其控制的一部分矩形屏幕区。应用程序生成并控制与窗口有关的一切内容,包括窗口的大小、风格、位置以及窗口内显示的内容等。用户打开一个应用程序后,程序将创建一个窗口,并在那里默默地等待用户的要求。每当用户选择窗口中的选项,程序即对此做出响应。2:程序:通常说的程序都是指一个能让计算机识别的文件,接触得最多的便是.exe型的可执行文件.3:进程:说到进程,学过操作系统的人都很清楚,所谓进程就是应用程序的执行实例(或称一个执行程序) 需要注意的是:进程是程序动态的
4、描述,而上面说到的程序是静态的描述,两者有本质的区别。举个例子,从网上 Down了一个瑞星杀毒软件到C盘但没有运行,那个.exe 可执行文件叫做程序,它是一个二进制码的文件。一旦双击了exe文件图标运行程序,那个“正在运行着的瑞星杀毒”便称为进程,它在双击的那一刻被系统创建,当你关机或者在任务栏的图标上单击鼠标右键选“退出”时,进程便消亡,彻底结束了生命。进程经历了由“创建”到“消亡”的生命期,而程序自始至终存在于你的硬盘上,不管你的机器是否启动。4:线程:线程是进程中的一个执行单元,同一个进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一堆栈。进程本来就具有动态的含义,然而实质上是
5、通过线程来执行体现的,从这个意义上说,Windows 中进程的动态性意义已经不是很明显了,只算是给程序所占的资源划定一个范围而已,真正具有动态性意义的是线程。5:消息:我们几乎做每一个动作都会产生一个消息,鼠标被移动会产生WM_MOUSEMOVE消息,鼠标左键被按下会产生WM_LBUTTONDOWN的消息,鼠标右键按下便产生WM_RBUTTONDOWN消息等等。所有的这些都可以通过GetMessage,SendMessage等函数得到.6:事件:如在程序运行的过程中改变窗口的大小或者移动窗口等,都会触发相应的“事件”。7:句柄:单单一个“柄”字便可以解释它的意思了,我们天气热摇扇子的时候只要抓
6、住扇柄便可以控制整个扇子的运动了,在程序中也差不多是这个意思。通常一个句柄就可以传递我们所要做的事情。有经验的成员肯定清楚,编写程序总是要和各种句柄打交道的,句柄是系统用来标识不同对象类型的工具,如窗口、菜单等,这些东西在系统中被视为不同类型的对象,用不同的句柄将他们区分开来。C+ 教材中给句柄下的定义是:“在Win32里,句柄是指向一个无值型对象(void *)的指针,是一个4字节长的数据”。从结构上看,句柄的确是一个指针,尽管它没有指向用于存储某个对象的内存位置,而实际上网络和黑客编程基本知识 (2)2009-06-18 09:54:18 来源:互联网网络和黑客编程基本知识第一节 了解Wi
7、ndows机制Windows 是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作.柄指向的是一个包含了对该对象进行的引用的位置。在编程时,只要抓住了对象的句柄就可以对该对象进行操作了.8:API与SDK:API是英文 Application Programming Interface 的简称,意为“应用程序接口”,泛指系统为应用程序提供的一系列接口函数。其实质是程序内的一套函数调用,在编程的时候可以直接调用,而不必知道其内部实现的过程,只知道它的原型和返回值就可以了.SDK是英文 Software Development Kit 的缩写,指“
8、软件开发工具包”,在防火墙的设计中就经常涉及到SDK。第二节 Win API编程简介下面介绍一下WIN API.我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API.API是Application Progamming Interface的缩写.就是说API是一系列已经定义的在windows内部的函数,是应用程序和系统之间的桥梁,应用程序通过调用API来请求系统完成一系列的任务.窗口,菜单,文件操作等都是通过API实现的.WIN32 API就是WINDOWS 32位平台的应用程序接口.现在可视化编程工具提供了大量控件,他们代
9、替了API的功能.这些控件都是构建在WIN32 API之上的.是封装了的API函数集合.但是对于比较复杂和特殊功能(想我们的黑客编程)来说,就必须用API函数来实现.WIN API存放在动态链接库(DLL)中,在98系统中,有32位的GDI32.DLL,KERNEL32.DLL,16位的GDI.EXE,KRNL386.EXE.API就存放在这些动态链接库中.木马和后门其实就是使用了文件操作函数,这里做简要介绍:删除文件:BOOL DeleteFile(LPCTSH lpFileName)复制文件:BOOL CopyFile()移动文件:BOOL MoveFile()等等具体的API可以上网自己
10、去查看,有很多介绍API的书籍.第二节 Win API编程简介下面介绍一下WIN API.我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API.API是Application Progamming Interface的缩写.就是说API是一系列已经定义的在windows内部的函数,是应用程序和系统之间的桥梁,应用程序通过调用API来请求系统完成一系列的任务.窗口,菜单,文件操作等都是通过API实现的.WIN32 API就是WINDOWS 32位平台的应用程序接口.现在可视化编程工具提供了大量控件,他们代替了API的功能.这些
11、控件都是构建在WIN32 API之上的.是封装了的API函数集合.但是对于比较复杂和特殊功能(想我们的黑客编程)来说,就必须用API函数来实现.WIN API存放在动态链接库(DLL)中,在98系统中,有32位的GDI32.DLL,KERNEL32.DLL,16位的GDI.EXE,KRNL386.EXE.API就存放在这些动态链接库中.木马和后门其实就是使用了文件操作函数,这里做简要介绍:删除文件:BOOL DeleteFile(LPCTSH lpFileName)复制文件:BOOL CopyFile()移动文件:BOOL MoveFile()等等具体的API可以上网自己去查看,有很多介绍AP
12、I的书籍.第二节 Win API编程简介下面介绍一下WIN API.我们需要自己编写一个工具时,必然会用到很多操作windows和控制windows的函数,这些函数就是windows API.API是Application Progamming Interface的缩写.就是说API是一系列已经定义的在windows内部的函数,是应用程序和系统之间的桥梁,应用程序通过调用API来请求系统完成一系列的任务.窗口,菜单,文件操作等都是通过API实现的.WIN32 API就是WINDOWS 32位平台的应用程序接口.现在可视化编程工具提供了大量控件,他们代替了API的功能.这些控件都是构建在WIN3
13、2 API之上的.是封装了的API函数集合.但是对于比较复杂和特殊功能(想我们的黑客编程)来说,就必须用API函数来实现.WIN API存放在动态链接库(DLL)中,在98系统中,有32位的GDI32.DLL,KERNEL32.DLL,16位的GDI.EXE,KRNL386.EXE.API就存放在这些动态链接库中.木马和后门其实就是使用了文件操作函数,这本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:网络和黑客编程基本知识 (3)2009-06-18 09:54:18 来源:互联网网络和黑客编程基本知识第一节 了解Windows机制Windows 是一个“基于事件的,消息驱动的”操作
14、系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作.里做简要介绍:删除文件:BOOL DeleteFile(LPCTSH lpFileName)复制文件:BOOL CopyFile()移动文件:BOOL MoveFile()等等具体的API可以上网自己去查看,有很多介绍API的书籍.第三节 Windows 网络协议首先介绍一下网络协议:网络协议是网络上所有设备之间通信规则的集合,他定义了通信时信息必须采用的格式和这些格式的意义.大多数网络协议都采用分层体系结,每一层都建立在他的下层之上,向他的上一层提供服务,而把如何实现这一服务的细节对上层加以屏蔽.一台设备上的第N层与另一台设
15、备上的第N层进行通信的规则就是第N曾协议.在网络上的个层之间中存在着许多协议,接受方和发送方同层的协议必须一致,否则,一方就无法识别另一方发出的信息.网络协议使网络上的设备各种设备能相互交换信息.常用的协议有:TCP/IP协议,IPX/SPX歇息等等.在局域网中常用的IPX/SPX协议.而访问INTERNET,就必须添加TCP/IP协议.TCP/IP协议是传输控制协议/互联网络协议.他规范了网络上所有设备的通信,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式.在网络的各层中还存在着许多协议,下面列出部分网络协议规范:ARP 地址解析协议SNMP 网络管理协议BOOTP 让无盘站从一个
16、中心服务器上获得IP地址DHCP 动态主机配置协议下面介绍网络7层协议在WINDOWS的实现:7层协议 WIN系统_7 应用层 7 应用程序_6 表示层 6 WINSOCK API(DLL)_5 会话层 5 SPI(DLL)_4 传输层 4 TDI(VXD,SYS)_3 网络层 3 NDIS(VXD,SYS)_2 数据链路层 2 网卡驱动程序(VXD,SYS)_1 物理层 1 网卡_相信这个映射图可以让大家比较清楚了解他们的对应关系TCP协议图示应用程序协议 HTTP FTP TELNET传输协议 TCP UDP网际协议 IP物理层协议 网卡IP协议保证数据的传输,TCP协议保证数据传输的质量
17、.TCP/IP协议基于四层结构:应用层,传输层,网络层,接口层,数据在传输时每通过一层就要在数据上加个头,其中的数据供接受端同层使用,在接收端,每经过一层就把头去掉,来保证传输数据格式的一致.TCP头部结构:16位源端口号 16位目的端口号32位序列号32位确认号4位首部长度+6位保留字 6位标志 16位窗口大小16位效验和 16位紧急数据偏移量数据段IP头部结构:4位IP版本号 4位首部长度 8位服务类型 16位总长度本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:网络和黑客编程基本知识 (4)2009-06-18 09:54:18 来源:互联网网络和黑客编程基本知识第一节 了解W
18、indows机制Windows 是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作.16位标示 3位标志和偏移8位生存时间 8位协议 16位IP首部效验和32位源IP地址32位目的IP地址TCP头和数据第四节 关于服务器和客户端编程在网络编程中,最常用和最基础的就是WINSOCK. 现在我们讨论WINDOWS下的SOCKET编程.大凡在WIN32平台上的WINSOCK编程都要经过下列步骤:定义变量-获得WINDOCK版本-加载WINSOCK库-初始化-创建套接字-设置套接字选项-关闭套接字卸载WINSOCK库-释放资源下面介绍WINSOCK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 黑客 编程 基础
限制150内