天天看點

smali2java——直接将smali轉換成java

http://www.hensence.com/cn/smali2java/

smali2java——直接将smali轉換成java

主界面圖

smali2java是一個将smali代碼反編譯成java代碼的工具。

什麼是smali?smali是将android位元組碼用可閱讀的字元串形式表現出來的一種語言,可以稱之為android位元組碼的反彙編語言。使用baksmali或apktool可以将android應用程式包(apk或jar)反編譯為smali代碼。

smali2java工具基于apktool v1.5.0(baksmali v1.3.4)生成的smali檔案,依賴于smali檔案中的代碼行數(.line關鍵字)和變量别名(.local關鍵字)等資訊,可以最大程度還原原始的java代碼。還原出的java代碼将具有原始的變量命名,代碼的順序也與原始的java代碼保持一緻。是以,本工具也具有局限性,僅适用于帶有行數和變量别名資訊的smali檔案(java編譯器的編譯選項可以在生成的位元組碼中剔除這些資訊)。

smali2java使用了apktool将android位元組碼檔案轉換為smali檔案。界面顯示中使用了ccrystaltextview(作者:stcherbatchenko andrei)作為java文法高亮顯示控件,在此向這些軟體或代碼的作者表示感謝。

示例:

activitybase.smali(smali檔案) 

activitybase.java(原始java檔案)

activitybase.java(smali2java生成的java檔案)

目前最新版本為:1.0.0.558

立即下載下傳

繼續閱讀