JClassLib是一款免費(fèi)易用的開源的java字節(jié)碼查看軟件,它可以修改、讀取、寫入Java Class,小編這里附上官方最新版本,下面還有詳細(xì)的使用教程,可以參考。
JClassLib使用方法
1、比如說(shuō)這個(gè)就是原來(lái)的java文件,很簡(jiǎn)單就是輸出 google 這個(gè)字符串
2、編譯之后,控制臺(tái)執(zhí)行結(jié)果為 google,為什么用 javac -d . Main.java 去編譯java文件,這個(gè)我就不解釋了,不懂的話去惡補(bǔ)一下
3、找到Main.class文件,并用 jd-gui打開,效果如下
4、在這里很明顯看到源碼,可惜不能修改呀,現(xiàn)在就準(zhǔn)備修改工具,搞定它。解壓jclasslib,目錄如下
5、在eclipse里面創(chuàng)建一個(gè)java工程,然后把src文件覆蓋到工程目錄下,并且執(zhí)行BrowserApplication.java,得到一個(gè)工具叫做Bytecode viewer,如下圖
6、現(xiàn)在咱們可以利用工具找到我們修改的部分,我們就是要修改Main.class文件中g(shù)oogle,修改成 baidu。
結(jié)構(gòu)目錄很清楚,methods就是方法,print是打印google字符串的方法,main是主函數(shù),在這里我們找到print并打開
7、打開code,我們會(huì)看到第二行 lbc #4 <google>,這時(shí)我們點(diǎn)擊#4
8、這個(gè)效果如下,通過(guò)這個(gè),我們知道google字符串的地址在哪里了,在#21, 這個(gè)時(shí)候 點(diǎn)擊 cp info #21
9、這時(shí),我們看到的google字符是在[21]這個(gè)位置,并且CONSTANT_Utf-8_info,這些信息待會(huì)修改的時(shí)候 很有用。
10、現(xiàn)在我們可以用代碼去把 google 修改成 baidu。首先創(chuàng)建一個(gè)工程,把剛剛下載jclasslib文件夾下bin目錄下jclasslib.jar引入,如下圖
11、Main.java函數(shù)代碼如下
12、不報(bào)錯(cuò),就代表成功了,然后再執(zhí)行Main.class文件
JClassLib功能介紹
1、支持Java7-Java8(使用-target 1.7編譯的類文件)。
2、Windows 7兼容的安裝程序和啟動(dòng)器。
3、“字段”和“方法”的詳細(xì)面板現(xiàn)在具有“復(fù)制到剪貼板”按鈕將所有簽名復(fù)制到系統(tǒng)剪貼板。
4、在字節(jié)碼顯示的底部,現(xiàn)在有一個(gè)下拉列表,其中包含所有使用的操作碼和一個(gè)按鈕,以顯示Java語(yǔ)言規(guī)范中相應(yīng)的官方文檔。
5、驗(yàn)證了偏移量,并且在字節(jié)碼顯示中標(biāo)記了無(wú)效的分支指令。
5、在“一般信息”中顯示主要類文件版本為詳細(xì)文本。
6、增加了CONSTANT_MethodHandle_info和CONSTANT_MethodType_info常量池條目的顯示。
7、.class和.jcw文件的文件擴(kuò)展名處理。
8、將.class和.jcw文件拖動(dòng)到主窗口將打開它們。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版