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