CHEAT ENGINE修改游戏的问题,汇编高手进
游戏是东方绯想天则,裏面有一段代码:00435748:addecx,-1movdwordptr[esi+10],ecx其中[esi+10]地址存放的是卡片的数量,初始是2...
游戏是东方绯想天则,裏面有一段代码:
00435748:
add ecx, -1
mov dword ptr [esi+10], ecx
其中 [esi+10]地址存放的是卡片的数量,初始是20,减为0时就没卡片用了,相当於卡片的上限。
这里我把add ecx, -1改为add ecx, 0(或者把mov dword ptr [esi+10], ecx改为3个nop)后,游戏中就没有最多使用20张卡片的限制了。到这里都没问题,但是失败后接关的时候,第一次接关没问题,第二次接关游戏就会自动退出。然后我用CHEAT ENGINE代码注入,把代码换成
00435748:
jmp 04360000
nop
04360000:
add ecx,ff
mov [esi+10],ecx
add [esi+10],1
jmp 0043574e
以上内容是在内存中注入的,运行正常 [esi+10]的值一直是20,但也会在第二次接关时自动退出。
后来我想是不是游戏会检查[esi+10]地址的值,就没改代码用游戏修改器锁定[esi+10]地址的值为20,这时候游戏不自动退出了....
看来[esi+10]地址的值一直是20是没问题的,那为甚麼我用的2种方法都会使游戏自动退出呢....
目前已知确实是寄存器edx的问题,我的代码使edx的值发生了变化,但是我的代码未对edx进行过操作啊 展开
00435748:
add ecx, -1
mov dword ptr [esi+10], ecx
其中 [esi+10]地址存放的是卡片的数量,初始是20,减为0时就没卡片用了,相当於卡片的上限。
这里我把add ecx, -1改为add ecx, 0(或者把mov dword ptr [esi+10], ecx改为3个nop)后,游戏中就没有最多使用20张卡片的限制了。到这里都没问题,但是失败后接关的时候,第一次接关没问题,第二次接关游戏就会自动退出。然后我用CHEAT ENGINE代码注入,把代码换成
00435748:
jmp 04360000
nop
04360000:
add ecx,ff
mov [esi+10],ecx
add [esi+10],1
jmp 0043574e
以上内容是在内存中注入的,运行正常 [esi+10]的值一直是20,但也会在第二次接关时自动退出。
后来我想是不是游戏会检查[esi+10]地址的值,就没改代码用游戏修改器锁定[esi+10]地址的值为20,这时候游戏不自动退出了....
看来[esi+10]地址的值一直是20是没问题的,那为甚麼我用的2种方法都会使游戏自动退出呢....
目前已知确实是寄存器edx的问题,我的代码使edx的值发生了变化,但是我的代码未对edx进行过操作啊 展开
4个回答
2009-10-20
展开全部
这种常遇到
不止卡片要用到00435748
不止卡片要用到00435748
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种情况一般是寄存器数据发生了变化而出的问题,
在04360000加入
mov [04360040],ecx
push ecx
mov ecx,[04360040]
....
pop ecx
试试
在04360000加入
mov [04360040],ecx
push ecx
mov ecx,[04360040]
....
pop ecx
试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在04360000加入
mov [04360040],ecx
push ecx
mov ecx,[04360040]
....
pop ecx
mov [04360040],ecx
push ecx
mov ecx,[04360040]
....
pop ecx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
卸了从新装,要不就是电脑问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询