发布时间:2023-03-29 08:20:30来源:光伏下载站
杀戮尖塔中玩家们可以单独来修改class文件,来在游戏中得到想要的状态。下面给大家带来杀戮尖塔修改class文件图文教程,感兴趣的玩家可以试一下。
杀戮尖塔修改class文件图文教程
从网上看到有两种修改方法。一种是用某些工具把整个jar包完全反编译,然后就像制作游戏一样修改代码后再重新打包。另一种是修改单独的class文件。
理论上说第一种是最好的,因为可以想怎么改就怎么改,但仔细想想,那不等于自学java一样么,我们只想简单改改游戏,并不想搞的那么复杂不是。
所以我研究的是第二种,测试成功。现在说说具体步骤。
比如游戏里会中一个confusion”混乱“负面状态,卡牌消耗是0-3随机的。要随时有这个状态,并总能随到0多好,就要这个!(其实有时候切换为英文版更方便看到关键词)
第一步
用 DJ java decomper 打开jar游戏包,在弹出的窗口上选择 search,文件类型*.class,搜索文本“confusion”。
等一会找到3个文件包含这个词。
第二步
用 java decompiler 打开jar包(名字有点像,但是另一个工具),分别定位到这3个文件,搜索confusion找到代码,然后观察代码。
你只需要稍微有一点点英文基础,就能看到关键代码在 AbstractPlayer.class这里,random(0,3)就是随机返回0-3。这个代码属于 public void draw(int numCards)
第三步
很遗憾,虽然已经看到了要改的代码,但并不能在这里把3改成0。因为class文件实际是难以理解的jvm代码,刚才只是工具帮你转换为容易理解的明文代码而已。
用winrar打开jar包,把AbstractPlayer.class解压出来。用jclasslib bytecode viewer打开。(安装这个工具前还要先装一个java runtime,java官网下载)
在Methods里面可以看到有两个draw,点击Code就能看到jvm机器码了。一对比很容易确定第一个是我们找的。
关键是把iconst_3改成iconst_0。接下来就是提取这段机器码。
在最下面找到iconst_0,点那个showDescription,可以弹出一个网页显示出这个命令的机器码是 3
iconst_3 是6
invokestatic 是b8 ,后面还有2bit的参数,#392转换为16进制是0x188,那么这里的jvm代码就是 b8 01 88
这两个命令的jvm代码连起来就是 03 06 b8 01 88 。
最后一步
用十六进制编辑器打开AbstractPlayer.class。(这种软件比较多,010editro,winhex等等随便都可以),搜索 03 06 b8 01 88。然后改为 03 03 b8 01 88,保存。
把修改后的class文件覆盖回去,完成。
是不是炒鸡简单?
也许是,但又好像不是,你试试就知道了。
版权声明:部分内容为互联网整合,文中观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除。
相关资讯
应用推荐
2023-03-12
坎公骑冠剑人物性格怎么选(坎公骑冠剑人物推荐)
快手怎么取消关注(快手怎么取消关注的主播)
泰拉瑞亚手游血刃如何获得-泰拉瑞亚攻略(泰拉瑞亚血刃怎么得到)
cad2010序列号和密钥64位是什么
光遇如何快速获得爱心(光遇无限蜡烛无限爱心)
王者荣耀4月6日每日一题答案(王者荣耀4月24日每日一题)
unturned怎么改名字(unturned角色名称怎么改)
闲鱼在对话框直接转账安全吗(闲鱼在对话框直接转账安全吗)
百度杀毒怎么设置免打扰模式(百度如何设置免打扰)