内存数据查找问题

z15881328993 2009-04-28 05:05:10
前面几位大师说游戏开发商会对数据特殊保护,我有个想法,就是找出变化为某个差值的数据,但是要对大量数据备份,方法太笨,如果开发商用异或来加密,那唯一的办法就是这出这个异或的数才能解密,显然不现实啊,如果先找出变动了的数据会大大缩小范围,就是要先备份数据,数量太大了,感觉方法不对,金山游侠又快又准是怎么做的,有人能说之一二吗
...全文
208 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream19861009 2009-04-30
  • 打赏
  • 举报
回复
1.先要指定进程,因为每个进程都有虚拟的2G空间
2.在指定进程的2G虚拟空间中进行查找,可用VirtualQueryEx提高搜索效率,一页(4K)一页搜,不是MEM_COMMIT和PAGE_READWRITE的直接跳过(这样效率还是挺高的,速度也很快)
3.改变变量值后,再次搜索,直到唯一。
4.搞定。。。(需要修改就直接WriteProcessMemory修改)
z15881328993 2009-04-30
  • 打赏
  • 举报
回复
找大型游戏的数据地址没那么简单啊,有的是放在两个地址,有的动态分布,数据变地址就变,怎么找啊
coolstar14 2009-04-29
  • 打赏
  • 举报
回复
不知道游侠啥记录的, 它好像使用时用内存并不是太大.
z15881328993 2009-04-29
  • 打赏
  • 举报
回复
00400000-7ccccccc这个大个范围,太大了,
所谓的数据地址一直在变,是不是每一次数据改动就malloc一个内存来更新新地址,怎么找呢,红警2是这么做的吗
机智的呆呆 2009-04-29
  • 打赏
  • 举报
回复
建议楼主还是到看雪问吧~~
jackzhhuang 2009-04-29
  • 打赏
  • 举报
回复
可以这样缩小范围

只搜00400000-7ccccccc的地址

梅文海 2009-04-29
  • 打赏
  • 举报
回复
Cheat Engine 就是专门用来找变化的数据的,哪怕你的数据被析构了也一样可以找到偏移地址
z15881328993 2009-04-29
  • 打赏
  • 举报
回复
找不到它的地址,死了都要找~~~~我有个不好想法,就是把红警2的数据全部备份,然后找出数据在变动的地址,就是空间那么大,内存消耗太猛了
mengde007 2009-04-29
  • 打赏
  • 举报
回复
楼主为什么总是不死心呢??
z15881328993 2009-04-29
  • 打赏
  • 举报
回复
楼上的方法不行,我用金山找到得地址用VirtualQuery取检查发现那个地址所在区域不是MEM_COMMIT提交页,纳闷,不知何因
长安宁 2009-04-28
  • 打赏
  • 举报
回复
1.你首先得先找到这个进程
2.然后,用全权打开它
3.设想一下,这个值的数据类型,如 int,double等
找到一样的,再记录
4.然后关闭


我的做法是,先找一个软件,去确定这个数值
如果你只想本次去修改它,就直接,从3.去修改它

如果想每次打开你的软件,就能定位到这个数值,那么就要用到,数值的偏移,形如:[[[92cd14+1C]+24]+25C],这个样子.
复杂一点,网上到处都是教程

介绍一个,软件,你可以试试:Cheat Engine.CN
z15881328993 2009-04-28
  • 打赏
  • 举报
回复
就是想改内存的数据
  • 打赏
  • 举报
回复
帮顶,楼主到底想干啥呢?
Paradin 2009-04-28
  • 打赏
  • 举报
回复
e/?
alaigo 2009-04-28
  • 打赏
  • 举报
回复
不会
「已注销」 2009-04-28
  • 打赏
  • 举报
回复
这个没做过,友情支持吧。
楼主或许可了解下加密解密相关知识。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧