什么是smali?smali是將Android字節(jié)碼用可閱讀的字符串形式表現出來的一種語言,可以稱之為Android字節(jié)碼的反匯編語言。使用baksmali或apktool可以將Android應用程序包(apk或jar)反編譯為smali代碼。
smali2java工具基于apktool v1.5.0(baksmali v1.3.4)生成的smali文件,依賴于smali文件中的代碼行數(.line關鍵字)和變量別名(.local關鍵字)等信息,可以最大程度還原原始的java代碼。還原出的java代碼將具有原始的變量命名,代碼的順序也與原始的java代碼保持一致。