本文目录一览:
什么是木马,它都有些什么特性,我该怎么识别它,
IT168
对于木马,我们大家基本都听说过,但怎样识别木马、怎样避免自己的机子被种植木马以及怎样清除种植了的木马对有些朋友来说也许就比较陌生了。下面我们就围绕这几点进行一些介绍。
一:通过病
毒名称识别木马
世界上那么多的病毒,反病毒公司为了方便管理,他们会按照病毒的特性,将病毒进行分类命名。虽然每个反病毒公司的命名规则都不太一样,但大体都是采用一个统一的命名方法来命名的。一般格式为:病毒前缀.病毒名.病毒后缀 。
木马、黑客病毒往往是成对出现的,即木马病毒负责侵入用户的电脑,而黑客病毒则会通过该木马病毒来进行控制。现在这两种类型都越来越趋向于整合了。木马病毒其前缀是:Trojan,黑客病毒前缀名一般为 Hack 。木马病毒的公有特性是通过网络或者系统漏洞进入用户的系统并隐藏,然后向外界泄露用户的信息,而黑客病毒则有一个可视的界面,能对用户的电脑进行远程控制。一般的木马如QQ消息尾巴木马 Trojan.QQ3344 ,还有大家可能遇见比较多的针对网络游戏的木马病毒如 Trojan.LMir.PSW.60 。这里补充一点,病毒名中有PSW或者什么PWD之类的一般都表示这个病毒有盗取密码的功能(这些字母一般都为“密码”的英文“password”的缩写),一些黑客程序如:网络枭雄(Hack.Nether.Client)等。
二:了解木马种植方式才能防止别人种植木马
目前常见的木马种植方式有以下几种:
1.网吧种植
这个似乎在以前很流行,先关闭网吧的放火墙,再安装木马客户端,立刻结帐下机,注意,重点是不要重起机器,因为现在网吧都有还原精灵,所以在不关机器的情况下,木马是不会给发现的。因此,在网吧上网,首先要重起机器,其次看看杀毒软件有没有打开。最后建议,不要在网吧打开有重要密码的东西,如网络银行等。毕竟现在木马客户端躲避防火墙的能力很强,其次是还存在其他的病毒。
2.通讯软件传送
发一条消息给你,说,“这个我的照片哦,快看看。”当你接受并打开的时候,你已经中了木马了。(此时,你打开的文件好象“没有任何反应”)“她”可能接着说说:“呀,发错了。再见。”防御:不要轻易接受别人传的东西,其次是打开前要用杀毒软件查毒。
3.恐怖的捆绑
捆绑软件现在很多,具体使用就是把木马客户端和一个其他文件捆绑在一起(拿JPG图象为例),你看到的文件可能是.jpg,图标也是正常(第2条直接传的木马客户端是个windows无法识别文件的图标,比较好认),特别是现在有些捆绑软件对捆绑过后的软件进行优化,杀毒软件很难识别其中是否包含木马程序。建议:不要打开陌生人传递的文件。特别是图象文件。
4.高深的编译
对木马客户程序进行编译。让木马更加难以识别。
5.微妙的网页嵌入
将木马安装在自己的主页里面,当你打开页面就自动下载运行。“你中奖了,请去www.**.com领取你的奖品”,黑客可能这么和你说。建议:陌生人提供的网页不要打开,不要去很奇怪名字的网站。及时升级杀毒软件。
对于木马,我们大家基本都听说过,但怎样识别木马、怎样避免自己的机子被种植木马以及怎样清除种植了的木马对有些朋友来说也许就比较陌生了。下面我们就围绕这几点进行一些介绍。
一:通过病毒名称识别木马
世界上那么多的病毒,反病毒公司为了方便管理,他们会按照病毒的特性,将病毒进行分类命名。虽然每个反病毒公司的命名规则都不太一样,但大体都是采用一个统一的命名方法来命名的。一般格式为:病毒前缀.病毒名.病毒后缀 。
木马、黑客病毒往往是成对出现的,即木马病毒负责侵入用户的电脑,而黑客病毒则会通过该木马病毒来进行控制。现在这两种类型都越来越趋向于整合了。木马病毒其前缀是:Trojan,黑客病毒前缀名一般为 Hack 。木马病毒的公有特性是通过网络或者系统漏洞进入用户的系统并隐藏,然后向外界泄露用户的信息,而黑客病毒则有一个可视的界面,能对用户的电脑进行远程控制。一般的木马如QQ消息尾巴木马 Trojan.QQ3344 ,还有大家可能遇见比较多的针对网络游戏的木马病毒如 Trojan.LMir.PSW.60 。这里补充一点,病毒名中有PSW或者什么PWD之类的一般都表示这个病毒有盗取密码的功能(这些字母一般都为“密码”的英文“password”的缩写),一些黑客程序如:网络枭雄(Hack.Nether.Client)等。
二:了解木马种植方式才能防止别人种植木马
目前常见的木马种植方式有以下几种:
1.网吧种植
这个似乎在以前很流行,先关闭网吧的放火墙,再安装木马客户端,立刻结帐下机,注意,重点是不要重起机器,因为现在网吧都有还原精灵,所以在不关机器的情况下,木马是不会给发现的。因此,在网吧上网,首先要重起机器,其次看看杀毒软件有没有打开。最后建议,不要在网吧打开有重要密码的东西,如网络银行等。毕竟现在木马客户端躲避防火墙的能力很强,其次是还存在其他的病毒。
2.通讯软件传送
发一条消息给你,说,“这个我的照片哦,快看看。”当你接受并打开的时候,你已经中了木马了。(此时,你打开的文件好象“没有任何反应”)“她”可能接着说说:“呀,发错了。再见。”防御:不要轻易接受别人传的东西,其次是打开前要用杀毒软件查毒。
3.恐怖的捆绑
捆绑软件现在很多,具体使用就是把木马客户端和一个其他文件捆绑在一起(拿JPG图象为例),你看到的文件可能是.jpg,图标也是正常(第2条直接传的木马客户端是个windows无法识别文件的图标,比较好认),特别是现在有些捆绑软件对捆绑过后的软件进行优化,杀毒软件很难识别其中是否包含木马程序。建议:不要打开陌生人传递的文件。特别是图象文件。
4.高深的编译
对木马客户程序进行编译。让木马更加难以识别。
5.微妙的网页嵌入
将木马安装在自己的主页里面,当你打开页面就自动下载运行。“你中奖了,请去www.**.com领取你的奖品”,黑客可能这么和你说。建议:陌生人提供的网页不要打开,不要去很奇怪名字的网站。及时升级杀毒软件。
三:电脑被种植了木马的症状
在使用计算机的过程中如果您发现以下现象,则很有可能是被种植了“木马”:
a. 计算机反应速度明显变慢
b. 硬盘在不停地读写
c.键盘、鼠标不受控制
d.一些窗口被无缘无故地关闭
e.莫名其妙地打开新窗口
f.网络传输指示灯一直在闪烁
g.没有运行大的程序而系统却越来越慢
h.系统资源占用很多
i运行了某个程序没有反映(此类程序一般不大,从十几k到几百k都有)
j.在关闭某个程序时防火墙探测到有邮件发出
k.密码突然被改变,或者他人得知您的密码或私人信息
l.文件无故丢失,数据被无故删改
四:几种常见木马的清除方法
一旦我们的电脑被种植了木马,我们应选择一款针对木马的杀毒软件进行清除,同时,我们也可以手工清除木马程序。下面我们介绍几种常见木马的手工清除方法,通过手工清除木马的介绍,我们可以对木马有一个更好的了解。
1,洛伊木马TROJ_QAZ.A
1、单击“开始│运行” 键入:Regedit,按Enter键
2、找到注册键:
HKEY_LOCAL_MACHIN/Software/Microsoft/Windows/CurrentVersion/Run
3、在右边的窗口中,找出任何包含下列数据的注册键值: startIE=XXXXNotepad.exe
4、在右边的窗口中,选中该键值,按删除键后再选是,删除该值。 退出注册表修改。 单击 “开始│关闭系统”,选择“重启动”后单击“是”。
5、重命名Note.com为Notepad.exe。
2,冰河v1.1 v2.2
这是国产最好的木马 作者:Snokebin
1.清除木马v1.1
打开注册表Regedit
点击目录至:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
查找以下的两个路径,并删除
" C:\windows\system\ kernel32.exe"
" C:\windows\system\ sysexplr.exe"
关闭Regedit
重新启动到MSDOS方式
删除C:\windows\system\ kernel32.exe和C:\windows\system\ sysexplr.exe木马程序
重新启动。
2.清除木马v2.2
服务器程序、路径用户是可以随意定义,写入注册表的键名也可以自己定义。
因此,不能明确说明。
你可以察看注册表,把可疑的文件路径删除。
重新启动到MSDOS方式
删除于注册表相对应的木马程序
重新启动Windows。
3,Trojan.QQ3344
1.在运行中输入MSconfig,如果启动项中有“Sendmess.exe”和“wwwo.exe”这两个选项,将其禁止。在C:\WINDOWS一个叫qq32.INI的文件,文件里面是附在QQ后的那几句广告词,将其删除。转到DOS下再将“Sendmess.exe”和“wwwo.exe”这两个文件删除。
2.随时升级杀毒软件。
3.安装系统漏洞补丁
由病毒的播方式我们知道,“QQ尾巴”这种木马病毒是利用IE的iFrame传播的,即使不执行病毒文件,病毒依然可以借由漏洞自动执行,达到感染的目的。因此应该敢快下载IE的iFrame漏洞补丁。
iFrame漏洞补丁地址:
五:对木马绑定文件的剥离方法
当我们需要的一款文件被发现绑定了木马程序,而我们又需要这款原文件时,我们可以采取下面的方法进行文件剥离。
第一步:用UltraEdit的十六进制方式打开绑定程序,选中第二个MZ到第三个MZ之间的内容(即第二个文件),将该部分复制。然后新建一个文件,粘贴,保存为EXE文件。
第二步:选中第三个MZ至文件末尾之间的内容(即第三个文件),同样复制,新建文件后粘贴、保存为EXE文件。
第三步:现在你要通过检查两个文件的图标及大小来判断哪个文件是所需的正常程序。一般来说,所需程序文件与捆绑后的图标一致,且文件体积较大的那个文件就是我们所要的原文件。
六:总结
防范木马首先应在自己的电脑中安装一款合适的防杀病毒软件并及时升级,同时在日常工作中不要打开未知文件以及陌生人传来的文件,不要随便打开陌生网页,升级最新版本的操作系统。
谁能告诉我病毒的特征编码???
病毒在理论上是不可判定的
病毒是一段程序,不同种类的病毒,它们的代码千差万别,任何人都不可能预测明天将会出现什么新病毒。但有一点可以肯定,只要出现了一项新的计算机技术,充分利用这项新技术编制的新病毒就一定离我们不远了。而由于软件种类极其丰富,且某些正常程序也使用了类似病毒的操作甚至借鉴了某些病毒的技术。所以,虽然有些人利用病毒某些共有的操作(如驻内存,改中断)这种共性,制作了声称可查所有病毒的程序,但这种方法对病毒进行检测势必会造成较多的误报情况,不够可靠,目前都只能作为辅助的手段配合使用,无法独立推广。
实际上,计算机病毒学鼻祖早在80年代初期就已经提出了计算机病毒的模型,证明只要延用现行的计算机体系,计算机病毒就存在“不可判定性”。杀病毒必须先搜集到病毒样本,使其成为已知病毒,然后剖析病毒,再将病毒传染的过程准确地颠倒过来,使被感染的计算机恢复原状。因此可以看出,一方面计算机病毒是不可灭绝的,另一方面病毒也并不可怕,世界上没有杀不掉的病毒。
常用的反病毒软件技术
特征码技术:基于对已知病毒分析、查解的反病毒技术
目前的大多数杀病毒软件采用的方法主要是特征码查毒方案与人工解毒并行,亦即在查病毒时采用特征码查毒,在杀病毒时采用人工编制解毒代码。
特征码查毒方案实际上是人工查毒经验的简单表述,它再现了人工辨识病毒的一般方法,采用了“同一病毒或同类病毒的某一部分代码相同”的原理,也就是说,如果病毒及其变种、变形病毒具有同一性,则可以对这种同一性进行描述,并通过对程序体与描述结果(亦即“特征码”)进行比较来查找病毒。而并非所有病毒都可以描述其特征码,很多病毒都是难以描述甚至无法用特征码进行描述。使用特征码技术需要实现一些补充功能,例如近来的压缩包、压缩可执行文件自动查杀技术。
但是,特征码查毒方案也具有极大的局限性。特征码的描述取决于人的主观因素,从长达数千字节的病毒体中撷取十余字节的病毒特征码,需要对病毒进行跟踪、反汇编以及其它分析,如果病毒本身具有反跟踪技术和变形、解码技术,那么跟踪和反汇编以获取特征码的情况将变得极其复杂。此外,要撷取一个病毒的特征码,必然要获取该病毒的样本,再由于对特征码的描述各个不同,特征码方法在国际上很难得到广域性支持。特征码查病毒主要的技术缺陷表现在较大的误查和误报上,而杀病毒技术又导致了反病毒软件的技术迟滞。
虚拟机技术:启发式探测未知病毒的反病毒技术
虚拟机技术的主要作用是能够运行一定规则的描述语言。由于病毒的最终判定准则是其复制传染性,而这个标准是不易被使用和实现的,如果病毒已经传染了才判定是它是病毒,定会给病毒的清除带来麻烦。
那么检查病毒用什么方法呢?客观地说,在各类病毒检查方法中,特征值方法是适用范围最宽、速度最快、最简单、最有效的方法。但由于其本身的缺陷问题,它只适用于已知病毒,对于未知病毒,如果能够让病毒在控制下先运行一段时间,让其自己还原,那么,问题就会相对明了。可以说,虚拟机是这种情况下的最佳选择。
虚拟机在反病毒软件中应用范围广,并成为目前反病毒软件的一个趋势。一个比较完整的虚拟机,不仅能够识别新的未知病毒,而且能够清除未知病毒,我们会发现这个反病毒工具不再是一个程序,而成为可以和卡斯帕罗夫抗衡的ibm深蓝超级计算机。首先,虚拟机必须提供足够的虚拟,以完成或将近完成病毒的“虚拟传染”;其次,尽管根据病毒定义而确立的“传染”标准是明确的,但是,这个标准假如能够实施,它在判定病毒的标准上仍然会有问题;第三,假如上一步能够通过,那么,我们必须检测并确认所谓“感染”的文件确实感染的就是这个病毒或其变形。
目前虚拟机的处理对象主要是文件型病毒。对于引导型病毒、word/excel宏病毒、木马程序在理论上都是可以通过虚拟机来处理的,但目前的实现水平仍相距甚远。就像病毒编码变形使得传统特征值方法失效一样,针对虚拟机的新病毒可以轻易使得虚拟机失效。虽然虚拟机也会在实践中不断得到发展。但是,pc的计算能力有限,反病毒软件的制造成本也有限,而病毒的发展可以说是无限的。让虚拟技术获得更加实际的功效,甚至要以此为基础来清除未知病毒,其难度相当大。
受病毒在理论上就是不可判定的这一根本前提的制约,事实上,无论是启发式,亦或是虚拟机,都只能是一种工程学的努力,其成功的概率永远不可达到100%。这是惟一的却又是无可奈何的缺憾。
未来的反病毒技术:
虚拟现实
对于未来技术的展望可能只是一种近乎飘渺的幻想,但是就如同计算机病毒最初的描述出现在科幻小说里,虽然还有许许多多我们目前仍在实现却仍未实现的技术,甚至还有许多我们根本未考虑到的因素。只要技术足够成熟,网络世界中是完全有可能出现类似人工智能的反病毒技术。
未来反病毒的疑难之一就是:我们永远无法写出一个合理的程序来辨识和查杀病毒。病毒掌握了人类所掌握的一切,它同样能辨识和分析反毒程序,并对自身重新编程;而反毒程序要可能同样地对病毒进行探测,再进行自编程。病毒与反毒程序的角逐就变成了自编程能力的实现,而这样的结果只能导致网络空间紧张,甚至崩溃!
我们还可以考虑用另一种方式:人工进入计算网络世界的方法来查杀病毒。人有足够的智能和经验积累来完成对病毒的辨识和杀除,而这就只剩下建立人与计算机之间的“桥”的问题了。
目前的虚拟现实技术重点放在了对人与人的自然界交流方式———“感官”的计算机描述的实现上,它如同人们所有的知觉都最终传感给大脑,大脑对这种传感作出一种体验上的描述,从而形成知觉意识。如果计算机将二进制代码流表述成脑电波的流信息,并通过神经传感给大脑,则完全可以描述并引导、控制人的一切思维。简单地说,人的思维与计算机语言存在了这样一个通用的接口!
这种理论如果得以实现,则虚拟现实技术将进入新的发展领域。虽然从理论上讲是不可能在对病毒未知的情况下对其做出精确判断从而预防,但是在实际应用中,经过反病毒专家多年的统计、分析、研究积累的经验,完全有可能以概率方式对病毒危险进行一种分级制测定并对其使用反病毒程序,在相当程度上达到较精确地防御未知病毒的侵入。
第三代反病毒产品:
防杀兼备、万能恢复
从技术的数学模型上来说,过去、现在、将来的反病毒软件都不可能有任何理论上的超越,即无法跨越不可判定性的鸿沟,特征码也好,启发式虚拟机也好,或者兼而有之,相互配合,暂时不会有新的突破。那么,具体到反病毒技术的产品,也基本上离不开这些模式。当然,即使是从工程学的角度上来说,在相同的技术起点上如何构筑出实现方式和最终效果完全不同的实用产品,仍然是一个永无止境的追求。
从手工查杀病毒,到早期散兵游勇式的查杀病毒,到与internet的技术接轨,直至今天担负起防杀兼备、万能恢复的第三代反病毒软件,反病毒技术在与病毒的斗争中不断进步,不断诞生各种为计算机用户解忧去患的反病毒产品。从早期的防病毒卡、手动查杀的dos版软件(即第一代,代表产品有:kill、kv100、kv200、kv300、瑞星、早期vrv、早期avxx。),到在线监控实时查杀的病毒防火墙(即第二代,代表产品为vrv杀毒套装、killxx版、kv3000预览版),我们已经发现要免除病毒的灾难,仅有杀毒是不够的。
安全专家认为,真正的安全仅有杀毒是不够的,因为在电脑世界中,永远有捉摸不定的东西游离在身边。除去泛滥的病毒,系统的漏洞、硬件或软件的冲突、人为的误操作、利用bo特洛伊木马恶意进攻、电脑本身的不稳定性、黑客袭击等形形色色的安全威胁不胜枚举。所以,一个好的安全软件,仅仅能杀毒是不够的,必须把备份与灾难恢复相结合起来。
面对呼啸而来益发凶恶的未来病毒,仅有杀毒是不够的。用户对于病毒的恐惧,并不是来自它的能够自我复制,尽管这才是病毒之所以成为病毒的根本,担心害怕的是病毒侵入并且发作,结果造成的大大小小的无可挽回的损失。这种客观的迫切的需要,成为新形势对反病毒技术和产品提出的最高要求。于是,第三代反病毒软件必须要做到突破单一杀毒的局限性,针对用户经常面临急需数据抢修、系统恢复等难题,不仅可以杀灭入侵病毒、击溃来犯黑客、消灭有害数据,还有智能灾难恢复、全息数据救援、维护系统正常运行的全面保障信息安全的功能,其代表产品是北京北信源公司研发的一种全方位、多功能、高可靠的安全软件“杀毒专家”。
我们期望有一种针对恶性病毒发作时可能实施的破坏行为的截获、阻止装置,软件的亦或是硬件的,对所有带有危险级别的、可能影响系统运行和信息资料安全的操作加以禁止,就像过滤文件中的病毒特征码一样,对一个将要执行的操作进行安全性判断。就像今天在多任务环境下实时杀毒的防火墙重新焕发了青春一样,我们不难预料,这种在线式的以危险行为监控为特征的反病毒技术和产品也一定会出现,配合以前的第一代、第二代、第三代反病毒技术,实现更高意义上的更加可靠的信息安全。
参考资料:
木马病毒的可执行代码是怎么样的
你这个问题有点高深了,对于我这种没研究过病毒的人,似乎没办法完整的回答你的问题.但是一些皮毛我还是能给你讲一些的,不一定全对,仅供参考.
代码的话,我没怎么研究过,我知道一种就是把代码写入网站中,让你电脑打开这个网站去进行跳转,或者进行下载他指定的程序.导致你电脑中毒.还有一种你所谓的图片,是用捆绑工具,它不但可以捆绑图片,MP3.EXE等格式的都可以进行捆绑!
腾讯电脑管家依托小红伞(antivir)国际顶级杀毒引擎、腾讯云引擎,鹰眼引擎等四核专业引擎查杀能力,病毒识别率提高30%,深度根除顽固病毒!全方位保障用户上网安全.
我现在用电脑管家好久了,电脑一直很正常,没出现过什么大碍.楼主抓紧试试吧.效果相当好!
希望能够帮到你~
什么是病毒,什么是木马,病毒与木马有什么区别!!
什么是木马?
特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。
它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
参考资料:
回答者:完颜康康 - 探花 十一级 9-18 12:40
DLL 木马揭秘
相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?
一、从DLL技术说起
要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。
时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。
二、应用程序接口API
上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。
三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。
四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。
五、DLL木马技术分析
到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。
1.木马的主体
千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。
如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。
DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。
2.动态嵌入技术
Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-
远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?
3.木马的启动
有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。
启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。
Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。
注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。
有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。
4.其它
到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……
六、DLL木马的发现和查杀
经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。
;ct=17pn=0tn=ikaslistrn=10
请分析哪些是病毒,木马,在电子邮件的传播方式
木马,指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。
病毒,编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。
病毒通过网络来传播:网页、电子邮件、QQ、BBS等都可以是计算机病毒网络传播的途径。
木马传播方式:利用下载进行传播,在下载的过程中进入程序,当下载完毕打开文件就将病毒植入到电脑中;利用系统漏洞进行传播,当计算机存在漏洞,就成为木马病毒攻击的对象; 利用邮件进行传播,很多陌生邮件里面就掺杂了病毒种子,一旦邮件被打开,病毒就被激活。
利用远程连接进行传播;利用网页进行传播,在浏览网页时会经常出现很多跳出来的页面,这种页面就是病毒驻扎的地方;利用蠕虫病毒进行传播等。
扩展资料
木马病毒通常基于计算机网络,基于客户端和服务端的通信、监控程序。客户端的程序用于黑客远程控制,可以发出控制命令,接收服务端传来的信息。服务端程序运行在被控计算机上,一般隐藏在被控计算机中,可以接收客户端发来的命令并执行,将客户端需要的信息发回,也就足常说的木马程序。
木马病毒可以发作的必要条件为客户端和服务端必须建立起网络通信,这种通信是基于IP地址和端口号的。
藏匿在服务端的木马程序一旦被触发执行,就会不断将通信的IP地址和端口号发给客户端。客户端利用服务端木马程序通信的IP地址和端口号,在客户端和服务端建立起一个通信链路。客户端的黑客便可以利用这条通信链路来控制服务端的计算机。
运行在服务端的木马程序首先隐匿自己的行踪,伪装成合法的通信程序,然后采用修改系统注册表的方法设置触发条件,保证自己可以被执行,并且可以不断监视注册表中的相关内容。发现自己的注册表被删除或被修改,可以自动修复。
参考资料来源:百度百科-木马病毒
参考资料来源:百度百科-计算机病毒