首页
社区
课程
招聘
未解决 [求助]VirtualAllocEx函数分配的内存释放之后一定几率闪退 30雪币
发表于: 2024-6-26 23:42 1857

未解决 [求助]VirtualAllocEx函数分配的内存释放之后一定几率闪退 30雪币

2024-6-26 23:42
1857

找到了一个游戏的移动call,伪造了参数,其中一个参数是一个结构指针,我用VirtualAllocEx函数申请了内存,填写了结构。问题来了,如果每次用完,都free掉下一次重新VirtualAllocEx,就有几率在某一次移动开始一段后直接闪退,而如果VirtualAllocEx申请了就重复使用这片内存,就不会出现闪退的问题。但是如果我直接把我的测试程序关闭(此时没有free),再重新运行测试程序(会再分配一次内存,之后重复使用),运行也有几率闪退。
求教各位大佬,问题可能出现在哪?或者这种闪退有没有办法捕获和定位?我用windows事件查看器没有找到这个闪退的错误事件。
万分感谢!

1
2
3
4
5
具体用到这两个内存函数是下面这样:
LPVOID Address;
Address = VirtualAllocEx(handle, NULL, size, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
如果用了free则是下面这样:
VirtualFreeEx(handle, Address, NULL, MEM_RELEASE)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
已解决
2024-6-27 13:31
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
和这几个接口无关,游戏机制导致的问题
2024-6-27 13:32
0
游客
登录 | 注册 方可回帖
返回
//