首页
社区
课程
招聘
未解决 [求助]关于变速齿轮的检测,有没有朋友有什么好办法啊
发表于: 2019-8-24 02:45 8857

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

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

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

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

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
2
时钟换成循环sleep 比差即可.
2019-8-24 05:07
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3
IcmpSendEcho或者自己写ICMP ping一个保留地址,等待固定时间超时,用GetTickCount或者其他qpc检查时间差,时间差远小于超时时间说明有问题
2019-8-24 10:36
0
雪    币: 302
活跃值: (246)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
但是Sleep的精度是很不靠谱的,而且Sleep的延迟,应该也受变速齿轮的影响吧
2019-8-24 10:50
0
雪    币: 302
活跃值: (246)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
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检测吧

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


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