yixiong201 发表于 2019-12-1 15:12

【原创】半条命三合一版修改器(三)

本帖最后由 yixiong201 于 2019-12-1 15:16 编辑

准备物品:
半条命三合一版
CE
OD

附加信息:
sv_cheats 1 启用作弊
give item_healthvial 获得小急救包

一、Hp最大值
按4字节搜索之后可以得到当前血量(hpx)的地址当然经常修改游戏的应该知道遍历一下附近的地址应该就可以找到最大血量(hpm)的地
址不过,这次我从od上面往回追看看!其实hpm的地址 =hpx的地址-4


猜测:give item_healthvial这一个命令其实应该是制造一个小急救包,当hp满了的时候,地上就会出现一个小急救包,所以这个命令并不是直接增加人物的hp。
那么我猜测其中的一段逻辑应该是这样:


那么找到这个对比判断应该就差不多了!
先在ce把hpx调小一些但不要锁定,接着用od附加游戏,然后dd 2265a6dc(hpx的地址),接着就在这个地址上下个4字节的硬件断点:


然后输入代码刷出一个小急救包,可以发现游戏立马断下来了。接着可以看到类似能量值相关的代码段,我直接加注释了:

可以看到ECX里的值是来自于,但是的值在上面并没有赋值,跟着往上回去看看能发现什么东西不。

并没有看到从哪里来,那么应该是从上一层传进来的,在头部下个段(记得先把硬件断点取消掉),然后
再输一次代码接着看看时从哪里进到这,以及ebx的值:

返回后再下段后接着输代码,就可以对应查看发现:

可以看到call 18ca0af0里对eax赋值了,也就是说每一次恢复的值就在这个call里,这
里还属于恢复hp的过程中,再往上看看有没有哪些跳转跳过这段代码的:

上面这个jl很可疑。经过测试这个edi就是hpm。接着追一下edi:

发现在call前时edi的值是0,那么edi一定是从call里赋值的,步步入跟进去看看:

到这里就结束了。可以看到hpm=基址+D8

虽然都是很基础的东西,我毕竟也是小白,写给小白看的,希望能多支持。
大神就轻喷了,谢谢,原创码字不易。

Ps:看到论坛里写植物大战僵尸修改器DIY的大兄弟写得很好就也想写写一些,分享一些东西给大家,当
然也很希望总有一天我写的也能上推送,哈哈哈。我会加油
的。还有很多功能呢,比如突破限制恢复hp,极速恢复hp,恢复hp的同时也恢复护甲值之类的。

··········································2019年12月1日 15:06:44

1sina 发表于 2019-12-1 15:37

支持一下 学习

菠菜汤 发表于 2019-12-1 15:40

可以学习一下玩玩游戏

IWayne 发表于 2019-12-1 15:48

学习学习逆向分析思维

solf2x 发表于 2019-12-1 16:05

厉害了,多谢分享

z85787789 发表于 2019-12-1 16:09

谢谢大佬

路上的行走者 发表于 2019-12-1 16:32

谢谢楼主分享

Yorshka93 发表于 2019-12-1 17:08

谢谢分享!!!!!!!!!!

沉默挺好的 发表于 2019-12-2 00:12

学习一下

wps360 发表于 2019-12-2 01:03

感谢楼主分享,学习了
页: [1] 2
查看完整版本: 【原创】半条命三合一版修改器(三)