对于特征码查找时的一些问题
前段时间偶然间到手了一份游戏,难度有点抽象(也可能是我自己太菜),所以打算给自己降低点难度这是游戏中的两个重要属性,生命与法力没有什么问题。CE挂上去一搜就能搜到变量
随后挂写入监视器,顺利找到写入位置,找到代码段,提取特征码(这个我查pe头,不是固定地址)
最开始我看没有地址,直接拿来用:41 2B C533 C985 C0 48 0F 4C C1
游戏丢到dbg,开始搜索特征码,没有找到。随后我又用ce找了一次代码位置发现特征码的sub那句的字节发生了变化,是我乐观了,
于是第二次的特征码:33 C985 C0 48 0F 4C C1,我又继续找还是找不到。
第三次我用CE先找到变量的地址,然后丢到dbg内存窗口转到地址下硬件写入断点,成功找到了位置
这次我对特征码进行了比对发现似乎并没有问题?
然后我把搜索怼到特征码脸上还是没搜索到,我在这里产生了疑惑(这段代码不在主程序代码段里面在奇奇怪怪的地方,目前掌握的知识不清楚具体是什么)
两个在位置上相差十万八千里()
游戏的名字是aliceincradle,百度一搜能直接搜到官网,好像版规里面不让发网址,所以没直接贴上来 C#(大概率 Unity)游戏,你找到的特征码都是动态申请内存,利用 JIT 编译字节码。所以主程序搜不到。
利用 CE 的 .net/mono 功能提供符号来根据符号 + 偏移来补丁会好一些。
不过根据 .net 版本/系统架构不同,编译后的字节码可能也不同。
建议找 C++ 编写的游戏来练手。 找特征码,就像文档找关键字一样,关键字越多定位越准确。尽量用mov 【r14+d0】,eax这种的+下面地址特征码或者+上面的特征码,r14+d0这个地址+偏移应该是血条的,程序调用的应该不是很多,再加其他地址,就能准确定位。33 C9 85 C0 48 0F 4C C1这种特征码,程序里太多了,不是唯一的特征码。 首先你要验证下你的特征码是否唯一 哦厨圣游戏啊,这个我记得是unity做的,你要不用BepInEx之类的弄插件试试 艾莉希雅 发表于 2024-7-1 17:06
哦厨圣游戏啊,这个我记得是unity做的,你要不用BepInEx之类的弄插件试试
厨圣什么的不可以口牙,我是善良的老父亲 richard_ljd 发表于 2024-7-1 19:16
厨圣什么的不可以口牙,我是善良的老父亲
整点蛋(
页:
[1]