最近免费mv在线观看,最近免费中文字幕大全高清大全1,在线播放国产不卡免费视频,最新午夜国内自拍视频,在线 | 一区二区三区四区

您的位置: 單機 > 攻略 > 圖文攻略 > 攻略詳情

殺戮尖塔修改class文件圖文教程

時間:2018-04-27 14:37:56
  • 來源:3DM論壇-untilmax
  • 作者:墨非
  • 編輯:墨非
0

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

理論上說第一種是最好的,因為可以想怎么改就怎么改,但仔細想想,那不等于自學java一樣么,我們只想簡單改改游戲,并不想搞的那么復雜不是。

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

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

第一步

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

等一會找到3個文件包含這個詞。

殺戮尖塔修改class文件圖文教程

第二步

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

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

殺戮尖塔修改class文件圖文教程

第三步

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

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

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

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

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

iconst_3 是6

invokestatic 是b8 ,后面還有2bit的參數(shù),#392轉(zhuǎn)換為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文件圖文教程

是不是炒雞簡單?

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

本文內(nèi)容來源于互聯(lián)網(wǎng),如有侵權(quán)請聯(lián)系刪除。

8.7
已有282人評分 您還未評分!

玩家點評 0人參與,0條評論)

收藏
違法和不良信息舉報
分享:

熱門評論

全部評論

STEAM正版購買
今日特惠殺戮尖塔
殺戮尖塔
-30%¥85¥59.9
立即購買
3DM自運營游戲推薦 更多+