从编程的角度来看,病毒如何发挥作用?

时间:2011-08-11 11:50:02

标签: security

我一直对计算机病毒着迷。多年来我一直厌倦了解它们,但由于它们的性质,人们不愿意提供许多细节。

对于我的价值而言,我不是黑客,也不是在制造病毒。

如果有人愿意回答这个问题,我想知道是什么让病毒成为病毒,以及它们与间谍软件的区别。

如何在没有注意的情况下将自己安装到计算机上?

蠕虫如何运作?程序如何复制并自行移动?它是否包含其源代码?它是否与其他程序接口或直接评估硬件以进行传播?

编辑:他们会写什么语言?你会使用汇编/ C ++类型的语言或在lua中创建脚本吗?

1 个答案:

答案 0 :(得分:6)

嗯,蠕虫只是一个自我复制的软件。想象一个程序将其可执行文件通过某些链接复制到另一台计算机并在那里启动它。那不是那么神奇。

病毒只是一种感染其他可执行文件的蠕虫,即它不会复制自己的图像,但它会将其“背包”到不同的应用程序的映像,并使用该应用程序的执行流程来启动。

如果没有副作用且没有UI交互,则用户不会注意到任何内容。 如果用户在技术上比普通最终用户更有能力,则很难实现。一些恶意软件在虚拟机中托管目标系统,因此用户很难看到任何可疑内容。只要你不认为你看一个虚拟机。像Neo一样,从Matrix中醒来。

由于您可以用什么语言实现什么没有限制,因此没有选择的语言。当然,低级和本地编译的语言更能用于做病毒/ worm必须做到低调。但是,有用汇编语言编写的蠕虫和病毒,Basic,C,Delphi,JavaScript等等 - 这里没有你无法想象的。

间谍软件有类似的要求,但目标不同。虽然病毒和蠕虫通常会无缘无故地传播,或者在某些时候丢弃某种有效负载,但是间谍软件要么“打电话回家”要么打开目标系统以便它可以被攻击,即检查,更容易,通常是为了获取受害者的秘密,个人或其他有趣的数据。

希望这个快速回答有所帮助。您可以轻松地在bing上详细了解更多详情:)