Back
東方風魔録 -the story of eastern wind-
原文说明:
このゲームは
「東方封魔録 ~ The Story of Eastern Wonderland」
をどうしても遊びたかったので作ってみた、東方封魔録っぽいシューティングゲームのつもりです。
でも、実物を見たことなく、ニコニコ動画の投稿動画を見て作ったので色々差異が存在するでしょう…。
全体的に簡単なのでキーボードで低速封印で遊ぶことをお勧め致します。
合言葉は『製作者は封魔録で遊んだことは無いっ!!』です。
这个游戏是由 Helios Create 发布的一个基于東方Project的2次創作作品, 玩了一下,感觉比起原作难度好像大了不少,于是不得不进行了一些修改。
感叹的说一下。GM8是个好东西呀,虽然老,但可以直接对游戏中找到的数据地址进行断点追踪……
其实原本只是想用修改器锁定这些数据的,在死机后发现地址是会变动的,于是想 为什么不直接把锁定数据的代码写到执行程序里面呢? 记得以前也看过这类型的修改执行程序的方法做的无敌档的,于是心血来潮开始做了这个……
第一步当然是要找到数据所在地址
这个我使用的是GM8,一般查找上两三次就可以找到确实的地址了,之后可以直接在GM中对地址进行追踪,当有代码对这个地址进行修改时会被记录下来。当然,按正统的理论来说,我应该使用 Ollydbg 这类的工具来做这事的……我太懒了而已,不过GM真的好方便呀……
要注意的是可能会有很多指令对目标内存地址进行修改,所以尽量尽早做一些会使数据变化的操作。之后还需要多跑一下程序看还有没其他地方进行了操作。一般都要全部记录以下,以备查看用。
后面的部分我还是开了个 Ollydbg 来做的,毕竟汇编代码不是那么好处理的东西……
修改:在得到一点武器值后直接满
第一处在:0X3C97CH(248188)处。 0043D373 |. 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043D376 8B55 0C mov edx,dword ptr ss:[ebp+C] 0043D379 0150 68 add dword ptr ds:[eax+68],edx 实际上要修改的指令是这里,直接设为80才是正确的 0043D37C 8178 68 80000000 cmp dword ptr ds:[eax+68],80 看到这里,如果大于80(MAX)时的处理里有,于是偷懒了一下。 0043D383 7C 17 jl short fuuma.0043D39C -> 改成 nop nop(90 90) 就成了。 0043D385 |. C740 68 80000000 mov dword ptr ds:[eax+68],80 于是变成吃一个就会变成满枪的状态。 0043D38C |. C740 5C 04000000 mov dword ptr ds:[eax+5C],4 0043D393 |. C740 64 05000000 mov dword ptr ds:[eax+64],5 0043D39A |. 5D pop ebp 0043D39B |. C3 retn 第二处在:3ecd7H 257239处: 0043F6C8 |. 8B45 08 mov eax,dword ptr ss:[ebp+8] 0043F6CB |. 8B5D 0C mov ebx,dword ptr ss:[ebp+C] 0043F6CE |. 8B50 5C mov edx,dword ptr ds:[eax+5C] 0043F6D1 |. 8B48 64 mov ecx,dword ptr ds:[eax+64] 0043F6D4 |. 0158 68 add dword ptr ds:[eax+68],ebx 0043F6D7 |. 8178 68 80000000 cmp dword ptr ds:[eax+68],80 0043F6DE |. 7C 1A jl short fuuma.0043F6FA ->同样改成 nop nop(90 90) 就成了。 0043F6E0 |. C740 68 80000000 mov dword ptr ds:[eax+68],80 0043F6E7 |. C740 5C 04000000 mov dword ptr ds:[eax+5C],4 0043F6EE |. C740 64 05000000 mov dword ptr ds:[eax+64],5 0043F6F5 |. E9 B2000000 jmp fuuma.0043F7AC
其实简答的办法就是用UE查找 81786880000000 这一串,把接在后面的两个改成 90 90就成了。这个字符串在游戏执行文件中有三处,其中后两个都是要修改。如果只改了第一个,早苗会不起作用,我原来就是这样,不知道为什么在游戏中会为早苗单独写了一份代码……
Top
修改:炸弹无限使用(不减BOMB)
地址大概是在: 0x319f1H 和 0x31b4dH两处地方。
004323E4 |. C780 80000000 02000000 mov dword ptr ds:[eax+80],2 004323EE |. 8950 74 mov dword ptr ds:[eax+74],edx 004323F1 |. FF8B F8090000 dec dword ptr ds:[ebx+9F8] -> 改为nop(90 x6) 004323F7 |. 83BB F8090000 00 cmp dword ptr ds:[ebx+9F8],0 004323FE |. 7D 08 jge short fuuma.00432408
这个简单一些,把减少的指令用90填空即可,把FF8B F8090000 这一串修改为 909090909090 ( 90 X6个)即可了。
一开始吃个小P就直接满枪的截图。
注意
修改游戏后会使你进行游戏的乐趣降低!,如果没必要不建议进行修改
Top
CopyRight by blues_city(子陵) @ 2002-2009