血战上海滩寻找英雄血量地址 实现无敌效果深入分析

本文深入分析了《血战上海滩》游戏中英雄血量地址及无敌效果的实现。通过研究发现,英雄血量与星星数量有关,并在特定地址进行更新。在受到攻击时,血量会根据预设值减少。通过修改内存中控制减少血量的值,可以实现无敌效果。具体方法是找到并修改游戏代码中浮点数0.625的存储位置,将其改为0,从而避免血量减少。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继续上次研究,先整理一下上次的研究,英雄最多有八颗星的血量,分别用0x5 0x19 0x2d 0x41 0x55 0x69 0x7d 0x91表示,比如如果英雄有8颗星的时候就顺序发送0x5 0x19 0x2d 0x41 0x55 0x69 0x7d 0x91这8个参数,有6颗星的时候就顺序发送0x5 0x19 0x2d 0x41 0x55 0x69这三个参数

当有八颗星时,其实是来自5.0/0.625 当有七颗星时,其实是来自4.375/0.625,依次类推
上面的5.0 ,4.375等来自[ebp-0x18]=[[[esi+8]+0x18]+0xf4],那么下边就分析一下这个是怎么来的
.text:0048C4B4 ; DATA XREF: hero_blood_1+36o
.text:0048C4B4 mov ecx, [esi+8]
.text:0048C4B7 ; 25: v4 = *(_DWORD *)(v3 + 24);
.text:0048C4B7 mov eax, [ecx+18h]
.text:0048C4BA ; 26: v5 = *(float *)(v4 + 240);
.text:0048C4BA mov edx, [eax+0F0h]
.text:0048C4C0 ; 27: v6 = *(float *)(v4 + 244);
.text:0048C4C0 mov eax, [eax+0F4h]
.text:0048C4C6 mov [ebp+var_20], edx
.text:0048C4C9 mov [ebp+var_18], eax ; biggest is 5.000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值