首页
论坛
课程
招聘
[求助]关于变速齿轮的检测,有没有朋友有什么好办法啊
2019-8-24 02:45 6705

[求助]关于变速齿轮的检测,有没有朋友有什么好办法啊

2019-8-24 02:45
6705
        1.  之前的变速齿轮基本都是通过HOOK GetTickCount或者timeGetTime实现的, 现在的变速齿轮没有HOOK,没有驱动也能加速,真是奇怪

        2.   现在的检测思路是服务端检测心跳包时间,如果间隔太短,说明收包速度异常,但是由于网络延迟的原因,这个方法并不靠谱,不知道有没有朋友有更好
              的方法推荐啊

[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班

收藏
点赞0
打赏
分享
最新回复 (13)
雪    币: 776
活跃值: 活跃值 (904)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
bambooqj 活跃值 2019-8-24 05:07
2
0
时钟换成循环sleep 比差即可.
雪    币: 12048
活跃值: 活跃值 (7284)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
hzqst 活跃值 3 2019-8-24 10:36
3
0
IcmpSendEcho或者自己写ICMP ping一个保留地址,等待固定时间超时,用GetTickCount或者其他qpc检查时间差,时间差远小于超时时间说明有问题
雪    币: 298
活跃值: 活跃值 (186)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
一二三六 活跃值 2019-8-24 10:50
4
0
但是Sleep的精度是很不靠谱的,而且Sleep的延迟,应该也受变速齿轮的影响吧
雪    币: 298
活跃值: 活跃值 (186)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
一二三六 活跃值 2019-8-24 11:05
5
0
hzqst IcmpSendEcho或者自己写ICMP ping一个保留地址,等待固定时间超时,用GetTickCount或者其他qpc检查时间差,时间差远小于超时时间说明有问题
表哥  你是不是这个意思

int time1 = qpc();
IcmpSendEcho(100ms);    // 这个IP最好是个永远不返回的IP地址,这样就能永远超时100ms了
int time2 = qpc();

if (time2 - time1  < 100ms)    then
    printf("速度异常");

但是现在最怕就是个别变速齿轮会HOOK GetTickCount或者qpc函数,这样我也得实时对这些函数进行CRC检测吧

雪    币: 298
活跃值: 活跃值 (186)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
一二三六 活跃值 2019-8-24 11:05
6
0
bambooqj 时钟换成循环sleep 比差即可.
但是Sleep的精度是很不靠谱的,而且Sleep的延迟,应该也受变速齿轮的影响吧
雪    币: 1684
活跃值: 活跃值 (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
GodSurvive 活跃值 2019-8-24 12:38
7
0
一二三六 但是Sleep的精度是很不靠谱的,而且Sleep的延迟,应该也受变速齿轮的影响吧
用rtdsc指令呗,对方想对抗估计就得上vt了
雪    币: 298
活跃值: 活跃值 (186)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
一二三六 活跃值 2019-8-24 13:55
8
0


这是我分别用Clock   GetTickCount  GetTick64  timeGetTime Qpc  Rdtsc测试的结果,但是开了2倍加速后,这些并没有变化,而且也没有对这些函数的HOOK, 这就很难检测了
最后于 2019-8-24 13:56 被一二三六编辑 ,原因:
雪    币: 6010
活跃值: 活跃值 (2526)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 活跃值 1 2019-8-24 14:15
9
0
服务端不是很好吗,为什么还要在客户端想办法。发现加速拉回或者踢掉封号都行。
除了心跳包肯定还有别的关键变量啊,比如移动距离,对于你服务端来说是可以预测的吧。单位时间内能移动多少距离,超过就说明有问题了。
雪    币: 298
活跃值: 活跃值 (186)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
一二三六 活跃值 2019-8-24 15:04
10
0
黑洛 服务端不是很好吗,为什么还要在客户端想办法。发现加速拉回或者踢掉封号都行。 除了心跳包肯定还有别的关键变量啊,比如移动距离,对于你服务端来说是可以预测的吧。单位时间内能移动多少距离,超过就说明有问题 ...
比如这个单位时间是2秒    这样的话  这个2秒时间是由服务端来控制,还是客户端来控制呢  如果服务端来控制 肯定会有网络延迟的  这样得到的移动距离也不准确   如果客户端来控制  又怕得到的2秒时间不准确。。。。请问有没有办法获取主板时间呢   我感觉这个时间应该不会有问题
雪    币: 20
活跃值: 活跃值 (703)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yy大雄 活跃值 2019-8-24 17:17
11
0
可以试下这样检测:
比如ping包时每3秒发送一次。
在发送第一个ping包时,服务器上记录开始时间t1。
然后收集40个ping包后,服务器记录结束时间t2。
t2 - t1 = 40 * 3( 大约等于),如果发现相差太大,那客户端肯定有问题。
最后于 2019-8-24 17:19 被yy大雄编辑 ,原因: x'x
雪    币: 20
活跃值: 活跃值 (703)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yy大雄 活跃值 2019-8-24 17:21
12
0
要减少判定误差的话,就多分几组。来检测
雪    币: 1
活跃值: 活跃值 (236)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haxk 活跃值 2019-12-27 00:48
13
0
yy大雄 要减少判定误差的话,就多分几组。来检测
如果网络延迟呢?怎么判断
雪    币: 232
活跃值: 活跃值 (100)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
云才哥 活跃值 2020-2-10 03:11
14
0
录像不就行了
游客
登录 | 注册 方可回帖
返回