首页
社区
课程
招聘
未解决 [求助]一款游戏的寻路call寻路坐标超出40就会提示vc runtime error。
发表于: 2019-3-7 15:51 3159

未解决 [求助]一款游戏的寻路call寻路坐标超出40就会提示vc runtime error。

2019-3-7 15:51
3159
如题,寻路坐标太远就会报错提示runtime error。游戏不会退出,但是不能寻路。
如果在40范围之内就不会出错,而且能正常寻路。
经过多次分析,call应该没错,应该是游戏对外部call的一个检测,线程或内存溢出,求高手指点迷津,怎么破

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

最后于 2019-3-7 15:53 被华小佗编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 57
活跃值: (2433)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
发消息 让游戏的主线程去调用你写的call
最后于 2019-3-7 18:03 被qiusuper编辑 ,原因:
2019-3-7 18:03
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
发消息 让游戏的主线程去调用你写的call
2019-3-7 20:19
0
雪    币: 772
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
NO。你这不是寻路call而是鼠标点击call
2019-3-8 04:07
0
雪    币: 772
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
只有鼠标点击call,才会在你点击超出屏幕视角范围才会报错。而且正常情况下你没可能点出范围。
2019-3-8 04:09
0
雪    币: 3676
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
40是十六进制,还是十进制?
2019-3-8 13:13
0
雪    币: 772
活跃值: (987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
老牜lyh 40是十六进制,还是十进制?
你读什么类型就是什么
2019-3-8 19:10
0
雪    币: 424
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
大神,你说的好像没错。虽说那个寻路call下面还有个走路call,分别下断的效果不一样。但是两个call都不能移动太远,今天我又参考了别人的文章向上跟看看是不是坐标被加密了呢。跟到上面的call没有明显坐标的参数,但是很明显应该是被加密的,那么现在我该如何解析他的加密?求赐教  
2019-3-10 22:58
0
雪    币: 424
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
ffashi 只有鼠标点击call,才会在你点击超出屏幕视角范围才会报错。而且正常情况下你没可能点出范围。
40的值移动会超出屏幕范围,所以call是没错的。本来看到你的回答觉得有几分道理,然后我继续向上跟汇编代码,并没有得到结果,然后猜测是非主线程调用导致的结果,经测试发现确实是非主线程调用的原因。不过在此感谢你回答的这么详细这么多!
最后于 2019-3-11 23:01 被华小佗编辑 ,原因:
2019-3-10 23:00
0
雪    币: 424
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
ffashi NO。你这不是寻路call而是鼠标点击call
感谢你的回答,今天经过多方面的测试和修改以及研究,我的寻路call没有问题,只是调用汇编代码的方式应该是在主线程调用,而不能用创建远程线程。因为创建了远程线程所以才会有runtime error 这种溢出。
最后于 2019-3-11 22:57 被华小佗编辑 ,原因: 解决了我的原问题,希望把答案更清晰的描述和share给大家
2019-3-10 23:00
0
雪    币: 424
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
qiusuper 发消息 让游戏的主线程去调用你写的call
你说的对,但是游戏好像不支持api得直接调用,我通过setwindowshookex像游戏发送消息返回的钩子都是零,就好像直接调用readmemory、writememory的结果返回0时一样的。应该是游戏拒绝外部调用api,不过我对比了超级模块里面的某个类和某知名插件修改了我调用函数的参数,搞定了,参数介绍是创建远程线程,当修改为在当前线程调用的参数后,游戏就正常运行了。
2019-3-11 22:54
0
游客
登录 | 注册 方可回帖
返回
//