问一个关于修改的问题,突然好奇~
由于正在大学读软件工程,所以真的比较好奇。发现各种数据都可以改(包括人物身高速度什么的也行),但是为什么技能不能改?不是说技能点,就是某些技能是线性提升的,为什么不能让他10级15级这样,希望能有比较专业的解释~ 因为在修改器里面的那些可以修改的项目,在游戏中都是可以提升的,(个人猜测,不对勿喷)。 这样的话就要涉及修改游戏文件了...{:3_93:}普通的修改器都是内存修改器,只是修改游戏加载到内存里的临时数据,对游戏源文件没任何影响... Ghost9999 发表于 2013-8-19 08:09 static/image/common/back.gif这样的话就要涉及修改游戏文件了...普通的修改器都是内存修改器,只是修改游戏加载到内存里的临时 ...
技能不是加载到内存里的么……那为什么人物高度速度都是
本帖最后由 lpcasd 于 2013-8-19 12:43 编辑
如果是内存修改,人物钱、速度和技能点都在数据段(可读可写)中,而技能提升的形式(线性提升还是10级15级那样)在正文段中。
对于前者,只要变量类型前后一致,数据不溢出就行,ce 就是干这活的。后者的话,反汇编找入口,分配内存放置新的函数,再把jmp的地址更新好(跳转的地址是随机的)。
如果非内存修改,对于前者用 SE 改存档数据。对于后者,得改dll中的函数。
无论如何后者难度都比较大
前者可以改文件,或者CE、PE、SE都可以,而后者的东西都在游戏内核中,就是那些未知属性文件中,较难修改。 十分感谢楼上2位的回答。
页:
[1]