不能捡任何东西的问题解决
这个并不是bug,而是官方的反盗版机制,在steam的官方论坛有帖子提及,触发后受影响的存档都会捡不了任何东西,记不得哪个版本开始的,很早了一直到现在的1.0.32版,还是没解决,试着拿这个版本用OD跟踪,比对发现出问题的存档载入后,会跟正常没问题的存档不一样,会把一个标志初始化为1,姑且称为盗版标志,是下面0045F14B处的代码干的
0045F147 - 85 C0- test eax,eax
0045F149 - 74 0A - je ghost.exe+5F155
0045F14B - C7 05 F8E92201 01000000 - mov ,00000001 <<
0045F155 - 83 3D A8462201 54 - cmp dword ptr ,54
0045F15C - 0F8E 27010000 - jng ghost.exe+5F289
这个盗版标志存在后,会影响下面的游戏进程代码,每次判断捡东西的地方都跳走不捡,跳到0049C757后call返回
0049BA6B|.833D F8E92201 cmp dword ptr ,0
0049BA72|.0F85 DF0C0000 jne 0049C757
所以解决方法可以0049BA72处 nop patch,或者0045F14B处把赋值1改为赋值0
或者用CE,发现出问题后,用CE手工添加数据地址,地址处填 ghost.exe+E2E9F8 ,类型4Bytes,把值从1改为0就OK
求助 我现在是1.33版本 刚更新的 无法解决这个问题
求助!大神 新版不行了吧 到1.1.3版已经无效了。 最新的v1.1.5,用CE手工添加数据地址,地址处填 ghost.exe+E33970 ,类型4Bytes,把值从1改为0就OK 以后版本更新,可以这样试
CE里按Ctrl+M打开Memory Viewer,然后菜单栏选择Search
方法1:选择Find assembly code,From处填ghost.exe,中间搜索框填
test eax,eax
je *
mov *,00000001
cmp *,54
然后点Scan,在搜索到的结果地址处双击跳到如顶楼所示的程序反汇编代码,类似
ghost.exe+605BB - C7 05 70392301 01000000 - mov ,00000001
这行里的ghost.exe+E33970就是变量地址,CE里手工加进去改就OK
方法2:选择Find memory,Type选(Array of)byte,搜索指令的如下字节码
85 C0 74 0A C7 05 ?? ?? ?? ?? 01 00 00 00 83 3D ?? ?? ?? ?? 54
找到的话窗口下面会定位到搜到的地址,行首的地址记下,然后到上面的代码窗Ctrl+G或者右键Go to address,输入刚才记下的地址,跳转到方法1的代码地址,再找到变量地址
新号发不了帖,借地问一下吧,楼主勿怪,谢谢:
机枪丢失了怎么办?
温室区,花5000大洋买了一把机枪,不小心死了,复活后发现副武器栏的机枪消失了,以为这玩意是一次性的,死了要
再买,就没当回事。关闭游戏干别的去了。3天后再继续游戏,到那个卖机枪的商店再看,机枪一栏空着,才感觉不妙。
边杀怪边收集树叶,跑遍温室区域也没有找到。这是什么情况?该如何处理?难道我遇到BUG了?游戏版本是V1.0.22
希望有热心坛友指点一二。
大神超赞啊,技术吊炸天! 技术人才……看了LZ的帖子,我对CE的用法更为了解了。但如果是64位的程序,OD搞不定怎么办? 参照各位的方法,问题解决了!!!!膜拜高人~ 大佬完全搞不懂,1.1.7的数字好像有问题.我只能查到ghost.exe+6185C0但数值不是1
感谢大佬的讲解:lol
1.17版本也能用
用ce手动添加地址ghost.exe+E349C8
然后把值1改成0就行了 3dm1.1.6是ghost.exe+E34978 1.1.8我这里是ghost.exe-E16588 附件的CE文件是把代码 mov ,00000001 改成 mov ,00000000
就是强制置0,出问题时激活下就可以了
页:
[1]