|
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語法高亮顯示控件,在此向這些軟件或代碼的作者表示感謝
載點
|
|