首页
社区
课程
招聘
[求助]暴力搜索也蓝
发表于: 2010-9-28 18:28 4887

[求助]暴力搜索也蓝

2010-9-28 18:28
4887
某保护一直写debugport,只有三种方法过(最少我只想得到)
1,R0下硬断点找出写0保护驱动代码处,处理掉
2,修改内核中所有函数对EPROCESS+BC处访问的偏移
3,EPROCESS+BC处直接让其内存无效,int 0xE缺页异常处理做HOOK

我选择了第二种,但总是蓝。 代码才几行,各位帮我分析分析原因。
void FindIoWriteCrashDump()
{
    unsigned char KeyCode[6] = {0x81, 0xC3, 0xBC, 0x00, 0x00, 0x00};
    ULONG i = 0x804d8000;
    for (; i < 0x804d8000+0x1f000000; i++)
    {
        __try
        {
            if ( MmIsAddressValid(i) )
            {
                if ( *((ULONG *)(i)) == *((ULONG *)(KeyCode)) )
                {
                    if ( *((short int *)(i+4)) == (short int)0x00 )
                        DbgPrint("ADD = %X", i);
                }
            }
        }
        __except(EXCEPTION_EXCUTE_HANDLER)
        {}
    }
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
2

暴力搜索不仅容易蓝,而且还容易死机呢

把这个MmIsAddressValid换成处理了pae情况的函数试试,IsAddrValid()网上有

2010-9-28 18:34
0
雪    币: 1096
活跃值: (374)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
我也遇到过,建议这段代码在xp系统上跑跑。
1)限定扫描范围在非分页内存,会稳定些。
2)MmIsAddressValid判断后,将内存拷贝至新的缓冲区再进行匹配,也会稳定。
3)就是楼上说的那种方法,好像叫做判断当前页标志中某一位是否为脏数据。

试试看看,

借此贴问问有没有人在win7暴力搜索过?
2010-9-28 22:40
0
雪    币: 111
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我多加点判断试试
2010-9-29 07:35
0
雪    币: 111
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我按http://bbs.pediy.com/showthread.php?t=75681
这个贴子的暴力搜索,还是蓝...
2010-9-29 07:35
0
雪    币: 1096
活跃值: (374)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
http://bbs.pediy.com/showthread.php?t=109819
看看这个
2010-9-29 15:38
0
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
在限定的范围内搜索应该比较好, NtQuerySystemInformation得到加载的驱动的信息,然后在imagebase 和 size 范围内搜索
2010-10-15 13:53
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
8
话说某保护这个偏移0xBC是个DWORD型的全局变量,位置比较**,你懂得...
2010-10-15 14:09
0
游客
登录 | 注册 方可回帖
返回
//