在线客服
当前位置:蜗玩游戏 > 新闻资讯 > 游戏资讯 > 杀害尖塔修改class文件的方法教程

杀害尖塔修改class文件的方法教程

发布:2018-11-27 19:08:47 人气:4405 评论:3

  本文给大伙儿引发杀戮尖塔修改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文件笼盖回去,完成。




  是不是炒鸡简朴?


  或许是,但又似乎不是,你尝尝就了解了。

 发表回复
 3条评论 正序查看
2020-04-18 03:09:27

是个好游戏,就是人少了一点,其他的都无所谓

2020-03-25 05:16:22

没钱 还非 配不上这个高贵的游戏

2020-03-24 22:42:04

来晚了来晚了

1