突然想到修改游戏的金手指码的问题,求解

  • y
    yfl2
    金手指码一般两部分,即内存地址和设定值,别人做好的码,是基于他当时找到的对应地址,当再次使用的时候,如何保证地址没有变化呢?这些平台能保证每次游戏特定数据在内存中的地址固定吗?
  • A
    Al.
    不需要固定 能查找到就可以
  • b
    beterhans
    大多数 Console机器 内存位置都是固定的

    可能后来的 基于 PC构架的就不一样了
  • c
    choudi
    金手指码是模拟的机种的内存地址,是固定的。

    打个比方,你拿了一个鸡蛋盒子,第三格里有颗蛋,不管这个盒子放在床上还是桌子上,这颗蛋对于盒子来说总是在第三格里。
  • R
    Rudy
    c语言编游戏时候,全局类变量一般都是固定内存地址的。像hp,sp,钱之类。
    动态分配的变量内存地址会变化,一般游戏场景玩家不会去改这种变量。
  • 小螃蟹
    因为现在都是用的虚拟内存地址。什么是虚拟内存?就是假设你这个软件独享几百G的超大空间,而真正的硬件内存地址对你是不可见的。
  • y
    yfl2
    算虚拟的好了,也就是默认固定的一段地址
    我的意思是,程序还会特别定义某对象在内存中的存放位置?pc游戏也是这样吗?这样做和让os自由分配相比的好处是?
  • j
    jiejieup
    动态分配内存的话,内存可以回收。比如游戏一共10个场景,不可能一开始就把10个场景都加载到内存中,肯定是玩家选择那个场景就加载哪个。但代码的内存使用量很少,基本不需要动态分配,开发效率高。
  • 侧耳倾听
    好像主机和PC的内存方式是不一样的,主机是固定的内存地址,PC好像是随机地址。PC端这几年一直用CE,但是对于现成的CT文件,还是理解不能,所以只能做到现用现查现改。
  • y
    yfl2
    那么指定地址有什么好处呢?让系统随便放就行了吧?
  • b
    beterhans
    电脑 肯定是动态的 系统决定
    游戏机 肯定是固定的 你不会同时跑 2 个程序
  • z
    zkx7818
    你这多少年的老黄历,PS2时代就出现压缩码了
  • y
    yfl2
    是搞不懂,所以求教怎么保证每次都能找到可能已经不一样的地址