黑客24小时在线接单的网站

黑客24小时在线接单的网站

代码病毒怎么制作(代码病毒怎么制作出来的)

本文目录一览:

蠕虫病毒是怎么制作的要用到哪些代码

蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。 蠕虫病毒是自包含的程序(或是一套程序),它能传播它自身功能的拷贝或它(蠕虫病毒)的某些部分到其他的计算机系统中(通常是经过网络连接)。请注意,与一般病毒不同,蠕虫不需要将其自身附着到宿主程序,它是一种独立智能程序。有两种类型的蠕虫:主机蠕虫与网络蠕虫。主计算机蠕虫完全包含(侵占)在它们运行的计算机中,并且使用网络的连接仅将自身拷贝到其他的计算机中,主计算机蠕虫在将其自身的拷贝加入到另外的主机后,就会终止它自身(因此在任意给定的时刻,只有一个蠕虫的拷贝运行),这种蠕虫有时也叫"野兔",蠕虫病毒一般是通过1434端口漏洞传播。 比如近几年危害很大的“尼姆亚”病毒就是蠕虫病毒的一种,去年春天流行“熊猫烧香”以及其变种也是蠕虫病毒。这一病毒利用了微软视窗操作系统的漏洞,计算机感染这一病毒后,会不断自动拨号上网,并利用文件中的地址信息或者网络共享进行传播,最终破坏用户的大部分重要数据。 蠕虫病毒的一般防治方法是:使用具有实时监控功能的杀毒软件,并且注意不要轻易打开不熟悉的邮件附件。 蠕虫是怎么发作的? 如何采取有效措施防范蠕虫? 一、利用操作系统和应用程序的漏洞主动进行攻击 此类病毒主要是“红色代码”和“尼姆亚”,以及至今依然肆虐的”求职信”等。由于IE浏览器的漏洞(IFRAME EXECCOMMAND),使得感染了“尼姆亚”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播,SQL蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击。 二、传播方式多样 如“尼姆亚”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。 三、病毒制作技术新 与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。 四、与黑客技术相结合,潜在的威胁和损失更大 以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入。 蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,可以分为两种,即软件上的缺陷和人为的缺陷。软件上的缺陷,如远程溢出、微软IE和Outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断地升级软件。而人为的缺陷,主要指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会抱着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而对个人用户而言,主要是防范第二种缺陷。 五、对个人用户产生直接威胁的蠕虫病毒 在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装IIS(微软的因特网服务器程序,可以允许在网上提供web服务)或者是庞大的数据库系统的。因此,上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响)。但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒。 对于个人用户而言,威胁大的蠕虫病毒采取的传播方式,一般为电子邮件(Email)以及恶意网页等等。 对于利用电子邮件传播的蠕虫病毒来说,通常利用的是各种各样的欺骗手段诱惑用户点击的方式进行传播。恶意网页确切地讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。

怎么编程病毒?

搂主`你多C语言懂多少呀?通常只要在病毒代码的开始计算出delta offset,通过变址寻址的方式书写引用数据的汇编代码,即可保证病毒代码在运行时被正确重定位。假设ebp 包含了delta offset,使用如下变址寻址指令则可保证在运行时引用的数据地址是正确的:

;ebp 包含了delta offset 值

401000:

mov eax,dword ptr [ebp+0x402035]

......

402035:

db "hello world!",0

在书写源程序时可以采用符号来代替硬编码的地址值,上述的例子中给出的不过是编译器对符号进行地址替换后的结果。现在的问题就转换成如何获取delta offset的值了,显然:

call delta

delta:

pop ebp

sub ebp,offset delta

在运行时就动态计算出了delta offset 值,因为call要将其后的第一条指令的地址压入堆栈,因此pop ebp 执行完毕后ebp 中就是delta的运行时地址,减去delta的编译时地址“offset delta”就得到了delta offset 的值。除了用明显的call 指令外,还可以使用不那么明显的fstenv、fsave、fxsave、fnstenv等浮点环境保存指令进行,这些指令也都可以获取某条指令的运行时地址。以fnstenv 为例,该指令将最后执行的一条FPU 指令相关的协处理器的信息保存在指定的内存中fpu_addr:

fnop

call GetPhAddr

sub ebp,fpu_addr

GetPhAddr:

sub esp,16

fnstenv [esp-12]

pop ebp

add esp,12

ret

delta offset 也不一定非要放在ebp 中,只不过是ebp 作为栈帧指针一般过程都不将该寄存器用于其它用途,因此大部分病毒作者都习惯于将delta offset 保存在ebp 中,其实用其他寄存器也完全可以。

在优化过的病毒代码中并不经常直接使用上述直接计算delta offset 的代码,比如在Elkern开头写成了类似如下的代码:

call _start_ip

_start_ip:

pop ebp

;...

;使用

call [ebp+addrOpenProcess-_start_ip]

;...

addrOpenProcess dd 0

;而不是

call _start_ip

_start_ip:

pop ebp

sub ebp,_start_ip

call [ebp+addrOpenProcess]

为什么不采用第二种书写代码的方式?其原因在于尽管第一种格式在书写源码时显得比较罗嗦, 但是addrOpenProcess-_start_ip 是一个较小相对偏移值,一般不超过两个字节,因此生成的指令较短,而addrOpenProcess在32 Win32编译环境下一般是4 个字节的地址值,生成的指令也就较长。有时对病毒对大小要求很苛刻,更多时候也是为了显示其超俗的编程技巧,病毒作者大量采用这种优化,对这种优化原理感兴趣的读者请参阅Intel手册卷2中的指令格式说明。

API 函数地址的获取

在能够正确重定位之后,病毒就可以运行自己代码了。但是这还远远不够,要搜索文件、读写文件、进行进程枚举等操作总不能在有Win32 API 的情况下自己用汇编完全重新实现一套吧,那样的编码量过大而且兼容性很差。

Win9X/NT/2000/XP/2003系统都实现了同一套在各个不同的版本上都高度兼容的Win32 API,因此调用系统提供的Win32 API实现各种功能对病毒而言就是自然而然的事情了。所以接下来要解决的问题就是如何动态获取Win32 API的地址。最早的PE病毒采用的是预编码的方法,比如Windows 2000 中CreateFileA 的地址是0x7EE63260,那么就在病毒代码中使用call [7EE63260h]调用该API,但问题是不同的Windows 版本之间该API 的地址并不完全相同,使用该方法的病毒可能只能在Windows 2000的某个版本上运行。

因此病毒作者自然而然地回到PE结构上来探求解决方法,我们知道系统加载PE 文件的时候,可以将其引入的特定DLL 中函数的运行时地址填入PE的引入函数表中,那么系统是如何为PE引入表填入正确的函数地址的呢?答案是系统解析引入DLL 的导出函数表,然后根据名字或序号搜索到相应引出函数的的RVA(相对虚拟地址),然后再和模块在内存中的实际加载地址相加,就可以得到API 函数的运行时真正地址。在研究操作系统是如何实现动态PE文件链接的过程中,病毒作者找到了以下两种解决方案:

A)在感染PE 文件的时候,可以搜索宿主的函数引入表的相关地址,如果发现要使用的函数已经被引入,则将对该API 的调用指向该引入表函数地址,若未引入,则修改引入表增加该函数的引入表项,并将对该API 的调用指向新增加的引入函数地址。这样在宿主程序启动的时候,系统加载器已经把正确的API 函数地址填好了,病毒代码即可正确地直接调用该函数。

B)系统可以解析DLL 的导出表,自然病毒也可以通过这种手段从DLL 中获取所需要的API地址。要在运行时解析搜索DLL 的导出表,必须首先获取DLL 在内存中的真实加载地址,只有这样才能解析从PE 的头部信息中找到导出表的位置。应该首先解析哪个DLL 呢?我们知道Kernel32.DLL几乎在所有的Win32 进程中都要被加载,其中包含了大部分常用的API,特别是其中的LoadLibrary 和GetProcAddress 两个API可以获取任意DLL 中导出的任意函数,在迄今为止的所有Windows 平台上都是如此。只要获取了Kernel32.DLL在进程中加载的基址,然后解析Kernel32.DLL 的导出表获取常用的API 地址,如需要可进一步使用Kernel32.DLL 中的LoadLibrary 和GetProcAddress 两个API 更简单地获取任意其他DLL 中导出函数的地址并进行调用。

怎么编写一段病毒代码

我小侄儿编的错误程序——最经典的病毒。

他爸爸是搞IT的,我侄儿3岁开始玩电脑。

病毒软件是怎么做出来的?请详细的解释清楚,谢谢

首先病毒制作。病毒也是程序,当然是程序编译软件,现在对于病毒,有可执行文件,还有脚本文件,这两种病毒的编译,可执行文件一般用C++或者是DELPHI比较流行,新手一般用VB但VB毕竟东西还是太少。脚本文件,那就

病毒代码原理,怎样制造病毒代码。求病毒代码

蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。

  • 评论列表:
  •  莣萳优伶
     发布于 2022-10-10 04:50:31  回复该评论
  • 在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装IIS(微软的因特网服务器程序,可以允许在网上提供web服务)或者是庞大的数据库系统的。因此,上述病
  •  余安七禾
     发布于 2022-10-10 06:06:05  回复该评论
  • 张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。
  •  掩吻二囍
     发布于 2022-10-09 20:44:08  回复该评论
  • 过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.