首页 杀戮尖塔 杀戮尖塔攻略 正文

杀戮尖塔修改class文件图文教程

从网上看到有两种修改方法。一种是用某些工具把整个jar包完全反编译,然后就像制作游戏一样修改代码后再重新打包。另一种是修改单独的class文件。

理论上说第一种是最好的,因为可以想怎么改就怎么改,但仔细想想,那不等于自学java一样么,我们只想简单改改游戏,并不想搞的那么复杂不是。

所以我研究的是第二种,测试成功。现在说说具体步骤。

比如游戏里会中一个confusion”混乱“负面状态,卡牌消耗是0-3随机的。要随时有这个状态,并总能随到0多好,就要这个!(其实有时候切换为英文版更方便看到关键词)

第一步

用 DJ java decomper 打开jar游戏包,在弹出的窗口上选择 search,文件类型*.class,搜索文本“confusion”。

等一会找到3个文件包含这个词。

杀戮尖塔修改class文件图文教程

第二步

用 java decompiler 打开jar包(名字有点像,但是另一个工具),分别定位到这3个文件,搜索confusion找到代码,然后观察代码。

你只需要稍微有一点点英文基础,就能看到关键代码在 AbstractPlayer.class这里,random(0,3)就是随机返回0-3。这个代码属于 public void draw(int numCards)

杀戮尖塔修改class文件图文教程

第三步

很遗憾,虽然已经看到了要改的代码,但并不能在这里把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 。

杀戮尖塔修改class文件图文教程

最后一步

用十六进制编辑器打开AbstractPlayer.class。(这种软件比较多,010editro,winhex等等随便都可以),搜索 03 06 b8 01 88。然后改为 03 03 b8 01 88,保存。

把修改后的class文件覆盖回去,完成。

杀戮尖塔修改class文件图文教程

是不是炒鸡简单?

也许是,但又好像不是,你试试就知道了。


点击进入 杀戮尖塔 专区

相关信息

杀戮尖塔心脏怎么进 心脏前置条件攻略
杀戮尖塔大陀螺战怎么玩 卡组搭配及遗物推荐
杀戮尖塔8月3日更新了什么 8月3日更新内容介绍
杀戮尖塔卡牌大全 卡牌等级分类介绍图鉴
杀戮尖塔怪物图鉴 全怪物行动方式技能介绍
杀戮尖塔卡组推荐 全职业流派攻略汇总
杀戮尖塔角色介绍 所有职业玩法攻略及套路汇总
杀戮尖塔BOSS遗物有哪些 BOSS遗物图鉴
杀戮尖塔精英怪怎么打 全精英怪打法攻略
杀戮尖塔BOSS怎么打 全BOSS打法攻略
杀戮尖塔遗物图鉴 最强遗物效果介绍大全
杀戮尖塔换脸商事件所有面具属性简介
杀戮尖塔倏忽魔成就怎么解锁 倏忽魔怎么打攻略介绍
杀戮尖塔全角色遗物选择推荐 不同角色遗物该怎么选
杀戮尖塔橙色药丸图鉴 橙色药丸遗物效果介绍
杀戮尖塔长蛇戒指图鉴 长蛇戒指遗物效果介绍
杀戮尖塔冻结核心图鉴 冻结核心遗物效果介绍
杀戮尖塔悬浮风筝图鉴 悬浮风筝遗物效果介绍
杀戮尖塔勇气投石索图鉴 勇气投石索遗物效果介绍
杀戮尖塔手钻图鉴 手钻遗物效果介绍