杀戮尖塔如何修改class?相信小伙伴们一定很好奇,修改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文件覆盖回去,完成。

是不是炒鸡简单?

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

更多精彩资讯关注维奇网。

JAVA启动杀怒尖塔_杀戮尖塔如何修改class 杀戮尖塔修改class文件方法步骤图解相关推荐

  1. Java 启动和停止界面_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏...

    欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享! Java架构筑基​zhuanlan.zhihu.com Java架构筑基--专注于Java技术的研究与分享! 后续文章 ...

  2. java将两个区间范围合并_Java如何将若干时间区间进行合并的方法步骤

    问题原因 工作中突然有个场景,需要合并时间区间.将若干闭合时间区间合并,实现思路如下: 1. 先对日期区间进行按时间顺序排序,这样后一个区间(记为next)的from一定是不小于前一个(记为prev) ...

  3. java启动监听器报错_初识 Java-监听器

    使用Listener类 当java  web应用程序在web容器中运行时,在java web应用程序内部会不断发生各种事件,例如web应用的启动,暂停,销毁等.以及web应用中session开始和结束 ...

  4. Java 启动和停止界面_我的世界Java版1.16.4-pre2游戏下载-我的世界Java版1.16.4-pre2中文版下载...

    我的世界Java版是一款可以让玩家自由发挥自己创造力的像素沙盒类游戏,在这款游戏中玩家就是一片天地的造物主,玩家可以把现实中一切的建筑都完美的复刻在这款游戏里,如此好玩的游戏,玩家还在等什么,快来下载 ...

  5. java 启动进行并命名_如何解决这个“java.io.IOException:不能重命名原始文件”启动tomcat 5.5时?...

    java.io.IOException: Cannot rename original file to C:\Program Files\Apache Software Foundation\Tomc ...

  6. java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络

    我使用下面的代码在android手机上创建一个无线模式.出于某种原因它每次都会创建一个新模式,因此对于相同的无线网络手机将会有多个模式.是否有办法能实现当一个模式已经存在时,就不要再创建一个新的模式? ...

  7. 游戏中java未安装不了_游戏运行库和常见游戏安装问题的解决方法

    游戏运行库是玩游戏必不可少的东西,相信玩家们都遇到因为没装某某运行库而导致游戏无法安装或者玩不了的问题,今天小编就为大家列出了一些常见的运行库以及游戏安装和运行时的一些问题的解决方法. 首先小编要为大 ...

  8. java实现递归下降分析_使用递归实现检查未知层级目录中的文件-Java实用技能

    现在有这样一个需求,给你一个目录,需要你在此目录中查找全部名字中包含指定字符的文件. 这题的主要难点在于:目录中可能包含子目录,子目录中又会包含子目录.而我们事先没办法确定子目录到底有多少层!这时候就 ...

  9. java redis自增操作_【转载】关于spring boot使用redis的increment()方法自增问题

    需求是限制IP频繁访问某接口,用的方案是使用redis记录访问IP的值,先设定好初始值,每次访问自增,达到某限定值后,进行阻止. 用的是自定义工具类,使用spring封装的spring-data-re ...

最新文章

  1. 数据挖掘经典算法——先验算法
  2. Move to Another Changelist
  3. 【计算理论】计算复杂性 ( 无向图独立集问题 | 独立集问题是 NP 完全问题证明思路 | 证明独立集问题是 NP 完全问题 )
  4. java课程 数独 文库_数独java
  5. 学计算机有哪些大学专业,计算机专业:最好的7所大学!也是全中国“最难考”的大学!...
  6. image是否有disabled属性_Vue学习笔记 模板语法、计算属性
  7. 用python画数学函数图像教程_Python 绘制你想要的数学函数图形
  8. 活动丨4场直播华丽丽来袭,快来参与
  9. 网站爬取工具_Python项目:结合Django和爬虫开发小说网站,免安装,无广告
  10. 13.3.5 【接口和委托的泛型可变性】限制和说明
  11. 为什么我们应该学马化腾,而不是马云
  12. 处理器架构 (四) ARM指令集
  13. 车间调度丨布谷鸟算法:以算例MK01为例
  14. 朱兰的质量观(转载)
  15. Linux Ubuntu 系统测试硬盘读写速度命令
  16. 关于APS生产排产软件选择,有哪几个要素?
  17. 苹果手机打电话没有声音怎么回事_手机打电话听筒没有声音,只有打开免提时才有声音,该怎么办?...
  18. 开发可以自动运行程序的U盘
  19. MATLAB当中一些简单的数值分析函数总结
  20. 【新星计划】Demo---Expanding Cards------ 1/50(详解)

热门文章

  1. ElasticSearch:为中文分词器增加对英文的支持(让中文分词器可以处理中英文混合文档)(转)
  2. R语言生存分析:Cox回归
  3. c语言坐标反算方位角函数,反三角函数/简易正反算or方位角转度分秒
  4. 《软技能—代码之外的生存指南》读书笔记之二:自我营销
  5. 安装K3s 和 ingress-nginx
  6. 城市信息化重要载体“无线城市”
  7. 南京大学计算机系住宿环境,请问有没有人知道南京大学计算机系大四学生在哪个校区?...
  8. 浙大大学 PTA 奇数值结点链表
  9. excel表格如何转换成word表格_如何将excel转换成word?如何将excel表格转换成word文档?...
  10. 平面直角坐标系中的旋转公式_中考难点,旋转+动点的最值问题的构建