首页
社区
课程
招聘
[原创]金山安全卫士bc.sys驱动逆向分析(附逆向工程代码)
发表于: 2013-11-25 18:06 22729

[原创]金山安全卫士bc.sys驱动逆向分析(附逆向工程代码)

2013-11-25 18:06
22729

小弟来看雪时间也不短了,只是在看各位大大发帖,自己都没有奉献过。今天把自己原来逆向的一个sys分析和源码给拿出来。对金山安全卫士的一个bc.sys的驱动进行了逆向,并且用ida把大部分改成c代码
逆向只是供研究学习,无意侵犯版权。




附件中是bc.sys的文件和完整的分析的文字记录和代码分析,还有就是逆向的idb文件,我没从idb中把代码给导出来,各位童鞋就放ida里看吧。

先来介绍bc.sys是起啥作用的

BC据笔者的猜测是BootClean的意思。网上也有人曾说过金山还有一个类似的驱动是BootClean.sys。但是笔者电脑中没有此驱动,应该是其他产品所安装的。据此推断,其实bc就是bootclean,boot型驱动,开机即删除需要清除的文件,达到清除顽固病毒的目的。以下是金山官方对BootClean.sys模块的介绍:

 BOOL __stdcall BC_XorEncrypt(PUNICODE_STRING pData,UINT NumberByte, CHAR Key)
  {
    UINT i; // [sp+4h] [bp-4h]@1
  
    for ( i = 0; i < NumberByte; ++i )
      *(i + pData) ^= ( Key ^ (CHAR)0xBA );
    return TRUE;
  }

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 5
支持
分享
最新回复 (30)
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
差不多就这样了
2013-11-25 18:25
0
雪    币: 233
活跃值: (10)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
请问楼主报告是用LaTex打的吗?求模板,谢谢!
2013-11-25 18:35
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
额,你想多了,只是用word写的
2013-11-25 20:39
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2楼就是金山的工作人员啊 朱县长同志
2013-11-25 20:44
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
排排坐 分果果
2013-11-25 20:59
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
膜拜啊,碰到内行了
2013-11-25 21:51
0
雪    币: 18
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
mark
2013-11-25 22:34
0
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
9
逆向小白路过……为何函数都是有名字的
2013-11-26 00:23
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
这是我自己写的名字呀,根据每个函数的意思我猜测的名字,就是这个花费了些功夫
2013-11-26 09:33
0
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错的文章,我距离完全看懂还有不少的路要走啊...
2013-11-26 10:09
0
雪    币: 43
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
一直想进逆向圈的路过。目前停留在应用开发。
2013-11-27 15:19
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
确实不错的东西,长知识了!谢谢!
2013-11-28 10:32
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
有空我也逆一下~

楼主发那么直白、会不会加个免责声明比较好~
2013-11-28 10:40
0
雪    币: 124
活跃值: (469)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
默默mark飘过
2013-11-28 12:39
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
提醒的有必要,加个免责声明去。
2013-11-28 13:09
0
雪    币: 12398
活跃值: (3709)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
牛人啊,问一下是怎么转到C的啊
2013-11-29 08:53
0
雪    币: 25
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
换个6.1及以上的版本,按F5
2013-11-29 09:26
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
金山不是号称开源了么?

这玩意也自称独创……明明和MoveFile( , , MOVEFILE_DELAY_UNTIL_REBOOT)原理不是样的么
2013-11-29 12:44
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
mark
2013-11-29 13:37
0
雪    币: 112
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
我能不能吹个毛求个疵?
二次异或实际应用中只有256*255种情况,如果两次密钥选择都是同一个字节,那么最后的结果和没有加密是一样一样滴……
文章很强大,小心法务函哦呵呵呵呵呵~
2013-11-29 14:03
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
22
不要吓唬我哦,好怕怕

他的密钥是固定的,他只是简单的选了一个固定的密钥简单的加密。
2013-11-29 15:30
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
23
她是在应用层部分像漏洞扫描之类的开源,内部核心算法和内核程序才不会开源
2013-11-29 15:31
0
雪    币: 882
活跃值: (350)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
默默mark飘过
2013-11-30 10:15
0
雪    币: 242
活跃值: (1664)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
25
写的很好,支持一下!
2013-12-1 09:01
0
游客
登录 | 注册 方可回帖
返回
//