首页
论坛
专栏
课程

[原创]Pediy“瑞星”实现快速禁用

2010-1-23 22:30 13840

[原创]Pediy“瑞星”实现快速禁用

2010-1-23 22:30
13840
Pediy“瑞星”实现快速禁用
     每次禁用都要输入验证码,不甚其烦。有没有快速禁用的方法呢?琢磨了一天,终于实现。
     方便起见,我还是用softice。在虚拟机中装上瑞星,Ctrl+D进入softice,bpx LoadBitmapA下断后Ctrl+D返回桌面,右键右下脚瑞星托盘图标,选“禁用所有监控”,即被断下。再按F12,返回上一层函数,此时softice显示进入RsTray的地址空间。当前地址为001B:00ef4874,看看在哪个模块里,用mod命令见下图,
   
  

    原来在rav文件夹下的dll文件中。显然这个就是我们的key dll了。 再次进入softice,先bd 0即禁用0号断点,,而后下断bpx SetFocus 并按下Ctrl+D被立即断下。
PUSH ECX                                 ; /Arg10
MOV ECX,DWORD PTR SS:[ESP+24]           
SUB EDX,ECX                              
PUSH EDX                                 ; |Arg9
MOV EDX,DWORD PTR DS:[ESI+18C]         
PUSH EDX                                 ; |Arg8
MOV EDX,DWORD PTR DS:[ESI+188]         
PUSH EDX                                 ; |Arg7
MOV EDX,DWORD PTR DS:[ESI+184]      
PUSH EDX                                 ; |Arg6
MOV EDX,DWORD PTR DS:[ESI+180]         
PUSH EDX                                 ; |Arg5
MOV EDX,DWORD PTR DS:[10015CB0]      
PUSH EDX                                 ; |Arg4 => 00000000
MOV EDX,DWORD PTR DS:[EDI]            
PUSH EDX                                 ; |Arg3
PUSH EAX                                 ; |Arg2
PUSH ECX                                 ; |Arg1
LEA ECX,DWORD PTR DS:[ESI+1EC]        
CALL  00ef6170                    //关键call跟进
MOV EAX,DWORD PTR DS:[EDI]
PUSH 477                                  ; /ControlID = 477 (1143.)
PUSH EAX                                 ; |hWnd  //确认验证码的对话框窗口句柄
CALL DWORD PTR DS:[<&USER32.GetDlgItem>] ; \GetDlgItem //显示4位验证码的小图片窗口
MOV ESI,EAX
JE SHORT 00ef49CE
PUSH 0
PUSH 4
PUSH 0C5
PUSH ESI
CALL EBX
PUSH -1
PUSH 0
PUSH 0B1
PUSH ESI
CALL EBX
PUSH 0
PUSH 0
PUSH 0B7
PUSH ESI
CALL EBX
PUSH ESI                                   ; /hWnd
CALL DWORD PTR DS:[<&USER32.SetFocus>]   ; \SetFocus    //断在这里
      输入bd 1,暂时去除SetFocus断点的影响,Ctrl+D返回桌面,此时已经弹出了确认验证码的对话框,当前闪烁的输入焦点当然就是SetFocus的功劳了。显然已经生成了验证码,那么我们就要退回去看,不远处在001B:00ef498a处有个CALL  00ef6170  且push了很多参数,那就F8单步跟进瞧瞧。进入后单步几下来到如下图所示高亮的call处,

   

   再跟进来到下面:
PUSH ESI
MOV ESI,ECX
MOV EAX,DWORD PTR DS:[ESI]
PUSH EAX                                   ; /hWnd
CALL DWORD PTR DS:[<&USER32.IsWindow>]   ; \IsWindow
TEST EAX,EAX
NZ SHORT 00ef6152
POP ESI
RETN
MOV ECX,ESI
CALL 00ef6080   //生成验证码的重要call继续跟进来到下面
MOV ECX,ESI
CALL 00ef5CB0
MOV EAX,1
POP ESI
RETN

00ef6080:
…………
XOR EBX,EBX
LEA EDI,DWORD PTR DS:[ESI+1C]
TEST BL,1
MOV ECX,ESI
JE SHORT 00ef60A4
CALL 00ef5DB0        // 算法call1
JMP SHORT 00ef60A9
CALL 00ef5E00         //算法call2
MOV ECX,ESI
MOV BYTE PTR DS:[ESI+EBX+8],AL  //保存本次循环生成的一位验证码
…………………….
INC EBX
ADD EDI,4
CMP EBX,4        // 循环生成四位验证码
JL SHORT 00ef6096

算法call1
00ef5DB0  /$  51            PUSH ECX
00ef5DB1  |.  56            PUSH ESI
00ef5DB2  |>  E8 613D0000   /CALL   00ef9B18
00ef5DB7  |.  894424 04     |MOV DWORD PTR SS:[ESP+4],EAX
00ef5DBB  |.  33F6          |XOR ESI,ESI
00ef5DBD  |.  8D49 00       |LEA ECX,DWORD PTR DS:[ECX]
00ef5DC0  |>  8A4434 04     |/MOV AL,BYTE PTR SS:[ESP+ESI+4]
00ef5DC4  |.  3C 41         ||CMP AL,41
00ef5DC6  |.  7C 04         ||JL SHORT 00ef5DCC
00ef5DC8  |.  3C 5A         ||CMP AL,5A
00ef5DCA  |.  7E 08         ||JLE SHORT 00ef5DD4
00ef5DCC  |>  3C 61         ||CMP AL,61
00ef5DCE  |.  7C 19         ||JL SHORT 00ef5DE9
00ef5DD0  |.  3C 7A         ||CMP AL,7A
00ef5DD2  |.  7F 15         ||JG SHORT 00ef5DE9
00ef5DD4  |>  0FBEC0        ||MOVSX EAX,AL
00ef5DD7  |.  50            ||PUSH EAX
00ef5DD8  |.  68 34170110   ||PUSH 10011734     ;  ASCII "SOIlo"
00ef5DDD  |.  E8 DE340000   ||CALL 00ef92C0
00ef5DE2  |.  83C4 08       ||ADD ESP,8
00ef5DE5  |.  85C0          ||TEST EAX,EAX
00ef5DE7  |.  74 08         ||JE SHORT 00ef5DF1
00ef5DE9  |>  46            ||INC ESI
00ef5DEA  |.  83FE 04       ||CMP ESI,4
00ef5DED  |.^ 72 D1         |\JB SHORT 00ef5DC0
00ef5DEF  |.^ EB C1         \JMP SHORT 00ef5DB2
00ef5DF1  |>  8A4434 04     MOV AL,BYTE PTR SS:[ESP+ESI+4]
00ef5DF5  |.  5E            POP ESI
00ef5DF6  |.  59            POP ECX
00ef5DF7  \.  C3            RETN

/算法call2
00ef5E00  /$  51            PUSH ECX
00ef5E01  |.  56            PUSH ESI
00ef5E02  |>  E8 113D0000   /CALL  00ef9B18
00ef5E07  |.  894424 04      |MOV DWORD PTR SS:[ESP+4],EAX
00ef5E0B  |.  33F6          |XOR ESI,ESI
00ef5E0D  |.  8D49 00       |LEA ECX,DWORD PTR DS:[ECX]
00ef5E10  |>  8A4434 04     |/MOV AL,BYTE PTR SS:[ESP+ESI+4]
00ef5E14  |.  3C 30         ||CMP AL,30
00ef5E16  |.  7C 19         ||JL SHORT  00ef5E31
00ef5E18  |.  3C 39         ||CMP AL,39
00ef5E1A  |.  7F 15         ||JG SHORT  00ef5E31
00ef5E1C  |.  0FBEC0       ||MOVSX EAX,AL
00ef5E1F  |.  50            ||PUSH EAX
00ef5E20  |.  68 3C170110   ||PUSH  1001173C  ;  ASCII "015"
00ef5E25  |.  E8 96340000   ||CALL  00ef92C0
00ef5E2A  |.  83C4 08       ||ADD ESP,8
00ef5E2D  |.  85C0          ||TEST EAX,EAX
00ef5E2F  |.  74 08         ||JE SHORT  00ef5E39
00ef5E31  |>  46            ||INC ESI
00ef5E32  |.  83FE 04       ||CMP ESI,4
00ef5E35  |.^ 72 D9         |\JB SHORT  00ef5E10
00ef5E37  |.^ EB C9         \JMP SHORT  00ef5E02
00ef5E39  |>  8A4434 04     MOV AL,BYTE PTR SS:[ESP+ESI+4]
00ef5E3D  |.  5E            POP ESI
00ef5E3E  |.  59            POP ECX
00ef5E3F  \.  C3            RETN
    有兴趣的可以看看这些算法,不是很难。我的目的是要尽快找到爆破点,时间宝贵啊。注意到刚才有一句:MOV BYTE PTR DS:[ESI+EBX+8],AL  //保存本次循环生成的一位验证码
那我就在验证码的保存地址上下内存读取断点,输入命令:Bpm 1b:f2401c r
Ctrl+d返回到桌面后随即被断下,这次读取是绘制验证码,继续Ctrl+d这次返回到桌面,随便输入4位验证码,确定后立即被断下,接着单步几下就到爆破点了。如下图

   

      输入a 1b:00ef582a 回车后再输入xor eax,eax 回车即完成修改。爆破后直接跳到以下代码处。
00ef59B3   MOV EAX,DWORD PTR DS:[ESI+164]
00ef59B9   PUSH 1                                     ; /Result = 1
00ef59BB   PUSH EAX                                 ; |hWnd
00ef59BC   MOV DWORD PTR DS:[ESI+22C],1            //这里置位禁用标志
00ef59C6   CALL DWORD PTR DS:[<&USER32.EndDialog>]  ; \EndDialog
现在bd * ,然后Ctrl+d返回到桌面,试了一下不再需要输入验证码了,再执行几个驱动工具,瑞星也不报毒了,达到快速禁用的目的。接下来就是收尾工作,用od载入rspalvd.dll,修改后保存,再拷回原来的瑞星目录。这里有个小技巧,你可以把瑞星的几个监控进程结束掉,并以最快的速度覆盖原文件,这里可以打个时间差,否则你是改不了的。最后呼吁,请支持国产软件!

                       Happy birthday天易!
      
                                                                                 By 天易love 2010-1-23

[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

上传的附件:
最新回复 (46)
stalker 8 2010-1-23 22:48
2
0
happy birthday!
我很好奇,干嘛不直接把他卸载掉呢,难道和mm共用?
Fido 2010-1-23 23:10
3
0
原来xx  rising如此简单...
123456
demoscene 7 2010-1-23 23:21
4
0
happy birthday?  
happy birthday!
天易love 18 2010-1-23 23:49
5
0
[QUOTE=;]...[/QUOTE]
留着它有空再玩玩,这比分析病毒有意思多了,想象力不咋的!
天易love 18 2010-1-23 23:55
6
0
[QUOTE=;]...[/QUOTE]
留着它有空再玩玩,这比分析病毒有意思多了,想象力不咋的!
网络游侠 2010-1-24 01:08
7
0
传参部分 很简单
jerrynpc 2010-1-24 10:02
8
0
天易love  大牛又发东西了。
riusksk 41 2010-1-24 10:18
9
0
明明不喜欢它,还装着它,何苦呢!
要是再不行就轻装上阵,裸奔去,哈哈……
hljleo 5 2010-1-24 10:40
10
0
学习了。。。。。
天易love 18 2010-1-24 11:22
11
0
裸奔多年现在就当穿条裤衩,也可防下小人!有何奇怪?难道你会不喜欢穿裤衩?有这种eccentricity?
天外来客 2010-1-24 13:10
12
0
毫无价值,瑞星下次升级时就会替换回来
天易love 18 2010-1-24 13:51
13
0
火星人说话了,可惜我从不自动升级。升级有用吗?看得懂就看,看不懂就回天上去!
riusksk 41 2010-1-24 16:38
14
0
太有才了,火星人
大头和尚 2010-1-24 17:37
15
0
softice不会用,只稍微会点OD。感觉能用softice的都是骨灰级的牛牛. 膜拜
轩辕小聪 7 2010-1-24 18:10
16
0
只要你用驱动在RING0搞怪,啥都可以XX,是不是rising无所谓。
只要你能调试目标程序,对程序流程你想怎么改就怎么改,只是你的能力能不能找到关键或能不能改得好的问题。
“用户自己允许softice启动,开着softice调试杀毒软件”和“病毒进入系统后加驱关闭杀毒软件”两者不能等同,杀毒软件只要防住后者就可以了。
天外来客 2010-1-24 20:52
17
0
呵呵,你看懂了我的话的意思了么?你修改后改动了它的文件,下次升级时它当然会替换回来(除非是瑞星实在太垃圾),至于你不开自动升级功能,那么,你用瑞星做什么?
morning 1 2010-1-24 21:31
18
0
不如卸载省事
天易love 18 2010-1-24 23:50
19
0
你怎么知道升级就会替换我改的文件?难道升级连图标一起升级了?讨论这个毫无意义。我装杀毒软件用来测试不行吗?想不通慢慢想。
zapline 2010-1-25 00:17
20
0
他的意思是 升级时 会对自身的文件校验一次
我记得MJ好像说过 只要qq或者迅雷的文件一被修改 360就会报
难道瑞星连自己都检查一下?
没有风 10 2010-1-25 00:21
21
0
LZ这是公然调戏RS的行为啊,吼吼吼.
天外来客 2010-1-25 16:48
22
0
这年头,升级时不较验自身的杀软都是白痴,这都不明白,你太高估自己了
天易love 18 2010-1-25 17:01
23
0
没你明白的多,你能告诉我瑞星校验了哪些文件吗?我实在是不知道。
nbw 24 2010-1-26 10:26
24
0
管他校验不校验,能杀毒能用不就行么。
楼主调试瑞星碰到反调试么?我用OD无法调试,你用sice碰到无法调试的情况么?
我用一个版本的瑞星,卸载卸不掉,每次卸掉后,过阵子他又偷偷安装了,这个你碰到么?

谢谢!
blueapplez 14 2010-1-26 10:36
25
0
瑞星咋这么流氓呢?  哈哈  强烈支持楼主   装瑞星调试着玩,膜拜ing。。。
天易love 18 2010-1-26 15:38
26
0
Nbw前辈你遇到的情况我都没碰到,SICE调试未遇抵抗,没敢用OD。瑞星应该没那么流氓,卸载没问题。感谢信任!
chengxjj 2010-1-26 15:55
27
0
看雪的确不是一个争论一个程序更新时会不会校验自己的自身所以文件的地方
marcoak 2010-1-26 22:21
28
0
64位系统时代到来时, softice 还能动吗?
天易love 18 2010-1-26 23:27
29
0
人是活的,杀鸡用菜刀杀牛用牛刀,看对象选刀,实在没办法还得自己做刀。做事要考虑成本!
hmilywen 2010-1-27 12:52
30
0
等木马用上。。。
qyc 4 2010-1-27 19:05
31
0
火星地球真是分别之大啊
劉星 2010-1-29 04:07
32
0
可以设个密码啊
xouou 2010-1-29 07:19
33
0
"为了不缩短电脑寿命,我经常会禁用“瑞星杀毒软件”"  这句话无法理解
benteng 2010-1-29 11:52
34
0
楼主,你又给那些玩毒毒的人提供了一个很好的思路。
suiyingjie 2010-1-29 12:54
35
0
瑞星的确认码确实挺烦的,禁用也不错。
cqyxyxyx 2010-1-29 18:20
36
0
强大!... 向楼主学习!
hacker一疒亻 2010-1-30 19:33
37
0
你太牛了!真的,你实现了高与低的零距离
hacker一疒亻 2010-1-30 19:34
38
0
建议类似这样的技术帖子多一点儿,因为这样才叫一个:绘声绘色

改天再来一个OFFICE的DIY  呵呵
yelo 2010-1-31 20:58
39
0
楼主这么有时间分析 瑞星 可不可以抽出时间来 做我的师傅
好可爱 2010-2-2 16:15
40
0
这个问题遇到过,卸载后自动安装,随着系统的重启,瑞星又回来了。我的解决方法是去官方下载了一个完全版的全新安装。然后继续卸载。没了。
解决方法虽然后点说不通。但是每次都能够顺利解决问题。
manbug 2010-4-16 17:05
41
0
厉害了!!!!!!!
qihoocom 9 2010-4-16 17:21
42
0
也就轩辕小聪懂点行,悲剧,楼主继续自娱自乐吧
xouou 2010-4-17 00:35
43
0
支持一下  楼主的帖子让我这个鸟蛋很受用  非常感谢
Greater 2010-4-17 20:42
44
0
头像牛逼 文字牛逼啦 膜拜啦大侠 哈哈
cvcvxk 10 2010-4-17 20:43
45
0
还是找个CALL快速外挂日之的好~
过分耀眼 2010-4-17 20:54
46
0
谢谢分享。 已经学习到了·
zhangteng 2010-4-22 00:45
47
0
楼主这么有时间分析 瑞星 可不可以抽出时间来 做我的师傅
游客
登录 | 注册 方可回帖
返回