特洛伊木马程序的设计与实现

特洛伊木马程序的设计与实现
特洛伊木马程序的设计与实现

本科生毕业论文(设计)

题目特洛伊木马程序的设计与实现

学生姓名

指导教师

学院

专业班级

完成时间2010年5月28日

摘要

随着计算机网络技术的飞速发展,黑客技术也不断更新,它对网络安全构成了极大的威胁。特洛伊木马作为黑客工具中重要的一员,其技术日新月异,破坏力之大是绝不容忽视的。因此,对木马技术的研究刻不容缓。

本文首先介绍了木马的基本概念,包括木马的结构、行为特征、功能、分类以及木马的发展现状和发展趋势。然后详细介绍了木马的工作原理和木马系统的关键技术。木马的关键技术包括木马的伪装方式、木马程序的隐藏技术、木马的自启动以及木马的通信技术等。另外,本文研究了远程控制技术,包括TCP/IP协议的介绍、Socket通信技术和客户端/服务器模型(C/S)。

本文在研究木马技术的基础上设计了一款远程控制木马。该木马程序能够通过客户端对远程主机进行控制和监视,服务端可以自动连接客户端。另外该木马程序还包括远程文件操作(文件复制、拷贝、删除、下载、上传等),远程系统控制(关机、重启,鼠标、屏幕锁定,启动项管理),网络连接控制,远程进程管理和文件传输等功能。最后本文实现了这一款木马程序,并对其进行了测试。测试结果显示该木马程序实现了所有的功能,能够对远程主机进行控制。

关键词木马,Socket,远程控制

ABSTRACT

With the rapid development of network, the dependence between our society, computer system and information network becomes bigger and bigger. The safety of the internet is especially important. The hackers create a great network security threats, and the currently most available mean of invasion are the Trojan technology. Therefore, this technique has been studied for the Trojan technology.

This paper introduces the basic concepts of Trojans, including structure, behavior characteristics, function, classification and Trojans situation and development trend. Then, it also introduces the details of the Trojan works and Trojan key technology. Key technologies include Tr ojan disguised way, stealth technology of Trojans, Trojans’ self-running and communication technology. In addition, this paper also studies about the remote control technology, including TCP/IP protocol description, Socket communication technology and client / server model (C / S).

There is a remote control Trojan based on this paper which is studying the Trojan technology. This Trojan horse can control and watch the distance host through the client, and the server can connect with the client automatically. In addition, the Trojan program also includes a remote file operations (file copy, copy, delete, download, upload, etc.), remote system control (shutdown, restart, mouse, screen lock, startup item management), network connection control, remote process management, file transfer and other functions. Finally, this paper realizes this Trojan horse program, and tests it. Test results show that the Trojan horse program achieves all the functions and it can control the remote host.

KEY WORDS Trojan, Socket, Remote control

目录

摘要I

ABSTRACT ................................................................................................................ II 第一章绪论 (1)

1.1木马的研究背景 (1)

1.2木马发展的现状 (1)

1.3论文研究的意义和目的 (2)

1.4论文的研究内容 (3)

1.5论文章节安排 (3)

第二章木马技术基础 (4)

2.1木马系统结构 (4)

2.2木马的基本特征 (5)

2.3木马的功能 (6)

2.4木马的分类 (6)

2.5木马的发展趋势 (7)

第三章木马工作原理及关键技术 (9)

3.1 木马的伪装 (9)

3.2木马的隐藏 (10)

3.3木马常见的启动方式 (12)

3.4远程控制技术 (14)

3.4.1IP协议 (14)

3.4.2 TCP协议 (15)

3.4.3套接字(Sockets)技术 (16)

3.5木马的通信 (16)

3.5.1端口复用技术 (17)

3.5.2反弹端口 (17)

3.5.3潜伏技术 (18)

3.6客户机/服务器模型 (18)

第四章远程控制木马的设计 (20)

4.1功能分析 (20)

4.2系统总体设计 (21)

4.2.1使用环境和拓扑结构 (21)

4.2.2系统的逻辑模型 (22)

4.2.3设计思路 (23)

4.3系统实现的关键技术 (24)

4.3.1DLL模块化技术 (24)

4.3.2 钩子技术 (26)

4.3.3远程线程插入技术 (27)

4.3.4隐蔽通信技术 (29)

4.4系统的开发工具 (30)

第五章远程控制木马的实现 (32)

5.1服务端程序的实现 (32)

5.1.1服务端的自启动 (32)

5.1.2 通信模块的实现 (34)

5.1.3服务端管理模块 (38)

5.2客户端的实现 (39)

5.2.1远程文件控制 (39)

5.2.2系统控制 (40)

5.2.3文件传输 (42)

第六章结束语 (43)

参考文献 (44)

致谢 .................................................................................. 错误!未定义书签。

第一章绪论

1.1木马的研究背景

随着网络的快速发展,Internet深入到社会的每个角落,人们充分享受到了其给工作和生活带来的巨大便利,人类社会对计算机系统和信息网络的依赖性也越来越大。工业和信息化部统计数据显示,2009年中国网民规模已达3.84亿;预计2010中国网民规模突破4亿[1]。由于计算机系统和信息网络系统本身固有的脆弱性,网络入侵工具(如蠕虫、木马等)不断涌现,社会、企业和个人也因此蒙受了越来越大的损失。木马由于它的隐蔽性、远程可植入性和可控制性等技术特点,已成为黑客攻击或不法分子入侵网络的重要工具,目前,不断发生的互联网安全事故中,大部分都有木马的身影。

2010年1月,国内最知名的信息网络安全厂商金山安全正式发布《2009年中国电脑病毒疫情及互联网安全报告》。报告显示,2009年金山毒霸共截获新增病毒和木马20684223个,与5年前新增病毒数量相比,增长了近400倍。在新增病毒中,木马仍然首当其冲,新增数量多达15223588个,占所有病毒重量的73.6%。全国共有76409010台(约7600万台)计算机感染病毒,与08年的感染量相比增加了13.8%[2]。

计算机病毒猖獗的背后是巨大的经济利益。据中国国家计算机网络应急处理中心估计,目前木马黑色产业链的年产值己超过2.38亿元人民币,造成的损失则超过76亿元。木马经济产业化的一个重要表现就是:制造木马、传播木马、盗窃账户信息、销赃、洗钱,分工明确,形成了一个非常完善的流水性作业程序,这个流水作业程序就是一条黑色产业链[3]。

木马程序使得远程的黑客能够享有系统的控制权。“知己知彼,百战不殆”,如果想找出防御木马攻击的有效途径,就必须认真地研究木马攻击的技术。在研究木马攻防的过程中,如果能够理清木马攻击手段的发展脉络,就有可能进一步找出木马发展的趋势,并提早思考应对策略。

1.2木马发展的现状

自从世界上出现第一个木马程序(1986年的PC-Write木马)到今天,木马的发展已经历了五代[4][5]:

第一代木马出现在网络发展的早期,是以窃取网络密码为主要任务,即简单的

密码窃取、发送等,在隐藏和通信方面均无特别之处。

第二代木马在技术上有很大的进步,使用标准的C/S架构,提供远程文件管理、屏幕监视等功能。但是由于植入木马的服务端程序会打开连接端口等候客户端连接,比较容易被发现。如:“冰河”、“Qmitis”。

第三代木马在功能上与第二代木马没有太大差异,它的改变主要在网络连接方式上,它的特征是不打开连接端口进行侦听,而是使用ICMP通信协议进行通信或使用反向连接技术让服务器端主动连接客户端,以突破防火墙的拦截。在数据传递技术上也做了不小的改进,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了查杀的难度。如:网络神偷、Peep201等。

第四代木马在进程隐藏方面,做了大改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程,或者挂接PSAPI[6],实现木马的隐藏。前三代木马,大多都有独立的木马,因此用户可以根据启动项目中的描述内容,很快找到木马,并删除它。但是,第四代木马选择注册表的方式,伪装成DLL文件形式加载到正常的启动程序上,无法通过“任务管理器”查看到正在执行的木马。不过在连接方式上,依然使用第三代木马或第二代木马的连接方式。如:Beast木马。

第五代木马实现了与病毒紧密结合,利用操作系统漏洞,直接实现感染传播的目的,而不必象以前的木马那样需要欺骗用户主动激活。例如类似冲击波病毒的木马——噩梦II。

特洛伊木马程序发展到今天已经相当完善了,但随着计算机技术的发展,木马仍会继续演变并运用一些新的技术和方法使其更具有攻击性和破坏性。从现在的趋势来看,木马将在隐藏性、代码的模块化设计、及时通知、跨平台、底层通信以及和蠕虫病毒技术融合等方面有所提升和发展。

1.3论文研究的意义和目的

由于木马活动的猖獗和其实现技术的不断更新,木马的防范工作也必须与时俱进。只要了解木马的工作原理,借助协议分析工具,就能及时发现蛛丝马迹,降低木马带来的危害;只要熟悉木马的隐藏方法,就能快速找到并彻底清除木马,甚至找到入侵者;如果能够预先了解木马攻击手段,就可以有针对性防范木马主动入侵或攻击。

论文通过对木马的原理进行深入分析,总结一些木马的一般规律和最新技术,对于提高木马的防范水平以及网络管理提供了一定的借鉴作用。

1.4论文的研究内容

本文在研究了木马的关键技术基础上设计实现了一款远程控制木马程序。

主要研究内容:

一、特洛伊木马的概念、发展过程、分类、特征、功能、发展现状及趋势。

二、计算机远程控制技术的基础知识及远程控制的关键技术。

三、在Windows平台下实现一种远程控制木马程序,该木马采用能绕防火墙隐蔽地植入受控计算机,并根据控制端的指令进行启动、消亡以及其他各种控制功能。

四、系统实时将受控计算机当前屏幕显示的信息、键盘记录、浏览文件等各种信息传输至远程控制端。

五、对木马程序进行测试。

1.5论文章节安排

第一章简要介绍了本文的研究背景和意义,以及论文内容的安排。

第二章总结了木马技术基础,包括木马的分类、特征、功能和发展趋势

第三章研究了木马的工作原理以及木马实现的关键技术等,包括木马的伪装、隐藏和启动,远程控制关键技术及通信技术等。

第四章是远程控制木马程序的设计。包括木马的模型结构及设计思想,关键功能的设计过程。

第五章是远程控制木马程序的实现,包括了木马的运行过程和功能测试。

第六章为结束语,总结毕业设计。

第二章木马技术基础

在计算机领域中特洛伊木马程序是一种未经授权的程序,它包含在一段正常的程序当中,这个未经授权的程序提供了一些用户不知道的功能,其目的是不需要管理员的准许就可获得系统使用权。它可以控制用户计算机系统,造成用户资料的泄漏,甚至造成整个计算机系统崩溃等。特洛伊木马和病毒的区别是它不能自行传播,而要依靠宿主以其它假象出现,冒充一个正常的程序,如Bo、Happy99、sub7、网络神偷、冰河等就是典型的特洛伊木马程序。本章详细论述了木马的分类、特征、功能、工作原理和攻击手段等。

木马的全称是“特洛伊木马”,是一种新型的计算机网络病毒程序。在RFC1244安全手册中给出的:“特洛伊木马是这样一种程序,它提供了一些有用的,或仅仅是有意思的功能。但是通常要做一些用户不希望的事,诸如在你不了解的情况下拷贝文件或窃取你的密码”。它利用自身所具有的植入功能,依附其它具有传播能力病毒,或者通过入侵后植入等多种途径,进驻目标机器,搜集其中各种敏感信息,并通过网络与外界通信,发回所搜集到的各种敏感信息,接受植入者指令,完成其它各种操作,如修改指定文件、格式化硬盘等。

2.1木马系统结构

一个完整的木马系统由硬件部分、软件部分和具体的连接部分组成[7]。

1、硬件部分,建立木马连接所必须的硬件实体,分为控制端,服务端和Internet。

控制端是对服务进行远程控制的一方;服务端是被控制端远程控制的一方;Internet是控制段对服务端进行远程控制,数据传输的网络载体。

2、软件部分,实现远程控制所必须的软件程序。

控制端程序,控制端用以远程控制服务端的程序。木马程序,潜入服务端内部,获取其操作权限的程序。木马配置程序,设置木马的端口号,触发条件,木马名称等,并使其在服务端隐藏的更隐蔽的程序。

3、具体连接部分,通过Internet在服务端和控制端之间建立一条木马通道所必

须的一条元素。

控制端IP和服务端IP,即控制端和服务端的网络地址,也是木马进行数据传输的目的地。控制端端口和木马端口,即控制端和服务端的数据入口,通过这个端口,数据可以直达控制端程序或木马程序。

2.2木马的基本特征

综合现在流行的木马程序,它们都具有以下基本特征:

1、隐蔽性

木马必须有能力长期潜伏于目标机器中而不被发现。一个隐蔽性的木马往往会很容易暴露自己,进而被杀毒(或杀马)软件,甚至用户手工检查来,这样将使得这类木马变得毫无价值。因此可以说隐蔽性是木马的生命。

2、自动运行性

木马程序是一个系统启动即自动运行的程序,所以它可能嵌入在启动配置文件(如win.ini、system.ini、winstart.bat等)、启动组或注册表中。

3、欺骗性

木马程序要达到长期隐藏的母的,就必须借助系统中已有的文件以防被发现。木马经常类似以常见的文件名或扩展名的名字(如dll、win、sys),或者仿制一些不易被人区分的文件名(如字母“i”和数字“1”,字母“o”和数字“0”),或者伪装成常见的文件图标。以骗取用户的信任。

4、顽固性

木马顽固性就是指有效清除木马的易程度。若一个木马在检查出来之后,仍然无法将其一次性有效清除,那么该马就具有较强的顽固性。很多木马程序中的功能模块已不再是单一的文件组成,而是将文件分别存储在不同的位置。这些分散的文件可以相互恢复,因此难以清除。

5、易植入性

任何木马必须首先能够进入目标机器(植入操作),因此易入性就成为木马有效性的先决条件。欺骗性是自木马诞生起最常见的植入手段因此各种好用的小功能软件就成为木马常用的栖息地。利用系统漏洞进行木马入也是木马入侵的一类重要途径。目前木马技术与蠕虫技术的结合使得木马具类似蠕虫的传播性,这也就极大提高了木马的易植入性。

从上面对木马特性的分析,可以看到木马的设计思想除了具有病毒和蠕虫的设计思想(即主要侧重于其隐蔽性和传播性的实现),还更多地强调与木马控制端通信能力,和反清除与反检测能力。由于有了控制端的攻击者的指挥,因此木马的行为特征就有了很强的智能化,具有很强的伪装能力和欺骗性。而木马的反清除能力,也使其极为固地和被寄生的系统纠合在一起。要想彻底清除木马,系统也得付出惨痛代价。

2.3木马的功能

只要在本地计算机上能操作的功能,目前的木马基本上都能实现。木马的控制端可以像本地用户一样操作远程计算机。木马的功能可以概括为以下内容[8]:

1、窃取数据

以窃取数据为目的,本身不破坏计算机的文件和数据,不妨碍系统的正常工作,它以系统使用者难以察觉的方式向外传送数据。

2、接受非法授权操作的指令

当网络中的木马被激活后,它可以获取网络服务器系统管理员的权限,随心所欲地窃取密码和各类数据,逃避追踪,同时不会留下任何痕迹。

3、篡改文件和数据

对系统文件和数据有选择地进行篡改,使计算机处理的数据产生错误的结果,导致作出错误的决策。有时也对数据进行加密。

4、删除文件和数据

将系统中的文件和数据有选择地删除或者全部删除。

5、施放病毒

将原先埋伏在系统中但出于休眠状态的病毒激活,或从外界将病毒导入计算机系统,使其感染并实施破坏。

6、使系统自毁

包括改变时钟频率、使芯片热崩溃而损坏、造成系统瘫痪等。

2.4木马的分类

木马的分类多种多样,根据不同的分类标准,木马的种类也有所不同。

(一)根据木马程序对计算机的具体动作方式,可以把现在的木马程序分为以下几类:

1、远程控制型:远程控制型木马是现今最广泛的特洛伊木马.这种木马起着

程监控的功能,使用简单,只要被控制主机联入网络,并与控制端客户程序建立网络连接,控制者就能任意访问被控制的计算机。这种木马在控制端的控制下可以在被控主机上做任意的事情,比如键盘记录,文件上传/下载,截取屏幕,远程执行等。这种类型的木马比较著名的有BO(Back Orifice)和国产的冰河等。

2、密码发送型:密码发送型木马的目的是找到所有的隐藏密码,并且在受害

者不知道的情况下把它们发送到指定的信箱。大多数这类木马程序不会在每次Windows系统重启时都自动加载,它们大多数使用25端口发送电子邮件。

3、键盘记录型:键盘记录型木马非常简单,它们只做一种事情,就是记录受害者的键盘敲击,并且在LOG文件里进行完整的记录。这种木马程序随着Windows 系统的启动而自动加载,并能感知受害主机在线,且记录每一个用户事件,然后通过邮件或其他方式发送给控制者。

4、毁坏型:大部分木马程序只是窃取信息,不做破坏性的事件,但毁坏型木马却以毁坏并且删除文件为己任。它们可以自动删除受控主机上所有的.ini或.exe 文件,甚至远程格式化受害者硬盘,使得受控主机上的所有信息都受到破坏。总而言之,该类木马目标只有一个就是尽可能的毁坏受感染系统,致使其瘫痪。

5、FTP型:FTP型木马打开被控主机系统的21号端口使每一个人都可以用一个FTP客户端程序来不要密码连接到受控制主机系统,并且可以进行最高权限的文件上传和下载,窃取受害系统中的机密文件。

(二)根据木马的网络连接方向,可以分为两类:

1、正向连接型:发起通信的方向为控制端向被控制端发起,这种技术被早期的木马广泛采用,其缺点是不能透过防火墙发起连接。

2、反向连接型:发起通信的方向为被控制端向控制端发起,其出现主要是为了解决从内向外不能发起连接的情况的通信要求,已经被较新的木马广泛采用。

(三)根据木马使用的架构,可以分为四类:

1、C/S架构:这种为普通的服务器、客户端的传统架构,一般我们都是采用客户端作控制端,服务器端作被控制端。在编程实现的时候,如果采用反向连接的技术,那么客户端(也就是控制端)要采用Socket编程的服务器端的方法,而服务端(也就是被控制端)采用Socket编程的客户端的方法。

2、B/S架构:这种架构为普通的网页木马所采用的方式。通常在B/S架构下,Server端被上传了网页木马,控制端可以使用浏览器来访问相应的网页,达到对Server 端进行控制的目的。

3、C/P/S架构:这里的P是Proxy的意思,也就是在这种架构中使用了代理。当然,为了实现正常的通信代理也要由木马作者编程实现,才能够实现一个转换通信。这种架构的出现,主要是为了适应一个内部网络对另外一个内部网络的控制。但是,这种架构的木马目前还没有发现。

4、B/S/B架构:这种架构的出现,也是为了适应内部网络对另外的内部网络的控制。当被控制端与控制端都打开浏览器浏览这个Server上的网页的时候,一端就变成了控制端,而另外一端就变成了被控制端,这种架构的木马已经在国外出现了。

2.5木马的发展趋势

特洛伊木马程序发展到今天已经相当完善了,但随着计算机技术的发展,木马

仍会继续演变并运用一些新的技术和方法使其更具有攻击性和破坏性。从现在的趋势看,木马在未来大概会向以下方向发展:

1、木马将更注重自身的隐藏性

传统的木马开发重点多在如何实现远程控制功能上,随着对木马危害认识的加深和木马查杀工具的普及,木马程序的开发者不得不将更多的精力放在如何更好地隐藏自己上。可以预见,木马会借鉴病毒的开发技术,很快将会出现能够反查杀的变形木马等一批在恶劣的环境下更具生存能力的新型木马。另外,针对依靠监听网络通讯来发现木马踪迹的工具,木马也会使用诸如隐蔽信道之类的手段更好地隐藏自身。

2、更注重代码模块化的设计

目前,程序设计的潮流是模块化设计,木马程序现在也具有这种概念。某些木马程序可以在控制的过程中,通过传送较复杂的模块库到被控端以达到自我升级的目的。

3、即时通知

目前,网络中很多机器使用的是动态IP,木马程序要想控制目标就比较麻烦,因此,未来的木马程序在这方面会进一步完善。会给木马增添即时通知功能,随时向黑客汇报木马受害者的IP地址。

4、可能会出现跨平台的木马

现今木马一般都是基于某种硬件平台或者操作系统开发的,在各种操作系统之间并不具有通用性,对使用者要求较高。随着木马技术的成熟,木马的操作将更为简化,攻击将更为智能化,甚至可能会出现可跨平台工作的木马。

5、木马与蠕虫会相互融合

蠕虫和木马是两种不同功能的程序。蠕虫具有自传播性,所以一般将其归为病毒。然而最近己经开始出现具有蠕虫特征的木马程序,这是个危险的信号。我们应该警惕危害更大的此类木马蠕虫,这可能是今后一段时问木马发展的一个重要趋势。

6、未来木马将更注重底层的通讯编程,如针对网卡和Modem的通讯编程,这样可以逃过防火墙的监视和过滤[9][10][11]。

第三章木马工作原理及关键技术

木马程序一般分为客户端(Client)和服务器端(Server),服务器端程序是控制者传到目标计算机的部分,骗取用户执行后,便植入计算机,作为响应程序。客户端是用来控制目标主机的部分,安装在控制者的计算机,它的作用是连接木马服务器端程序,监视或控制远程计算机。

典型的木马工作原理是:当服务器端在目标计算机上被执行后,木马打开一个默认的端口进行监听,当客户机向服务端提出连接请求,服务器上的相应程序就会自动运行来应答客户机的请求,服务器端程序与客户端建立连接后,由客户端发出指令,服务器在计算机中执行这些指令,并将数据传送到客户端,以达到控制主机的目的。

木马程序的工作过程包含了木马程序的伪装、隐藏、启动、通信以及攻击等。

3.1 木马的伪装

特洛伊木马程序因其功能肯定不被人们所欢迎。因此,它们要想完成其不可告人的“使命”,就必须先将自身隐藏好。就目前我们对已知特洛伊木马程序的了解,特洛伊木马程序的伪装技术主要有以下几种方法[12]:

1、修改图标

特洛伊木马服务端程序常常故意伪装成了各种网页或图片等图标。用户往往

误认为这些程序对系统是无害的,因此很容易诱使其打开并将其运行。

2、捆绑于正常文件中

这种伪装手段有些类似于传统的计算机病毒程序。攻击者常常将特洛伊木马程序常捆绑到一个正常程序上。这样,一旦用户运行了这个正常程序运行,身藏其中的特洛伊木马程序就会在用户毫无察觉的情况下,偷偷地进入了系统运行。被捆绑的文件一般是可执行文件,例如,EXE、COM等类型的文件。

3、显示出错信息

一些特洛伊木马程序的设计者意识到,如果用户打开一个文件而没有任何反应,用户很可能认这就是一个特洛伊木马程序。所以,一些特洛伊木马程序会故意显示一些出错显示。当被攻击者打开特洛伊木马程序时,往往会弹出一个错误提示框(当然这是假的,只是在迷惑用户,使其误认为这是一个正常、已被损坏的、不能轻易删除的文件)。错误内容可自由定义,大多会定制成一些诸如"文件已破坏,无法打开!"之类的信息,当被害用户信以为真时,特洛伊木马程序就悄悄侵入了系统中。

4、自我销毁

当用户打开含有特洛伊木马程序的邮件或其它文件后,其中的特洛伊木马程序就会将自己拷贝到Windows的系统文件夹中(即C:\windows或C:\windows\system目录下)。但是,如果特洛伊木马程序只是如此简单的拷贝,就会造成源特洛伊木马程序文件和系统文件夹中的特洛伊木马程序文件长度的大小是一样的。那么,中了特洛伊木马程序的受害者只要检查一下近来收到的信件和下载的软件,并从中找到源特洛伊木马程序文件,然后根据源特洛伊木马程序文件的大小去系统文件夹找相同大小的文件,判断一下哪个是特洛伊木马程序文件并将其删除就行了。特洛伊木马程序的此种伪装方式恰恰就是在于弥补自身的这种缺陷。因此,具备这种伪装功能的特洛伊木马程序会在将自身安装在被害系统后,将源特洛伊木马程序文件自动销毁。这样,被害用户就很难找到特洛伊木马程序的来源了,在没有查杀特洛伊木马程序工具帮助下,就很难删除木马了。

5、更改文件名

特洛伊木马程序的编写者一定要在每次传播时,用一个与以往不同的文件名进行伪装。不过,大多特洛伊木马程序会选用一个与正常的系统文件名十分近似的文件名来故意误导用户,使用户误认为是正常的系统文件。例如,有的特洛伊木马程序会把名字改为window.exe。

3.2木马的隐藏

木马的隐蔽性是木马能否长期存活的关键,为了达到隐蔽目的,木马开发者总是采用各种先进技术来实现木马的隐藏。木马隐藏的主要方式[12]:

1、在任务栏里隐藏

这是最基本的隐藏方式。要实现在任务栏中隐藏的功能,在编程时是很容易实现的。以VB为例,在VB中,只要把form的Visible属性设置为False,ShowlnTaskBar 设为False,程序就不会出现在任务栏里。

2、隐藏端口

一台机器有65536个端口,不难发现,大多数木马使用的端口在1024以上,而且呈越来越大的趋势:当然也有占用1024以下端口的木马,但这些端口是常用端口,占用这些端口可能会造成系统不正常,木马容易暴露。现在已经有一种方法可以实现端口的使用差异比较法对木马程序进行防杀的技术探讨复用,即一个端口既可以实现正常功能,又可以用于木马通信,采用这种技术的木马特意把自己的端口设成常用端口(如:80、23等端口),达到更好的隐蔽效果。

3、在任务管理器里隐藏

查看正在运行的进程的最简单方法就是按下Crtl+Alt+Del时出现的任务管理

器。在WIN98中木马把自己设为“系统服务”就可以轻松地实现在任务管理里隐藏;在WINNT、WIN2000和WINXP中木马开发人员采用了一种更好的隐藏方式:即把木马写成动态链接库文件(dll文件),运行时将自己插入另一个进程(一般是系统进程,如explorer.exe)中,这样木马就是以线程形式而不是以进程存在的,从而实现任务管理器里的隐藏,而且,当查看当前使用的端口时,木马打开的端口对应的进程不是木马本身,而是被插入的进程,即一个正常的进程,从而也实现了端口隐藏的目的。

4、隐藏通信

隐藏通信也是木马经常采用的手段之一。任何木马运行后都要和攻击者进行

通信连接:或者通过即时连接,如攻击者通过客户端直接接入被植入木马的主机;或者通过间接通信,如通过电子邮件的方式,木马将目标主机的敏感信息传给攻击者。目前大部分木马都是采用TCP连接方式使攻击者控制主机的,这些木马在植入主机后一般会在1024以上不易发现的高端口上驻留;也有些木马采用端口复用技术,不打开新的通信端口,而选择一些常用的端口(如80)实现通信,在收到正常的HTTP 请求仍然把它交与Web服务器处理,只有在收到一些特殊约定的数据包后,才调用木马。现在有些木马采用ICMP协议转输,通过IMCP数据包进行通信控制,这样除非分析数据包里面的内容,否则很难发现木马连接。还有些木马只有收到特定的数据包才开始通信,平时处于休眠状态。

5、隐藏启动方式

木马启动的方式多种多样,但殊途同归,都为了达到一个目的:使木马的服务

端程序自动运行。常见木马启动的方式有:加载程序到启动组;将程序启动路径写到注册表的

[HKEY_LOCAL_ CHINE\Software\Microsoft\Windows\CurrentVersion\Run] (以及Runonce等):修改Boot.ini:通过注册表中的输入法键值真接挂接启动;修改Explorer.exe启动参数以及在win.ini和System.ini中的load节中添加启动项;在Autoexe.bat中添加程序等;或采用了文件关联实现木马的启动(如:冰河木马);也可利用DLL木马替换系统原有的动态连接库,使系统在装载这些连接库时启动木马(如:著名的GINA木马);还可以采用与其他可执行文件捆绑的方式,在运行捆绑文件时在后台运行。但随着计算机技术的发展,还会有更多、更隐蔽的启动方式出现。

6、隐藏传播方式

与病毒不同,木马大多没有主动传播的功能。因此,如何将木马成功植入目标主机是木马成功运行的关键。目前大多数木马采用的传播途径仍然电子邮件,但近几年,随着木马的流行,用户对木马的认识不断提高,大多用户都清楚一些关于木马和如何防治的基本知识,这种方法己经很难凑效。随着网站互动化进程的不断进步,越来越多的东西可以成为木马的传播介质,Javascript、VBScript、ActiveX几

乎每一个新功能都会导致木马的快速进化。再一个就是,利用系统漏洞进行木马传播,随着技术的不断发展,这种方法将逐步成为木马植入的主流。如通过在邮件内容内嵌WSH(Windows Script Host)脚本,用户无需打开附件,仅仅浏览邮件内容,附件中的木马就会被执行。即使用户删除了WSH功能,攻击者仍然能通过其他的系统漏洞(如MIME漏洞),在用户浏览邮件时将木马植入到计算机中运行。目前,邮件木马已经从附件走向了正文,简单的浏览也会中毒,一个Guest用户也可以很容易的通过修改管理员的文件夹设置获得管理员权限。

7、最新隐身技术

通过修改虚拟设备驱动程序(VXD)或修改动态链接库(DLL)来加载木马。这

种方法基本上摆脱了原有的木马模式一监听端口,而采用替代系统功能的方法(改写vxd或DLL文件),木马将修改后的DLL替换系统原来的DLL,并对所有的函数调用进行过滤。对于常用函数的调用,使用函数转发器直接转发给被替换的系统DLL,对于一些事先约定好的特殊情况,木马会自动执行。一般情况下,DLL只是进行监听,一旦发现控制端的请求就激活自身。这种木马没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到它。在正常运行时,木马几乎没有任何踪迹,只有在木马的控制端向被控制端发出特定的信息后,隐藏的程序才开始运行。

3.3木马常见的启动方式

木马程序也和其它的计算机软件或程序一样,也必须把自己从硬盘或网上下载下来,调入系统中运行,从而实际其功能。总体上说来,特洛伊木马程序主要有以下几种启动方式[14]:

1、随正常的程序启动而启动

一些特洛伊木马程序为隐藏自己,将自己与其它一些正常应用程序捆绑在一起。一旦用户运行被捆绑文件,特洛伊木马程序就会进入系统运行。甚至一些木马程序将自身捆绑进入系统文件。这样每次系统启动,特洛伊木马程序也会随着启动。

2、隐藏在配置文件(Autoexec.bat和Config.sys)中

在Windows系统中,Config.sys文件主要是设置一些启动参数和加载驱动程序。而Autoexec.bat是系统开机自动运行的批处理文件。在特洛伊木马程序出现的前期,一些狡猾的特洛伊木马程序知道,一般用户平时使用的是图形化界面的操作系统,对于那些重要的系统配置文件几乎是一窍不通,故而也不曾亲身接触过。这样,这些系统配置文件恰好成为了这些特洛伊木马程序一处绝好的藏身之地。而且特洛伊木马程序还利用配置文件的特殊功能,很容易就能使自己在系统中运行、发作,从而偷窥、监视被害者的秘密或控制被害用户的计算机系统。

3、潜伏在Win.ini中

在windows系统中,Win.ini文件中提供了WIN 16程序需要的字体设置、文

件关联等信息,主要完成GUI(图形用户接口)的相应的环境配置。特洛伊木马程序要想达到控制或者监视计算机的目的,就必须要运行,然而又不指望用户自运行特洛伊木马程序。所以,特洛伊木马程序就必须在系统中找一个既安全能在统启动时自动运行的地方。而在Windows系统中,Win.ini文件是特洛伊木马程又一经常隐藏的地方。在Win.ini文件的[windows]字段中,它有两行启动命令,一行是“load=”,另一行是“run=”。在一般情况下,这两个字段的“=”后面是空白的。如果它们有后跟程序,比如说,run=c:\windows\files.exe或load=c:\windows\files.exe。这个file.exe就很可能是特洛伊木马程序了。

4、在System.ini中藏身

在windows系统中,System.ini是WIN 16的系统硬件配置文件,WIN 9X又为其增加了一些新的设置,以保证WIN 16和WIN 32相互协调,使WIN 16可以调用VXD(虚拟设备驱动程序),这一点在https://www.360docs.net/doc/a815518336.html,提供的系统调试参数中已充分体现。另外GUI(图形用户接口)的外壳程序(SHELL,即界面程序)、鼠标、显示器等驱动程序必须通过System.ini设置才能加载使用。这些均决定了SYSTEM.INI是绝对不能删除的。这也充分证明了WIN 9X是一个WIN 16和WIN 32的混合系统,也揭示了WIN 9X系统先天脆弱的根本原因。Windows安装目录下的System.ini也是特洛伊木马最喜欢隐蔽的地方之一。在这个文件中,有一个[boot]字段,这个字段也是特洛伊木马程序经常用来自启动的地方。另外,在System.ini中,[386Enh]字段中的“driver=路径\程序名”,也有可能被特洛伊木马程序所利用。再有,在System.ini中的[mic]、[drivers]、[drivers32]三个字段也是起着加载驱动程序的作用,因此也是增添特洛伊木马程序的好场所。

5、伪装成普通文件

相对而言,这种伪装方式出现的比较晚,不过现在却是十分流行,对于不熟悉操作系统的普通用户来说,很容易上当。这个伪装方式的具体方法就是把可执行文件伪装成图片或文本—在程序中把图标改成Windows的默认图片图标,再把文件名改为*.bmp.exe。由于Windows系统默认设置是"不显示已知的文件后缀名",文件将会显示为*.bmp。用户一不注意点了这个图标,那么特洛伊木马程序就进入系统运行。

6、内置到注册表中

在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在windows 所在的文件夹中。它们都是由二进制数据组成。System.dat包含系统硬件和软件的设置,User.dat保存着与用户有关的信息,例如,资源管理器的设置,颜色方案以及网络口令等等。其中,注册表中的

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值;

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值;

HKEY-USERS\.Default\Software\Microsoft\Windows\CurrentVersion下所有以“run”开头的键值都是特洛伊木马程序自动运行的好地方。

7、隐形于启动组中

有些特洛伊木马程序比较特殊,它们并不在乎能否长期隐藏自己,而是只能运行一次就足够达到其目的了。因此它就将自己简单的写入了程序中的启动项目组中,其对应的文件夹为:C:\windows\startmenu\programs\startup,在注册表中的位置:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders Startup="C:\windows\startmenu\programs\startup"。

8、隐蔽在Winstart.bat中

Winstart.bat也像Autoexec.bat一样,是一个能自动被Windows加载运行的

文件。它多数情况下为应用程序及Windows自动生成,在执行了https://www.360docs.net/doc/a815518336.html,并加载了多数驱动程序之后开始执行。由于Autoexec.bat的功能可以由Winstart.bat代替完成,因此特洛伊木马程序完全可以像在Autoexec.bat中那样被加载运行。

9、设置在超级连接中

随着互联网的不断普及与技术的不断发展,上网人数不断增加,各种网站大量的出现。因此,很多特洛伊木马程序就充分运用了人们喜爱上网的习惯,特洛伊木马程序的制作者在网页上放置各种恶意代码,并使用各种方法引诱用户点击,然后在用户的系统中运行特洛伊木马程序,达到其侵入的目的。

3.4远程控制技术

远程计算机控制指的是基于一定的物理网络(例如INTERNET网或者企业、校园的局域网络),通过一定的网络协议(例如TCP/IP协议),对分布在网络上的计算机实现远程控制、协同工作。这种控制是通过对基于网络通讯的标准通讯协议和对目标机的操作系统响应方式的准确控制来实现的。

3.4.1IP协议

IP协议是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP、IGMP 数据报都以口数据报格式传输。

IP提供不可靠、无连接的数据报传送服务[15]。

不可靠(unreliable)的意思是它不能保证口数据报能够成功地到达目的地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,口有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。

无连接(connectionless)这个术语的意思是m并不维护任何关于后续数据报的状态信息。

每个数据报的处理是相互独立的。这也说明,口数据报可以不按发送顺序接收。如果一个信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可能在A到达之前先到达。

IP协议对于网络通信具有非常重要的意义,网络中的计算机通过安装IP软件,使许许多多的局域网构成了一个庞大而又严密的通信系统,从而使Internet看起来好像是真实存在的。实际上,它仅仅是利用IP协议就把全世界上所有愿意接入Internet的电脑连接了起来。

3.4.2 TCP协议

TCP协议位于传输层,它使用网络层(口)为用户提供一种面向连接的、可靠的字节流服务[16]。

TCP是在RFC793中正式定义的。随着时间的推移,检测出了各种各样的错误和不一致,并且在一些领域对TCP的要求也有所变化。这些说明和一些错误的解决方法详细地记载在RFCll22中。在RFCl323中给出了对TCP的一些功能扩展。

面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交

换数据之前必须先建立一个TCP连接:这一过程和打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。

在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。

TCP通过下列方式来提供可靠性:

1、应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同。由TCP传递给口的信息单位称为报文段或者段(segment)。

2、当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,重发这个报文段。这涉及TCP协议中自适应的超时及重传策略。

3、当TCP收到发自TCP连接另一端的数据,它将发送确认消息。

4、TCP将保持它首部和数据的校验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。

程序的设计艺术与方法

程序设计艺术与方法 实验一 STL 的熟悉与使用 1.实验目的(1)掌握 C++中 STL 的容器类的使用。(2)掌握C++中 STL 的算法类的使用。 2.试验设备硬件环境:PC 计算机软件环境:操作系统:Windows 2000 / Windows XP / Linux 语言环境:Dev cpp / gnu c++ 3.试验容 (1) 练习 vector 和 list 的使用。定义一个空的 vector,元素类型为 int,生成 10 个随机数插入到 vector 中,用迭代器遍历 vector 并输出其中的元素值。在vector 头部插入一个随机数,用迭代器遍历 vector 并输出其中的元素值。用泛型算法find 查找某个随机数,如果找到便输出,否则将此数插入 vector 尾部。用泛型算法 sort 将 vector 排序,用迭代器遍历 vector 并输出其中的元素值。删除 vector 尾部的元素,用迭代器遍历 vector 并输出其中的元素值。将 vector 清空。定义一个 list,并重复上述实验,并注意观察结果。 (2) 练习泛型算法的使用。 - 149 定义一个 vector,元素类型为 int,插入 10 个随机数,使用 sort 按升序排序,输出每个元素的值,再按降叙排序,输出每个元素的值。练习用 find 查找元素。用 min 和max 找出容器中的小元素个大元素,并输出。 源代码: #include #include #include #include #include using namespace std; vector myV; bool sortup(int v1,int v2) { return v1::iterator it1; for (it1=myV.begin();it1!=myV.end();it1++) { cout<<(*it1)<

计算机网络--简单聊天程序的设计与实现

实验报告 课程计算机网络实验名称简单聊天程序的设计与实现第 1 页 一、实验目的 1.熟悉VisualC++的基本操作;掌握最基本的Client/Server(客户机/服务器)模式 的网络编程技术,并在此基础上实现更为复杂的网络编程。 2.基本了解基于对话框的windows应用程序的编写过程。 3.对于Windows Socket编程建立初步概念。 二、实验内容 1、按实验步骤中参考程序使用VC++设计出程序; 2、在第1步的基础上使用VC++或其他工具设计出一个能实现两个人聊天的网络程序。 三、实验原理 1.Windows Socket和套接字的基本概念; 程序分为服务端和客户端两个,其主要工作过程如图1所示: 服务器端:服务器程序首选启动,通过调用socket()函数建立一个套接字,然后调用bind()函数使套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请示队列的长度,之后就调用accept()来接收连接。客户机端:客户机程序也使用socket()建立套接字,然后调用connect()函数和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。 最后,等数据传送结束后,双方调用close()关闭套接字。 四、实验环境和实验工具 实验环境:Windows 平台、实验工具:VC++ 五、实验步骤 服务器端程序 (1)运行VC++,选择File --->New,弹出如图2所示的窗口。 (2)创建一个名为CS的工程:选中Projects中的MFC AppWizard[exe],在Project name中 输入Server,在Location中选择存储的目录,如本例中为D:\VC temp\.接着点击OK。 (3)在弹出的窗口中选择Dialog based,然后点击“Next”。出现图3所示的窗口,选择Windows Sockets,并输入服务器,点击“Next”. 如果忘了添加Windows Sockets选项,可以在文件头部添加下列语句进行补救: #include "Winsock.h" #include "Ws2tcpip.h" #pragma comment(lib,"Ws2_32.lib" ) 注:这些语句支持winsock2。 (4)其余窗口一直默认,点击“Next”直至“Finish”

《设计程序与方法》课程标准模板

《设计程序与方法》课程标准 课程编码[ ] 适用专业[ ] 课程承担单位[ ] 学时[ ] 制定人[ ] 制定日期[ ] 审核人[ ] 审核日期[ ] 批准人[ ] 批准日期[ ] 一、课程性质与作用 本课程是工业设计专业的一门专业基础课,是理论与实践相结合的课程。本课程采用任务体系教学,通过学习工业产品设计的任务与原则,将产品形态设计、产品造型的美学法则、产品色彩设计的基本理论、与工业产品造型设计有关的人机工程学知识、产品造型设计的表现技法和主要程序,以及产品造型的质量评价等知识融会贯通,掌握工业产品设计的基础理论和方法,探求人一机一环境相互协调的设计思想,学会一般工业产品的设计程序和方法,能与他人合作完成工业产品设计任务,配合其他人员完成一般家电产品、家具产品、电子设备等工业产品的开发和设计工作。 本课程的主要就业岗位为工业设计师、产品设计师,以“电热水壶设计”、“移动硬盘造型设计”项目为载体,将工业设计方法、程序、市场调研、专利等知识融到项目中进行讲解。本课程是工业设计课程体系中职业技能的重要内容,是工业设计专业的核心课程之一,是学生必须掌握的职业技能要素,是达到工业设计职业标准的前提和基础。 本课程需要前期学习《工业设计概论》、《设计表现技法》课程,完成前导任务是“本专业相关的美术基础训练”,为本课程学习提供理论知识与必备技能。本课程为后续课程《产品造型设计》、《产品结构与创新设计》提供必须的专业基础知识。 二、课程目标 本课程的核心能力是产品的设计流程与设计方法,这就要求学生先掌握必要的设计手段和设计理论知识,继而获得岗位所需的实际产品设计知识和技能,为后续课程的学习,为将来走上社会从事产品设计、工业设计等工作打下坚实的基础。 (一)知识目标 1.了解工业设计的各种方法; 2.学会使用有效的方法和流程进行工业产品的策划和设计; 3.能与团队协作完成完整的工业产品设计任务。 (二)能力目标 1.学会工业产品形态设计的思维方法和创造方法;

C+++网络聊天室设计报告和源程序

目录 1.需求分析 (2) 2.相关知识............................................... - 3 -2.1W INSOCK介绍 (3) 2.2MFC类CA SYNCSOCKET和CS OCKET (3) 2.3利用CS OCKET进行有连接的通信 (4) 3.详细设计................................... 错误!未定义书签。 3.1客户端的实现 (4) 3.2服务端的实现 (8) 4.程序运行结果.......................................... - 13 -4.1服务器端 .. (13) 4.2客户端 (13) 5.参考文献 ................................................................................................................... 错误!未定义书签。

1.需求分析 当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。 在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。 聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。 聊天室的设计目标 本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端,主要功能为: 服务器端功能: 1、初始化socket, 创建服务器端。 2、维护一个链表,保存所有用户的IP地址、端口信息。 3、接受用户传送来的聊天信息,然后向链表中的所用用户转发。 4、接受用户传送来的连接判断命令,并向用户发出响应命令。 客户端功能: 客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。 通过本课题的毕业设计,可以比较深入的了解和掌握WINSOCK控件基本属性、方法和事件,理解网络聊天通信的概念,输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。

词法分析程序设计与实现

` 实验一词法分析程序设计与实现 一、实验目的及容 调试并完成一个词法分析程序,加深对词法分析原理的理解。 二、实验原理(状态转换图) 1、C语言子集 (1)关键字: begin if then while do end 所有关键字都是小写。 (2)运算符和界符: := + – * / < <= <> > >= = ; ( ) # (3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 文档Word

` 3、词法分析程序的功能 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 二、软件平台及工具 PC机以及VISUAL C++6.0软件。 三、实验方法、步骤(或:程序代码或操作过程)(1)程序代码: #include #include #include char prog[80],token[8]; char ch; int syn,p,m=0,n,row,sum=0; char *rwtab[6]={egin,if,hen,while,do,end}; void scaner() { for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; while(ch==' ') { ch=prog[p]; p++; } if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) 文档Word ` {

基于MFC的聊天程序的设计说明

聊天程序设计报告 ----网络编程设计报告 目录 【1】设计原理————————————————————————1 【2】功能描述————————————————————————1 【3】详细设计————————————————————————2 【4】工作进度————————————————————————7 【5】设计总结————————————————————————8 【6】使用方法————————————————————————9 【7】附录——————————————————————————9 一. 设计原理 计算机网络技术发展至今已经大大超越了人们当初的预想,无论是人们日常的工作还是学习,我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件也同时诞生,而且为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾讯QQ、微软的MSN、中国移动的Fetion等,都是做的比较成功的实时聊天工具。随着网络的日益普及,各种聊天工具也层出不穷,但当我们学习了《网络编程》这门课程之后,我们便会觉得,其实要实现简单的网络通讯其实并不难。接下来的课程设计就是针对一个简单的网络聊天程序,利用MFC为开发工具,实现基本的通讯功能。 此程序主要分为两个模块:服务线程和聊天线程。服务线程用于提供一个网络端口,等待客户线程发出请求,登录到作为服务端的程序,然后进行网络通讯和消息的收发;客户端可通过服务器端的IP地址发送连接请求,然后建立连接,进行通讯。整个程序的主体使用了CSocket类的方法,实现了网络通讯聊天。 二.功能描述(需求分析) 1、一对一会话。此程序既可以作为服务器,也可以作为客户端。当发起聊

词法分析程序设计与实现

实验一词法分析程序设计与实现 一、实验目的及内容 调试并完成一个词法分析程序,加深对词法分析原理的理解。 二、实验原理(状态转换图) 1、C语言子集 (1)关键字: begin if then while do end 所有关键字都是小写。 (2)运算符和界符: := + –* / < <= <> > >= = ; ( ) # (3)其他单词是标识符(ID)和整型常数(NUM),通过以下正规式定义:ID=letter(letter| digit)* NUM=digit digit * (4)空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。 2、各种单词符号对应的种别码 3、词法分析程序的功能

输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 二、软件平台及工具 PC机以及VISUAL C++6.0软件。 三、实验方法、步骤(或:程序代码或操作过程) (1)程序代码: #include #include #include char prog[80],token[8]; char ch; int syn,p,m=0,n,row,sum=0; char *rwtab[6]={"begin","if","then","while","do","end"}; void scaner() { for(n=0;n<8;n++) token[n]=NULL; ch=prog[p++]; while(ch==' ') { ch=prog[p]; p++; } if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { m=0; while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) { token[m++]=ch; ch=prog[p++];

特洛伊木马原理介绍

1. 特洛伊木馬程式原理7n 一、引言otnpy 特洛伊木馬是Trojan Horse 的中譯,是借自"木馬屠城記"中那只木馬的名稱。古希臘有大軍圍攻特洛伊城,逾年無法攻下。有人獻計製造一隻高二丈的大木馬假裝作戰馬神,攻擊數天後仍然無功,遂留下木馬拔營而去。城中得到解圍的消息,及得到"木馬"這個奇異的戰利品,全城飲酒狂歡。到午夜時份,全城軍民盡入夢鄉,匿於木馬中的將士開暗門垂繩而下,開啟城門及四處縱火,城外伏兵湧入,焚屠特洛伊城。後世稱這只木馬為"特洛伊木馬",現今電腦術語借用其名,意思是"一經進入,後患無窮"。特洛伊木馬原則上它和Laplink 、PCanywhere 等程式一樣,只是一種遠端管理工具。而且本身不帶傷害性,也沒有感染力,所以不能稱之為病毒(也有人稱之為第二代病毒);但卻常常被視之為病毒。原因是如果有人不當的使用,破壞力可以比病毒更強。iagavi ?摩尼BBS網路社區-- 音樂.歌詞.小遊戲.MTV.桌布.圖庫.笑話.影片.星座.下載.動漫畫.免費留言板申請BBS網路社區-- 音樂.歌詞.小遊戲.MTV.桌布.圖庫.笑話.影片.星座.下載.動漫畫.免費留言板申請E(/I 二、木馬攻擊原理cHt 特洛伊木馬是一個程式,它駐留在目標電腦裡,可以隨電腦自動啟動並在某一連接進行偵聽,在對接收的資料識別後,對目標電腦執行特定的****作。木馬,其實只是一個使用連接進行通訊的網路客戶/伺服器程式。e2/ 基本概念:網路客戶/伺服器模式的原理是一台主機提供伺服器(伺服端),另一台主機接受伺服器(客戶端)。作為伺服端的主機一般會開啟一個預設的連接埠並進行監聽(Listen),如果有客戶端向伺服端的這一連接埠提出連接請求(Connect Request),伺服端上的相對應程式就會自動執行,來回覆客戶端的請求。對於特洛伊木馬,被控制端就成為一台伺服器。DJ ?摩尼BBS網路社區-- 音樂.歌詞.小遊戲.MTV.桌布.圖庫.笑話.影片.星座.下載.動漫畫.免費留言板申請 G5 iCf 三、特洛伊木馬隱身方法= 木馬程式會想盡一切辦法隱藏自己,主要途徑有:在工作程序中隱形:將程式設為「系統伺服器」可以偽裝自己。當然它也會悄無聲息地啟動,木馬會在每次使用者啟動時自動載入伺服器端,Windows系統啟動時自動載入應用程式的方法,「木馬」都會用上,如:win.ini、system.ini、註冊表等等都是「木馬」藏身的好地方。/x$l_ 在win.ini檔案中,在[WINDOWS]下面,「run=」和「load=」是可能載入「木馬」程式的途徑,一般情況下,它們的等號後面什麼都沒有,如果發現後面跟有路徑與檔案名稱不是您熟悉的啟動檔案,電腦就可能中「木馬」了。當然也得看清楚,因為好多「木馬」,如「AOL Trojan木馬」,它把自身偽裝成command.exe 檔案,如果不注意可能不會發現它不是真正的系統啟動檔案。g(hmry 在system.ini檔案中,在[BOOT]下面有個「shell=檔案名稱」。正確的檔案名稱應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名」,那麼後面跟著的那個程式就是「木馬」程式,就是說已經中「木馬」了。H 在註冊表中的情況最複雜,使用regedit指令開啟註冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE \Software \Microsoft \Windows \Current Version \Run」目錄下,檢視鍵值中有沒有自己不熟悉的自動啟動檔案,副檔名為EXE,這裡切記:有的「木馬」程式產生的檔案很像系統自身檔案,想使用偽裝矇混過關,如「Acid Battery v1.0木馬」,它將註冊表「HKEY-LOCAL-MACHINE \SOFTWARE

实验6 特洛伊木马

实验6 特洛伊木马 6.1 实验类型 综合型,2学时 6.2 实验目的 理解木马工作的原理;掌握典型的木马清除方法。 6.3 实验要求与内容 (1)利用灰鸽子木马模拟木马的工作流程,要求能够完成以下任务: ●生成木马服务端,尽可能的生成能诱惑用户的服务端,比如修改安装路径, 修改图标,修改服务端名称,修改服务名称等。 ●控制对方电脑,要求能够浏览对方的文件,修改对方的注册表,终止对方的 进程,捕获对方的屏幕等操作 (2)清除木马,受害者根据灰鸽子木马的原理清除掉本机上的木马,包括程序,服务等 6.4 实验设备 ●两人合作完成,其中一人为控制端,另一人为服务器端 ●灰鸽子远程控制2007VIP疯狂魔鬼破解版 ●Windows XP Professional作为客户操作系统(Guest OS),要求关闭防火墙功能 6.5 相关知识 1.什么是木马(Trojan)? ?基于远程控制的黑客工具 ?恶意程序,非法获取授权权限,肆意篡改用户电脑中的文件,注册表,控制鼠标,截取用户信息 ?木马一般是C/S(客户/服务器)结构,控制程序处于客户端,被控制程序处于服务器端。 2.木马系统软件一般由木马配置程序、控制程序和木马程序(服务器程序)三部分组成。 配置程序 木马程序 控制程序

3.木马实施入侵的基本步骤 4.特洛伊木马具有如下特性: 隐蔽性,主要体现在意下几个方面: (1)启动的隐蔽性 (2)运行的隐蔽性 (3)通信的隐蔽性 开机自动运行 欺骗性,比如JPEG 木马 自动恢复,多重备份,相互恢复 非授权 5. 木马按照传输方式进行分类: 主动型 反弹端口型:木马服务器主动连接控制端端口,一般去连接80端口 嵌入式木马 6. 6.6 实验指导 特别注意:本次实验需要分析的病毒具有破坏性,仅限于信息安全实验室内使用。请严格遵守《信息安全实验室操作规程》,切勿拷贝、传播等,否则后果自负。 6.6.1 特洛伊木马的配置步骤 1)生成服务端 点击“配置服务程序”,在“IP 通知HTTP 地址”那一栏填入控制端的IP 地址(这里一定要填正确,否则木马不能上线,IP 地址是以10开头的),通过设置“安装选项”,“启动项设置”等可以构造出迷惑用户的木马服务端程序。 木马信息控制端Internet 服务端 ①配置木马②传播木马 ③运行木马④信息反馈⑤建立连接 ⑥远程控制

剖析特洛伊木马报告

目录 一木马的概述 (1) 二基础知识 (3) 三木马的运行 (4) 四信息泄露 (5) 五建立连接 (5) 六远程控制 (6) 七木马的防御 (7) 八参考文献 (7)

一 .木马的概述 特洛伊木马,英文叫做“Trojanhorse”,其名称取自希腊神话的特洛伊木马记,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,对此无可奈何;所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。 从木马的发展来看,基本上可以分为两个阶段,最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。而后随着Windows平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练地操作木马,相应的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。 木马的种类繁多,但是限于种种原因,真正广泛使用的也只有少数几种,如BO,Subseven,冰河等。 1、BO2000有一个相当有用的功能,即隐藏木马进程,一旦将这项功能设备为enable,用ATM察看进程时,BO的木马进程将不会被发现。 2、在版本较高的Subseven中除常规的触发条件外,还提供有less know method和not know method两种触发方法。选择前者,运行木马后将SYSTEM.INI 中的Shell改为Shell=explorer.exe msrexe.exe,即用SYSTEM.INI触发木马,选择后者则会在c:\Windows\目录下创建一个名为Windows.exe程序,通过这个程序来触发木马,并将\HKEY-ROOT\exefile\shell\open\command\的键值“%1”、“%X”改为“Windows.exe”%1”、“%X,也就是说,即使我们把木马删除了,只要一运行EXE文件,Windows.exe马上又将木马安装上去,对于这种触发条件,我们只要将键值改回原值,并删除Windows.exe即可。 3、冰河的特殊触发条件和Subseven极为相似,它将\

特洛伊木马工作原理分析及清除方法

特洛伊木马工作原理分析及清除方法 1 什么是特洛伊木马 特洛伊木马(Trojan Horse,以下简称木马)的名称取自希腊神话的特洛伊木马记。木马就是指那些内部包含为完成特殊任务而编制的代码的程序,这些特殊功能处于隐藏状态,执行时不为人发觉。特洛伊木马是一种基于远程控制的工具,类似于远端管理软件,其区别是木马具有隐蔽性和非授权性的特点。所谓隐蔽性是指木马的设计者为防止木马被发现,会采用多种手段隐藏木马;非授权性是指一旦控制端与服务端建立连接后,控制端将窃取服务端的密码及大部分操作权限,包括修改文件、修改注册表、重启或关闭服务端操作系统、断开服务端网络连接、控制服务端的鼠标及键盘、监视服务端桌面操作、查看服务端进程等。这些权限并不是服务端赋予的,而是通过木马程序窃取的。 2 木马的工作原理 完整的木马系统由硬件和软件二部分组成。硬件部分是建立木马连接所必须的硬件实体,包括控制端、服务端和数据传输的网络载体(Internet/Intranet);软件部分是实现远程控制所必须的软件程序,包括控制端程序和木马程序。利用木马窃取信息、恶意攻击的整个过程可以分为3个部分,下面详细介绍。 2.1 获取并传播木马 木马可以用C或C++语言编写。木马程序非常小,一般只有3~5KB,以便隐藏和传播。木马的传播方式主要有3种:(1)通过E-MAIL。(2)软件下载。(3)依托病毒传播。200 1年4月赛门铁克防病毒研究中心发现了植入木马程序的新蠕虫病毒(W32.BACTRANS.13 312@MM)。该病毒一旦被执行,木马程序就会修改注册表键值和win.ini文件。当计算机被重启时,该蠕虫会等候3 分钟,然后利用MAPI, 回复所有未读邮件,并将自己作为邮件的附件,使用不同的名称继续传播。 2.2 运行木马 服务端用户在运行木马或捆绑了木马的程序后,木马首先将自身拷贝到WINDOWS的系统文件夹中(C:\WINDOWS或C:\WINDOWS\SYSTEM目录下),然后在注册表、启动组和非启动组中设置好木马触发条件,这样木马的安装就完成了。以后,当木马被触发条件激活时,它就进入内存,并开启事先定义的木马端口,准备与控制端建立连接。 2.2 建立连接,进行控制 建立一个木马连接必须满足2个条件:(1)服务端已安装有木马程序。(2)控制端、服务端都要在线。初次连接时还需要知道服务端的IP地址。IP地址一般通过木马程序的信息反馈机制或扫描固定端口等方式得到。木马连接建立后,控制端端口和木马端口之间将会有一条通道,控制端程序利用该通道与服务端上的木马程序取得联系,并通过木马程序对服务端进行远程控制。 3 用VB6.0编写的木马程序 下面用VB6.0编写的一个木马程序来说明木马程序的工作原理。 (1)用VB建立2个程序:客户端程序Client和服务器端程序Server。 (2)在Client工程中建立一个窗体,加载WinSock控件,称为Win_Client,协议选择TCP。

毕业设计-聊天室的设计与实现

编号: 毕业论文 题目:聊天室的设计与实现 院(系): 专业:计算机及应用 学生姓名:唐靖琳 学号: 030111301444 指导教师:李志远 职称:教授 题目类型:理论研究实验研究工程设计工程技术研究软件开发 2012年4月15日

随着Internet的普及,很多人已经不满足于仅仅上网冲浪,而希望能参与其中的开发与研究。怎样做好网页便是人们所渴望的事情。想做好一个网页就要选好工具,我的课题是聊天室的设计与制作。因此,我这里选择的开发软件是Macromedia Dreamweaver 8。Macromedia Dreamweaver 8目前作为最主流的ASP开发工具,它可以将前台界面设计和后天程序设计充分结合,包括asp等。而微软的asp和目前推广的https://www.360docs.net/doc/a815518336.html,,是广大网页后台设计师的首选,其应在IIS服务器环境中运行并通过调用ACCESS数据库来实现。 在线聊天室是一种十分普及的动态交互系统,是一种比较直观的且容易接受的交流方式,特别对于刚刚接触的新网民,在线聊天室相对于其他网络交流方式来说有很多不可比拟的优势,比如操作简单,界面简单,信息显示十分直观,十分适合新手;信息的及时传递无延迟,用户可以十分自如地和他人交流而无须等待。这些优点也是聊天室出现这么长时间以来的仍然被广泛使用的原因。至今在线聊天室仍是被很多网站作为吸引网民的利器. 本人制作的是在线聊天室的功能实现,实现用户的登陆和注册,用户在线聊天功能,私聊功能及管理员管理用户功能。聊天的界面有框架构成的。 建设此聊天室,主要目的是为了能够和相同爱好的朋友提供一个实时交流的平台,而不会因为距离而疏远了。 关键词:聊天室;ASP IIS服务器;ACCESS数据库;Macromedia Dreamweaver 8

设计方法与程序

1.绿色设计的定义 绿色设计(Green Design, GD) ,通常包括生态设计(Ecological Design, ED)、环境设计(Design for Environment)和生命周期设计(Life Cycle Design)或环境意识设计(Environmental Conscious Design, ECD)等,是指在产品的整个生命周期内,着重考虑其环境属性(可拆卸性、可回收性、可维护性、可重复利用性等),并将其作为设计目标,在满足环境目标要求的同时,保证产品应有的功能、使用寿命、质量等。 1.虚拟现实 虚拟现实(Virtual Reality, VR)是一种先进的计算机用户接口技术,它将人和外部世界隔离开来,通过给用户同时提供诸如视觉、听觉和触觉等各种直观、自然的实时感知交互手段,使用户具有身临其境的感觉,从而使人们能够更逼真地观察所研究的对象,更自然、更真实地与对象进行交互操作。 总结起未,虚拟现实系统具有以下几个基本特点: A.沉浸感(Immersion) B.交互性(Interaction) C.自主性(Autonomy) D.想象力(Imagination) E.多感知性(Multi perceives) 逆向工程技术(Reverse Engineering, RE),也称反求工程、反向工程等,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程。 一般来说,逆向工程的工作内容主要包括产品造型数据反求、工艺反求和材料反求等几个方面,在工业设计领域的实际应用中,主要包括以下几个方面: (1)数字化模型的检测(2)新型外观的设计,主要用于加快产品的改型或仿型设计(3)损坏或磨损外观造型的还原,如艺术品、文物的修复等。 通用设计(Universal Design) 又称全民设计、共用性设计,是无障碍设计的扩展,指产品或建筑等人造物品无须改良或特别设计就能为所有人使用。通用设计的产品在设计时基于身体有障碍人士的使用特点,使得其产品同时也能被所有人更容易的使用。 总体上说,将产品开发的流程分为寻找设计突破口、确定设计方案、实现设计创意和实现商业价值四个阶段。 1,寻找设计突破口2.确定设计方案3.实现设计创意4.实现商业价值 不同产品的设计程序也不尽相同,不存在唯一确定的设计程序,不过大多数设计工作在程序上却趋干一致,本讲义将此程序分为三个阶段,即需求问题化、问题方案化与方案视觉化。 1.需求问题化 2.问题方案化 3.方案视觉化 技术导向型产品的主要特征是,其核心、的获利能力基于它的技术性能或实现特定技术性能的能力。虽然这种产品也需要具有美学性和人机交互性,但顾客在购买这种产品时主要还是基于它的技术性能。对于技术驱动型产品的开发工作来说,工程或技术的要求是主要的,并主导着产品的开发工作。这样,工业设计的角色就限于对核心技术的包装,即设计产品外观和保证产品能向顾客传达它的技术功能和人机交互模式。 顾客导向型产品核心的获利能力来自于它的用户界面的质量和外观的美学性。这种产品与用户有很强的交互关系。对于开发人员来说.工业设计方面的考虑就比技术要求更重要。虽然工程设计对于决定这类产品的技术特征仍是很重要的,但

简易聊天应用程序的设计与实现

Java网络程序设计大作业分组报名表

目录 一、团队介绍及人员分工..................................... 错误!未定义书签。 团队介绍 .............................................. 错误!未定义书签。 人员分工 .............................................. 错误!未定义书签。 二、作品概述............................................... 错误!未定义书签。 创作背景 .............................................. 错误!未定义书签。 功能概要 .............................................. 错误!未定义书签。 相关技术 ............................................... 错误!未定义书签。 作品可行性分析 ........................................ 错误!未定义书签。 三、需求分析............................................... 错误!未定义书签。 功能性需求 ............................................ 错误!未定义书签。 非功能性需求 .......................................... 错误!未定义书签。 四、作品实现............................................... 错误!未定义书签。 服务端界面实现 ......................................... 错误!未定义书签。 客户端界面实现 ......................................... 错误!未定义书签。 登录实现 ............................................... 错误!未定义书签。 聊天功能实现 .......................................... 错误!未定义书签。 退出功能实现 .......................................... 错误!未定义书签。 五、作品设计、实现难点分析................................. 错误!未定义书签。 难点分析 .............................................. 错误!未定义书签。 解决方案 .............................................. 错误!未定义书签。 测试结果 .............................................. 错误!未定义书签。

简易聊天应用程序的设计与实现模板

简易聊天应用程序的设计与实现

Java网络程序设计大作业分组报名表

目录 一、团队介绍及人员分工.............................................. 错误!未定义书签。 1.1 团队介绍............................................................. 错误!未定义书签。 1.2 人员分工............................................................. 错误!未定义书签。 二、作品概述 ................................................................. 错误!未定义书签。 2.1 创作背景............................................................. 错误!未定义书签。 2.2 功能概要............................................................. 错误!未定义书签。 2.3相关技术............................................................. 错误!未定义书签。 2.4 作品可行性分析 ................................................. 错误!未定义书签。 三、需求分析 ................................................................. 错误!未定义书签。 3.1 功能性需求......................................................... 错误!未定义书签。 3.2 非功能性需求 ..................................................... 错误!未定义书签。 四、作品实现 ................................................................. 错误!未定义书签。 4.1服务端界面实现 ................................................. 错误!未定义书签。 4.2客户端界面实现 ................................................. 错误!未定义书签。 4.3登录实现............................................................. 错误!未定义书签。

特洛伊木马术攻击方法和对它的防范对策

特洛伊木马术攻击方法和对它的防范对策 “木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己, 这是最基本的只要把Form的Visible属性设为False、ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。 在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。 当然它也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端, “木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上, 如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。下面具体谈谈“木马”是怎样自动加载的。 在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。 一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件, 你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”, 它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。 在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”, 而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击 至:“HKEY-LOCAL-MACHINE”目录下, 查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件, 想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表 “HKEY-LOCAL-MACHINE”下的Explorer 键值 改为Explorer=“C:.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。 当然在注册表中还有很多地方都可以隐藏“木马”程序, 如:“HKEY-CURRENT-USER”、“HKEY-USERS\u65290***”的目录下都有可能, 最好的办法就是在“HKEY-LOCAL-MACHINE”下找到“木马”程序的文件名,再在整个注册表中搜索即可。 知道了“木马”的工作原理,查杀“木马”就变得很容易,如果发现有“木马”存在, 最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对你进行攻击。 然后编辑win.ini文件,将[WINDOWS]下面,“run=“木马”程序”或“load=“木马”程序”更改为“run=”和“load=”; 编辑system.ini文件,将[BOOT]下面的“shell=…木马?文件”,更改 为:“shell=explorer.exe”;在注册表中, 用regedit对注册表进行编辑,先在“HKEY-LOCAL-MACHINE”下找到“木马”程序的文件名, 再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是: 有的“木马”程序并不是直接将“HKEY-LOCAL-MACHINE”下的“木马”键值删除就行了, 因为有的“木马”如:BladeRunner“木马”,如果你删除它,“木马”会立即自动加上,

基于android平台的聊天软件设计与实现 大学论文

毕业论文(设计) 题目基于android平台的聊天软件设计与实现学院电气与电子信息学院 专业通信工程年级 2012级 学生姓名 xxxx 学号 xxxxx 指导教师

基于android平台的聊天软件设计与实现 通信工程专业 【摘要】聊天工具又称IM软件或者IM工具,主要提供基于互联网络的客户端进行实时语音、文字传输。这是一种可以让使用者在网络上建立某种私人聊天室的实时通讯服务,本课题主要研究基于Android的移动聊天系统,开发出界面简洁,用户易操作的即时通信聊天软件。主要功能:用户注册,登录,好友一对一聊天,群组聊天。在该即时通信工具中客户端之间通过服务器对数据的转发实现相互通信。 本文首先概述了IM聊天工具的背景,其次是课题的目的及意义,然后介绍了软件开发的环境和开发工具及其技术,给出了软件的系统架构,各个模块的流程图及用例,在Eclipse中使用Java语言实现了APP各个功能模块, 该APP的功能主要包括用户登录、注册、聊天框架、通讯录管理、个人信息管理等功能模块。 【关键词】Android 通信聊天软件注册登录

四川大学锦江学院毕业论文(设计) 【Abstract】The main research topics of the graduation Android-based mobile chat system, according to its architecture and design principles developed interface is simple and easy to operate mobile instant messaging chat tools. The main function of the chat tool: user registration, login, friends one-on-one chat, group chat. Data transmission in the real-time communication tools Socket Programming. Communicate with each other on the data forwarding between the client through the server. The paper first outlines the background of the IM chat tool, followed by the purpose and significance of the issues, and then describes the software development environment and the development of tools and technology, the software system architecture, the flow chart of each module and use cases, and then detailed change instant messaging tool design and implementation, and finally a simple test system. 【Keywords】Android; communication; chat software; sign; log in

相关文档
最新文档