首页
社区
课程
招聘
未解决 [求助]Steam某游戏,win7可变速、win10不行
发表于: 2018-10-18 23:16 5293

未解决 [求助]Steam某游戏,win7可变速、win10不行

2018-10-18 23:16
5293
最近在Steam上玩了一款多人联机的游戏,游戏客户端win7和win10都是64位的虚幻4引擎,基本没做任何保护,之前用CE自带的变速可以轻松N倍速,但是官方后来更新了一次客户端,win10加速不了了,但win7还是能完美加速。此外,游戏客户端仍然是没有什么保护。
后来我调试了一下,感觉游戏还是用老的3个时钟函数getTickCount,QueryPerformanceCounter和timeGetTime,我全部 hook了一遍,和CE的修改方式一样,但是还是没用。调试时游戏也调用了我的改版函数,但是画面一点也没加速。用CE也是,没有提示任何错误,也注入成功了,但是游戏画面没有任何加速。好像之前win10 store里的游戏也是这样,win10自带的笔记本也没法变速,是不是一个原理?
另外,win10上用兼容性win7运行也无法变速。调试的时候看到有TLS回调函数,是不是这个原因?是不是hook了RtlQueryPerformanceCounter就有用了?再不行就只能搞个什么驱动级变速了。
求各位大佬解答,最近被这个问题折磨得废寝忘食,orz。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2018-10-19 08:45 被GenBrk编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 5
活跃值: (531)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
在win7上根据gettickCount向上找出关键函数呢
2018-10-19 09:40
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好像看出点端倪了,客户端还用了个GetSystemTimeAsFileTime,但是我注入代码里哪怕调用一下这个函数都会出现EXCEPTION_ACCESS_VIOLATION,看来是有保护?但是怎么搞定呢?

好吧,是空指针的问题,我太菜了,不过成功Hook之后还是没用,真是绝望。 
最后于 2018-10-19 17:24 被GenBrk编辑 ,原因:
2018-10-19 16:40
0
雪    币: 780
活跃值: (2473)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
确认下你的时钟钩子 是不是被恢复了。
2018-10-19 18:20
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
进去看过,应该没问题,开发商不会搞这么高级的东西。
再不行的话搞个驱动变速好了
2018-10-19 18:29
0
雪    币: 1485
活跃值: (1135)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
要用驱动hook
2018-10-22 07:42
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
但是实在想在应用层搞定这个游戏,因为如果驱动的话给别人用就报毒。。。
2018-10-22 10:03
0
雪    币: 12857
活跃值: (9172)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
8
1、考虑钩子没挂上,你用CE确认过目标函数头部代码确实被勾上了吗?
2、考虑win10用rdtscp来计时,不用api?
2018-10-22 11:23
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
目标函数头确实勾上了
我确实注意到游戏调用了RtlQueryPerformanceCounter,然后用了rdtscp,我可能还要研究一下哪些别的地方用了rdtscp
2018-10-22 14:16
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢各位大佬!问题解决了,真的是有一个判断,win10用rdtscp,win7用api,
2018-10-22 14:48
0
雪    币: 204
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
rdtscp是不是无解了?写驱动能改rdtscp么?我看到游戏应该用内联函数编译的,反编译出来有好多rdtscp,如果不改rdtscp而是一个个改原来的汇编代码会很麻烦。
我注意到应该是CPU有一个rdtscp的flag,如果去掉的话应该就行了,但是还在研究怎么搞。
最后于 2018-10-22 16:25 被GenBrk编辑 ,原因:
2018-10-22 16:23
0
雪    币: 293
活跃值: (254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
lz解决了吗,
2019-2-28 10:00
0
游客
登录 | 注册 方可回帖
返回
//