unity3d 逆向工程,如何查看断点前执行的代码

5ktev3wc  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(116)

在我玩的一个游戏中,一个聪明的人写了一个作弊器,可以让你断开所有玩家与服务器的连接。我开始对如何创建针对此问题的保护措施感兴趣。这种情况因创建作弊器的人将其分发给其他玩家而变得更加严重,断开服务器连接成为一种常规事件。
我得到了这个作弊器的源代码,我将展示一个带有“连接开关”的片段:

我弄清楚了作弊器是如何工作的。在LLDB调试器中,我找到了Disconnect()函数,它只在“作弊者”使用作弊器时调用。在反汇编器中,我决定只删除Disconnect(),当然这是愚蠢的,因为我违反了游戏的逻辑,因为我不能玩,由于一些事情,为我调用了这个函数,我需要使用Disconnect()找出在断点之前执行了哪些代码

nhaq1z21

nhaq1z211#

这很难说,但我的建议是,在您认为可以在断开连接之前调用的某些脚本中添加一些Debug.Log打印,我知道这听起来像一个乏味的工作,但你可能有一些脚本,你认为可以调用之前。否则,我会搜索一些关键字,如“kickall”,并确保设置“项目中的所有文件”选项,以便它显示所有可能的候选人。希望这对你有用

相关问题