首页
社区
课程
招聘
[求助]谁能过WIN8和8.1的patchguard,以及谁能帮我下个东西?
发表于: 2013-12-24 02:22 15179

[求助]谁能过WIN8和8.1的patchguard,以及谁能帮我下个东西?

2013-12-24 02:22
15179
要把拦截提权和修改时间等功能在WIN8和8.1 64上实现,但因为patchguard的原因,内核HOOK会蓝屏。别跟我提RING3的HOOK,这种东西是糊弄不了老板的。
现在SSDT HOOK经过千辛万苦是写好了,但只能在DEBUG模式下用,正常模式下没几分钟就蓝了。
网上搜索到这个过WIN8 patchguard的:http://www.m5home.com/bbs/thread-7870-1-1.html,但作者不肯公开放出。
谁能帮我弄到这个附件?
或者谁还有别的办法,能在WIN8 64上HOOK SSDT或者别的内核HOOK(顺带给个代码)???小弟在此跪谢了。
本人实习生一个,月薪1800,没有啥钱,谁要能帮我我就把所有的KX给他了哎。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (30)
雪    币: 3520
活跃值: (1852)
能力值: ( LV6,RANK:93 )
在线值:
发帖
回帖
粉丝
2
继续你老板也知道,叫他买那个链接里的源码就好了,何必苦逼了自己,你给他说要是能搞定这个怕不止1800哦。
2013-12-24 09:24
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
http://www.m5home.com/bbs/thread-7870-1-1.html
连接里面都是要重启机器,没啥实际意义。和DEBUG模式没区别
2013-12-24 09:33
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
那个链接里的,实际就是直接修改客户机器上的PE文件,而且是永久性修改,与纯粹的内存补丁是不一样的东西。

自己玩玩的话,无哦所谓,商业程序,这么搞,被人发现,就可以认定为流氓软件,造成损失要赔偿的。
2013-12-24 10:05
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
要能正常商用的程序,你就不要去想怎么过PG了,幻想而已。。。。。

自己想其它办法吧。。。。。没有hook做不了事情么,难道?
2013-12-24 10:07
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我们的电脑怎么弄关你屁事。每次看到关于PATCHGUARD的话题你就忍不住激动,那么搞游戏破解和手机ROOT的人统统可以判死刑了。
2013-12-24 10:38
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
那麻烦你说个有意义的方法,谢谢。

提供一种不重启过PATCHGUARD的方法,或者PATCHGUARD管不着的HOOK方式。

另外我发现,光DEBUG模式不行啊,必须是开机前就进行双机调试才行,否则必蓝。
2013-12-24 10:39
0
雪    币: 233
活跃值: (10)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
8
不重启过PatchGuard的方法不是不存在,只是很难做到,肯定不是简单的Patch一下哪个函数,干掉哪个Timer就行了。一般有办法的作者都去发表学术论文了......

另外,这类方法的学术价值高于实用价值,因为PatchGuard可以很快升级来应对。也就是说,在产品里用是不现实的。如果您的boss执意采用这种方法,那么......
2013-12-24 10:46
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
BOSS才不管你用什么方法呢。
我也不想得罪PG,只想在R0实现拦截“提权”和“改时间”。这才是我的目的。
问题是除了HOOK SSDT之外,还有别的方法实现么???
2013-12-24 10:50
0
雪    币: 233
活跃值: (10)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
改时间是会发送通知的,具体的忘了,但是实在改时间完成以后发送的,有些晚。

你说的提权是只什么?UAC那个提到管理员还是到更高的System什么的?
2013-12-24 10:54
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
本来是给你提个醒而已。。。。。这么愤青的,居然

难不成别人现有的64位带主防的东西,别人不用hook做不了事么?自己多研究,技术不是这么急功近利就能长进的。
2013-12-24 10:56
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
全RING3吧,其实只要做得好一样能拦住的,不是说非要RING0不可,如果BOSS非这么认为,只能说BOSS属于小白水平
2013-12-24 11:13
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
以前看雪上有一篇帖子,URL忘记了。讲的就是不依靠NTDLL实现调用NTDLL的函数。

自己看了下NTDLL那些函数(ZwXXX),实现的汇编码也很简单,直接把这些汇编码复制到内存区(BUFFER)里跑就行了。

所以说RING3的HOOK是不靠谱滴。

还有,老板只有钱,压根没水平,白菜都算不上。
2013-12-24 11:17
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
确实是很多办法可以对付RING3 HOOK,但是你确定你的对手有这么强么,如果没有,非要搞RING0就是得不偿失。
2013-12-24 12:48
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
过PG比较有难度,搞搞VMX什么的容易些
2013-12-24 12:55
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
PatchGuard引发蓝屏的方式:
KeBugCheckEx(0x109,0x0,0x0,0x0,0x7);

PVOID GetFunctionAddr(PCWSTR FunctionName)
{
        UNICODE_STRING UniCodeFunctionName;
        RtlInitUnicodeString( &UniCodeFunctionName, FunctionName );
        return MmGetSystemRoutineAddress( &UniCodeFunctionName );   
}

void WPOFFx64()
{
        UINT64 cr0=__readcr0();
        cr0 &= 0xfffffffffffeffff;
        __writecr0(cr0);
        _disable();
}

void WPONx64()
{
        UINT64 cr0=__readcr0();
        cr0 |= 0x10000;
        _enable();
        __writecr0(cr0);
}

VOID AntiBugCheck_1() //SUCCESS
{
        //KeBugCheckEx
        //fffff800`03c81f00 48894c2408    mov qword ptr [rsp+8],rcx
        UCHAR fuckcode[210]={0};
        KIRQL OldIrql;
        ULONG jmpcode;
        //get address
        PVOID bcaddr = GetFunctionAddr(L"KeBugCheckEx");
        //set memory
        memset(fuckcode,0x90,210);
        memset((PVOID)((UINT64)fuckcode+201),0xE9,1);
        //calc shellcode
        jmpcode=(ULONG)((ULONG64)bcaddr-((ULONG64)bcaddr+201)-5);
        memcpy(fuckcode+202,&jmpcode,4);
        //patch
        WPOFFx64();
        OldIrql = KeRaiseIrqlToDpcLevel();
        RtlMoveMemory(bcaddr,fuckcode,210);
        KeLowerIrql(OldIrql);
        WPONx64();
}
2013-12-24 13:17
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
早试过这个代码了,没用。继续求。
2013-12-24 14:47
0
雪    币: 281
活跃值: (152)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这PG我以前弄过,一开始不知道有这东西的存在,hook了64位,发现过半小时就蓝了。后来就没碰它了。
64位下不能hook,但微软给了一套方案是给开发者监控句柄达到hook的目的什么的,是叫什么名字不记得了只是听别人提过。
反正微软有一个机制给你hook。这机制叫啥名字我不知道
2013-12-24 14:54
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
反正世界上有长生不老的方法,但是名字叫啥我不知道。
2013-12-24 16:53
0
雪    币: 155
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
可以学习下360的64位防护,用VT做的,秒过patchguard

想不用VT硬过win8 patchguard,估计楼主再练10年也不可能,就是这个论坛里我估计能硬过的也不超过3个。

如果patch很多系统文件和MBR过的话呢(就是m5home那个),如果你们老板能接受,也是个可行的路子,这个难度就很低了,m5home那个作者就是个小白,他既然能写,随便拉个学生过来也能写,不过当然还得处理secure boot的问题,比如这个方案就不能支持secure boot/UEFI的硬件,这个WIN8的新机器基本上都有,secure boot不是不能过,但过的方法针对性太强。

其实呢,也不用这么纠结强度, 你以为你把钩子做到ring0就不会被过了吗?水平不到位,一样秒绕。
2013-12-24 17:23
0
雪    币: 281
活跃值: (152)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
。。楼上什么情况?
2013-12-25 11:19
0
游客
登录 | 注册 方可回帖
返回
//