看流星社区

 找回密码
 注册账号
查看: 3438|回复: 7

[求助]使用CALL注入后,客户端会澎涨~~如果及时释放内存?

[复制链接]

该用户从未签到

发表于 2011-4-24 10:30:15 | 显示全部楼层 |阅读模式
我用CALL实现简单的普通,喝药,捡东西后,每次过几小时候,发现客户端所占的内存变得很大。而且还不断的上涨。
  VirtualFreeEx(PHND, ThreadAdd, 4096, MEM_RELEASE);
  VirtualFreeEx(PHND, ParamAdd, ParamSize, MEM_RELEASE); //释放申请的地址

这里已申请了释放内存。为何还会增加呢?有办法解决吗?

该用户从未签到

发表于 2011-4-24 10:30:23 | 显示全部楼层
DLL ,CALL用久了会出现人物卡住不动,但是能说话,能选怪,就是人物动不了,怎么回事?

该用户从未签到

发表于 2011-4-24 10:30:29 | 显示全部楼层
是不是调用完之后要 sleep一段时间再去执行下面呢?

但是我调用了sleep呀,不过我里面有while循环,不过应该没什么问题的

楼上的兄弟能不能说清楚点呢

该用户从未签到

发表于 2011-4-24 10:30:36 | 显示全部楼层
延时和同步做够是不会出现这样的事的...要和服务器数据同步

比如不能同时用技能加血又是用技能打怪

该用户从未签到

发表于 2011-4-24 10:30:51 | 显示全部楼层
我试着在注入前,就将分配两块内存,然后用全局变量指针指向该内存,然后将语句改成:
  WriteProcessMemory(nOK, ThreadAdd, Func, 4096, lpNumberOfBytes); //写入函数地址
  WriteProcessMemory(nOK, ParamAdd, Param, ParamSize, lpNumberOfBytes); //写入参数地址

  hThread := CreateRemoteThread(nOK, nil, 0, ThreadAdd, ParamAdd, 0, lpNumberOfBytes); //创建远程线程
  WaitForSingleObject(hThread, INFINITE);//等待线程结束

ParamAdd, Param这两个全局指针,只赋一次值。也就是只分配一次内存。但为什么还会澎涨?

该用户从未签到

发表于 2011-4-24 10:30:58 | 显示全部楼层
CloseHandle(PHND);

该用户从未签到

发表于 2011-4-24 10:31:09 | 显示全部楼层
可以用个定时器定时激活然后最小化游戏窗口内存,自然就释放了
激活命令:SetForegroundWindow
不知道最小化怎么写,有人知道么?

该用户从未签到

发表于 2011-12-2 18:38:19 | 显示全部楼层
虽然我这简单的回复属于灌水,但也是对楼主莫大的支持
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-6 03:45

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表