首页
社区
课程
招聘
[半原创]Win7x64系统过TP的一些尝试和目前遇到的问题
发表于: 2014-10-6 18:42 36905

[半原创]Win7x64系统过TP的一些尝试和目前遇到的问题

2014-10-6 18:42
36905
收藏
免费 3
支持
分享
最新回复 (50)
雪    币: 28
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
26
这是常规方法,不过我觉得太麻烦,我会想点其他方法搞定……
最近有点忙,没时间调游戏,这块暂时搁置……
2014-10-13 18:38
0
雪    币: 28
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
27
这和改偏移位置是一个思路吧
2014-10-13 18:39
0
雪    币: 28
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
28
嘿…………这么神奇吗……还真没注意,最近几天有点忙,忙完这块我再来调戏下DXF
2014-10-13 18:41
0
雪    币: 71
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
谢谢楼主啊,学习了。
2014-10-14 17:41
0
雪    币: 5
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
nice
2014-10-15 08:31
0
雪    币: 1
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
不会吧,x64有patchguard,不能hook内核函数,TP自己也没hook。
2014-10-23 12:57
0
雪    币: 293
活跃值: (239)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
技术帖,收藏一下
2014-11-11 21:19
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
那么问题来了。。。
2014-11-12 09:38
0
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
mark.
新手学习一下
2014-11-12 20:48
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
发个帖,证明我还存在。
2014-11-12 20:53
0
雪    币: 28
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
36
自己调试的话可以先过PG
TP里似乎是没有hook函数,但它改了某些变量
2014-11-12 21:04
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
??????????????/
2014-11-13 11:23
0
雪    币: 1
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
过PG只是在较早的版本可以,往后越来越难,win8.1还没看到真正可以过的,以后只会更难,这条路走不通。
话说回来,PG越完善,保护软件也越干净,现在win8.1x64里的内核保护是非常容易过的。所以保护软件都把大量的强度转移到ring3了,各种hook、花指令、虚拟机、校验线程,很浪费时间。TP的ring3花指令很厉害,ida里一大堆乱码,用调试器去跟发现它所有的call都用jmp,然后把堆栈清掉,根本不知道是哪里调用的。
2014-11-18 22:32
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
请问可以问一下吗。
IoAllocateMdl
hook了这个函数后,如何再调用以前的函数呢?
oldIoAllocateMdl这个函数,就算调用,也调用不到吧。。。不一样会调用MyIoAllocateMdl然后如此一直循环调用。造成卡死。
用的什么方法去HOOK这个函数的。。。不是jmp到自己函数头部吗? 就跟NTOpenProcess那样处理一样的HOOK,
如果可以的话,请发一下相关的代码,,让我自己看看。。或者能否稍微讲解一下。。困扰2天了这个问题。一直蓝屏。
我选择jmp到自己头部。
然后判断。。是TP就+30
不是TP就跳回去原地址
但是这样。不开TP还是没问题。。运行游戏后,就会蓝屏。。不是出现999999.而是C2, {7, cd4, a0033fff, 80556a74}
80556a74是pKdEnteredDebugger+0x30的地址
楼下我的代码
2014-11-20 19:15
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
PMDL MyIoAllocateMdl(
                                        __in_opt PVOID  VirtualAddress,
                                        __in ULONG  Length,
                                        __in BOOLEAN  SecondaryBuffer,
                                        __in BOOLEAN  ChargeQuota,
                                        __inout_opt PIRP  Irp  OPTIONAL)
{

        __asm pushad
        ULONG a=(ULONG)(IoAllocateMdl)+5;

        if (pKdEnteredDebugger == VirtualAddress)
        {
                VirtualAddress =(PVOID)((DWORD)pKdEnteredDebugger+0x30);  //+0x20  是让他读到其他的位置
        }
        else
        {
                __asm
                {
                         popad
                        mov eax,a
                        jmp eax
                }
        }
                __asm popad
  return (PMDL)VirtualAddress;
}
2014-11-20 19:17
0
雪    币: 28
活跃值: (34)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
41
你还是去翻翻帖子学一下hook的原理吧,补补基础,先别急着搞TP了
2014-11-21 20:52
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
r3没处理啊 附加就崩溃
2014-12-3 19:02
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
没看懂啊
2015-1-6 08:38
0
雪    币: 11
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
nt!KeUpdateSystemTime+0x1dd:
fffff800`03e8445d 381dadfc9efe    cmp     byte ptr [fffff800`02874110],bl
fffff800`03e84463 7474            je      nt!KeUpdateSystemTime+0x259 (fffff800`03e844d9)
fffff800`03e84465 8b056d711900    mov     eax,dword ptr [nt!KiPollSlotNext (fffff800`0401b5d8)]
fffff800`03e8446b 890563711900    mov     dword ptr [nt!KiPollSlot (fffff800`0401b5d4)],eax
fffff800`03e84471 ffc0            inc     eax
fffff800`03e84473 89055f711900    mov     dword ptr [nt!KiPollSlotNext (fffff800`0401b5d8)],eax
fffff800`03e84479 8b058ddb2200    mov     eax,dword ptr [nt!KeNumberProcessors (fffff800`040b200c)]
fffff800`03e8447f 8b0d53711900    mov     ecx,dword ptr [nt!KiPollSlotNext (fffff800`0401b5d8)]
kd> dd MyKdDebuggerEnabled
fffff880`02874110  00000001 00000000 00000000 00000000

fffff800`02874110  fffff880`02874110这两个差个8,不知道怎么处理,偏移只能替换4字节内容,如果直接用88去计算偏移位置不够,,您没有遇到这个问题吗?
2015-3-1 17:35
0
雪    币: 420
活跃值: (1074)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
45
是有这个问题,要是按照楼主的方法改,指令长度都得变,你最好在ntoskrnl模块里找始终为1的常量,然后替换掉KeUpdateSystemTime里对KdDebuggerEnabled引用的部分
2015-3-4 09:56
0
雪    币: 64
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
46
学习了 不错不错
2015-8-10 13:52
0
雪    币: 324
活跃值: (60)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
47

大神,这个现象的确是这个现象,那这个要怎么破
2015-11-22 11:20
0
雪    币: 118
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
48
mark慢慢学
2015-11-23 08:57
0
雪    币: 1636
活跃值: (3820)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
mark  ValidAccessMask
2018-5-24 21:16
0
雪    币: 4662
活跃值: (3902)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
bingkan 第一张图调试的不是DNF,而且其他程序,所以OD正常 第二张图是DNF,OD显示不正常,也找不到模块信息
我也遇到过就是附加后游戏不会暂停然后点击E选项卡查看某块信息是空的。
2018-11-19 17:34
0
游客
登录 | 注册 方可回帖
返回
//