非凡首頁(yè)|軟件專題|軟件資訊|軟件發(fā)布 投訴報(bào)錯(cuò)
您當(dāng)前位置: 首頁(yè)PC游戲攻略殺戮尖塔修改class文件教程分享

殺戮尖塔修改class文件教程分享

2018-04-27 15:50:17

殺戮尖塔 濞戞搩鍘介弸鍐礂瀹ュ懐鏆旈悷浣稿禃1.3

分類:策略游戲星級(jí):軟件大?。?i>428.18MB

平臺(tái):WinXp,Win2003,WinVista,Win 7,Win 8,Win 10

  殺戮尖塔修改class文件能直接修改至玩家們想要的狀態(tài),對(duì)于具體的修改教程和方法,下面就來(lái)看看相關(guān)的介紹吧。

  從網(wǎng)上看到有兩種修改方法。一種是用某些工具把整個(gè)jar包完全反編譯,然后就像制作游戲一樣修改代碼后再重新打包。另一種是修改單獨(dú)的class文件。

  理論上說(shuō)第一種是最好的,因?yàn)榭梢韵朐趺锤木驮趺锤?,但仔?xì)想想,那不等于自學(xué)java一樣么,我們只想簡(jiǎn)單改改游戲,并不想搞的那么復(fù)雜不是。

殺戮尖塔修改class

  所以我研究的是第二種,測(cè)試成功?,F(xiàn)在說(shuō)說(shuō)具體步驟。

  比如游戲里會(huì)中一個(gè)confusion”混亂“負(fù)面狀態(tài),卡牌消耗是0-3隨機(jī)的。要隨時(shí)有這個(gè)狀態(tài),并總能隨到0多好,就要這個(gè)!(其實(shí)有時(shí)候切換為英文版更方便看到關(guān)鍵詞)

  第一步

  用 DJ java decomper 打開(kāi)jar游戲包,在彈出的窗口上選擇 search,文件類型*.class,搜索文本“confusion”。

  等一會(huì)找到3個(gè)文件包含這個(gè)詞。

  第二步

  用 java decompiler 打開(kāi)jar包(名字有點(diǎn)像,但是另一個(gè)工具),分別定位到這3個(gè)文件,搜索confusion找到代碼,然后觀察代碼。

殺戮尖塔修改class文件

  你只需要稍微有一點(diǎn)點(diǎn)英文基礎(chǔ),就能看到關(guān)鍵代碼在 AbstractPlayer.class這里,random(0,3)就是隨機(jī)返回0-3。這個(gè)代碼屬于 public void draw(int numCards)

  第三步

  很遺憾,雖然已經(jīng)看到了要改的代碼,但并不能在這里把3改成0。因?yàn)閏lass文件實(shí)際是難以理解的jvm代碼,剛才只是工具幫你轉(zhuǎn)換為容易理解的明文代碼而已。

  用winrar打開(kāi)jar包,把AbstractPlayer.class解壓出來(lái)。用jclasslib bytecode viewer打開(kāi)。(安裝這個(gè)工具前還要先裝一個(gè)java runtime,java官網(wǎng)下載)

  在Methods里面可以看到有兩個(gè)draw,點(diǎn)擊Code就能看到j(luò)vm機(jī)器碼了。一對(duì)比很容易確定第一個(gè)是我們找的。

  關(guān)鍵是把iconst_3改成iconst_0。接下來(lái)就是提取這段機(jī)器碼。

  在最下面找到iconst_0,點(diǎn)那個(gè)showDescription,可以彈出一個(gè)網(wǎng)頁(yè)顯示出這個(gè)命令的機(jī)器碼是 3

  iconst_3 是6

  invokestatic 是b8 ,后面還有2bit的參數(shù),#392轉(zhuǎn)換為16進(jìn)制是0x188,那么這里的jvm代碼就是 b8 01 88

  這兩個(gè)命令的jvm代碼連起來(lái)就是 03 06 b8 01 88 。

  最后一步

  用十六進(jìn)制編輯器打開(kāi)AbstractPlayer.class。(這種軟件比較多,010editro,winhex等等隨便都可以),搜索 03 06 b8 01 88。然后改為 03 03 b8 01 88,保存。

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

  是不是炒雞簡(jiǎn)單?

  也許是,但又好像不是,你試試就知道了。

国产精品秘 久久久囯产,亚洲无码在线网站,亚洲欧美日韩综合专区,亚洲A∨无码精品午夜在线观看