- 在线时间
- 141 小时
- 威望
- 42
- 金币
- 189
- 贡献
- 16
- 最后登录
- 2012-5-15
- 注册时间
- 2007-10-16
- 帖子
- 157
- 精华
- 0
- 积分
- 333
- UID
- 31153

签到天数: 3 天 [LV.2]偶尔看看I
|
发表于 2009-10-23 21:55:58
|显示全部楼层
原创:BIOS之家DBSLDR分析
作者:黑土
还是那句话,做人莫装13,装13遭雷劈!
好了,分析开始.
分析目标:
DBSLDR V1.0.96.5
MD5: 18A81FDEAAB401CB3BCABF4D3C5B9B43
PECompact V2.X-> Bitsum Technologies
经分析,实际上是易语言写的.所以很多杀软灰常爱报毒,加之加了一个PECompact的木马常用壳.所以报毒是易之加易.
所以,加壳时注意啊...
其实这个软件也没在太多新意.
和之前分析的那个Win7 loader 的分析 差不多.
区别无非是一个是CMD打包,一个是易语言编译.本质还是一样的.
好,现在就把核心的东西搞出来吧.
0046E9BC 55 push ebp ; 安装按钮事件开始地址
0046E9BD 8BEC mov ebp, esp
0046E9BF 81EC 24000000 sub esp, 24
.........
我只贴关键处开始代码.然后大家自己跟一下就行了.
我这只贴默认核心代码,其它的自行跟踪.
0046EEE6 E8 980D0000 call 0046FC83 ; 释放安装用bootsect.exe到临时目录
0046EEEB 83C4 1C add esp, 1C
0046EEEE FF35 B005D600 push dword ptr [D605B0]
0046EEF4 68 FE1F4500 push 00451FFE ; /NT60
eax=001E3008, (ASCII "C:\DOCUME~1\360\LOCALS~1\Temp\25564a.tmp /NT60 C:")
说明一下:
25564a.tmp 实际上是修改过的bootsect.exe
作用是把bootsect中的bootmgr都修改为了esldr,这样写入MBR后,系统会首先寻找esldr,在esldr中运行完acpi后再运行bootmgr启动win7。
完成上面的操作后,再将C:\ntldr文件复制一份命名为C:\boormgr.
-----------------------------------------------------------------------------------
接下来,分析卸载过程.
0046DEAB 55 push ebp ; 卸载过程
0046DEAC 8BEC mov ebp, esp
0046DEAE 81EC 20000000 sub esp, 20
0046DFDE E8 A01C0000 call 0046FC83 ; 释放卸载用bootsect.exe到临时目录
0046DFE3 83C4 1C add esp, 1C
0046DFE6 FF35 B005D600 push dword ptr [D605B0]
0046DFEC 68 FE1F4500 push 00451FFE ; /NT60
0012F4D0 001E3200 ASCII "C:\DOCUME~1\360\LOCALS~1\Temp\255649.tmp /NT60 C:"
说明一下:
255649.tmp 实际上是未修改的bootsect.exe,其作用就是还原bootmgr.
嗯.简单分析.
原理其实看批处理比跟踪这个EXE清晰.
感兴趣的就照着这个写一个吧.
关键点如下:
1.修改安装用bootsect.exe,可以自己定义esldr这个名字.再使用上面命令行.详细可以参见Win7 loader 的分析
2.GRLDR部份未将详细分析.感兴趣的再读读http://bbs.znpc.net/viewthread.php?tid=5498&extra=&page=1文章.
这里有关于证书替换方面的信息.这也是我上文中没有提到的地方.
好了.回家去了... |
|