JAVA反編譯技術研究心得

cnbragon發表於2006-09-23

使用JAD作為核心的DJ Java Decompiler是我見過的最好的Java反編譯器了,可以透過直接替換其目錄下的jad.exe來升級其反編譯引擎

經過混淆的class檔案,只要不混淆流程,其它都是很容易搞定的,目前可以混淆流程的JAVA Obfuscator只有KCLASSMASTER這個工具,但是這個工具收費很高

對於更新jar中的class檔案,有一種很簡便的方法,直接使用winrar開啟jar檔案,然後Ctrl+C,Ctrl+V就可以達到更新jar中的class檔案的目的了,不需要用命令列的形式。

可以在反編譯原來的class的基礎上,新增資料輸出語句,如使用FileWriter將一些需要的資訊(如變數值)寫入檔案,方便除錯。

JDebugTool只能在有原始碼的情況下除錯,而且變數值顯示的也不全,似乎有bug。

至於傳說中的Omniscient Debugger,並不好用,而且只能除錯有main函式的類,其它的無法除錯。

 

想要了解程式是如何呼叫到關鍵函式的,可以建立一個異常,使其輸出堆疊資訊:

還可以將待分析的jar檔案加入到專案的庫搜尋路徑中,直接呼叫其中的class

 

相關文章