Board logo

标题: [安全相关] 木马免杀原理与心得 [打印本页]

作者: i04630123    时间: 2007-5-2 23:12     标题: 木马免杀原理与心得

因为驱动文件不能用OD载入给我们带来了很多麻烦,其实驱动文件和其他文件一样,只不过麻烦一点而已.
1.首先用MultiCCL来定位特征码(不会的话看我前面写的帖子,和做动画),我这里是用的真实的数据,这里定的是卡巴的特征码,结果如下:
文件地址:00001269 00001289
2.用OC转一下,把文件地址转成内存地址.结果如下:
内存地址:00011269 00011289
3.因为不能用OD,所以我们用C32asm载入.选择文件-->打开十六进制文件-->打开PcHide.sys-->选择编辑-->跳转-->OFFSET:00001269-->右键单击-->选择对应汇编模式编辑-->这样我们就来到特征码的反汇编地方啦.
4.我们参看内存地址,把特征码Copy一下:
00011268:  8B55 F8                    MOV    EDX,[EBP-8]
0001126B:  52                        PUSH    EDX
0001126C:  8D45 C8                    LEA    EAX,[EBP-38]
0001126F:  50                        PUSH    EAX
00011270:  8B4D C4                    MOV    ECX,[EBP-3C]
00011273:  51                        PUSH    ECX
00011274:  8B55 C0                    MOV    EDX,[EBP-40]
00011277:  52                        PUSH    EDX
00011278:  E8 73FEFFFF                CALL    000110F0
0001127D:  6A 00                      PUSH    0
0001127F:  8B45 FC                    MOV    EAX,[EBP-4]
00011282:  50                        PUSH    EAX
00011283:  FF15 00030100              CALL    [10300]
00011289:  6A 00                      PUSH    0
这里插一句,有兄弟说MyCCL和MultiCCL有什么区别呢?这里如果你选用MyCCL可能定位的结果是:
00011268:  8B55 F8                    MOV    EDX,[EBP-8],就这么一句或两句,代码很短,有的时候碰上CALL,
JMP,IN,OUT啦,没法改的!不过用MultiCCL就不一样了.为什么会是这样?请你参看我写的"木马免杀原理与心得(一)"上面写的很详细啦!回过头来,继续看我们的代码~
0001127D:  6A 00                      PUSH    0
0001127F:  8B45 FC                    MOV    EAX,[EBP-4]
注意看这两句,第一句是往堆栈里压入0,第二句是把DS:[EBP-4]中的数据转移到EAX中,这两句没什么影响,可以交换指令顺序!改之
5.驱动文件校验
为什么要校验?如果你不校验一下,驱动就不好使~~用PeEdit打开改过的PcHide.sys文件,选择校验和,点修改,然后就哦了.
6.最后测试一下,看看免不免杀,用冰刃载入一下,看驱动正不正常.完





欢迎光临 IT家园 (http://bbs.it998.com/) Powered by Discuz! 7.2