cqwzhc 发表于 2024-9-27 12:23

【讨论交流学习】讨论一下关于unity游戏CE分析的问题

近期修改瘾返场,找到站内大佬的kenshi CT表(据说功能很全,用后确实是)发现与本地版本不一致动手修复后发现,原来我的半调子水平还是可以滴,就更加想找游戏来练练手,写点CEAA(自动汇编)注入什么的3DM找到购物大亨(shopping tycoon),发现是unity的,打开游戏,简单游玩后想做一个快速建造的功能,一番操作后发现反汇编都是动态的,顿时皱眉
用AOB尝试,找到唯一代码,修改注入AA。精彩的部分来了,写好的AA当时是可以用的,但当我新建一个物品,或者游戏重启后,AOB居然搜索不到了(或者搜索到的是错误的地点)
搜索资料得知可以用CE的mono功能来对付unity游戏,于是再次尝试,打开mono功能后,之前的动态地址被赋上了一些基址+偏移。但是更精彩的来了
当我重启游戏或者再次建设一个物品时,代码居然又变了。基址没变,偏移变到另外的地方了。我整个人都麻了,这游戏是活的吗????于是



我决定换游戏了。。

打字时,上网查了unity游戏相关信息,还需要dnspy,IDA,IL2CPP等等.net相关的一堆的技术储备,挺累的
于是便有了这篇文字。同时也想咨询下论坛各位大佬,有木有简单的方式(比如只用CE),或者说有哪位研究过这个游戏(或者其它任何游戏)一起讨论学习一下。
这里附上kenshi修改人物经验倍数的CEAA修复部分代码,以证明本人确实是有在用心研究代码。站内下载的CT无法使用,只有奔跑经验有效,其余技能经验为原始。
分析原因是之前的代码是判断esi+1f0是否为人物基址,是就修改,否就跳过了,而通过调试发现除了奔跑之外的其它技能如潜行的esi都为0,所以无法判断修改。
我这里是将rcx(看成ecx)里的技能地址右循环16位,取高16位跟基址高16位对比,相同就修改,可能会有特殊情况无法修改,目前非常好用,有感兴趣的可以联系交流研究。



exgbit 发表于 2024-10-22 06:10

感谢分享,你的研究很有启发性。Unity游戏的确需要一些额外的工具和技术来分析,希望能有简便的方法出现。听起来你在调试技能经验代码方面做出了不错的改进,期待和你进一步交流学习。
页: [1]
查看完整版本: 【讨论交流学习】讨论一下关于unity游戏CE分析的问题