需要工具:
1、baksmali-x.x.x.jar
2、smali-x.x.x.jar
工具下载:https://bitbucket.org/JesusFreke/smali/downloads/
步骤:
1、odex转smali:
java -jar “D:\google\tool\mony_tool\baksmali-2.2.1.jar” deodex SystemUI.odex -o SystemUI
deodex是命令,-o SystemUI指在目录下生成一个SystemUI的文件夹,把生成的smali文件放到这个文件夹底下
2、smali转dex:
java -jar “D:\google\tool\mony_tool\smali-2.2.1.jar” assemble SystemUI -o classes_o.dex
3、把生成的classs_o.dex用jadx-gui等工具转换成代码。
错误:
Error occurred while loading class path files. Aborting.
org.jf.dexlib2.analysis.ClassPathResolver$ResolveException: org.jf.dexlib2.analysis.ClassPathResolver$NotFoundException: Could not find classpath entry boot.oat
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:145)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:105)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:129)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:86)
at org.jf.baksmali.DisassembleCommand.getOptions(DisassembleCommand.java:207)
at org.jf.baksmali.DeodexCommand.getOptions(DeodexCommand.java:71)
at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:181)
at org.jf.baksmali.Main.main(Main.java:102)
Caused by: org.jf.dexlib2.analysis.ClassPathResolver$NotFoundException: Could not find classpath entry boot.oat
at org.jf.dexlib2.analysis.ClassPathResolver.loadLocalOrDeviceBootClassPathEntry(ClassPathResolver.java:216)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:120)
... 7 more
把手机/system/framework/arm64/底下的文件全部拷贝到SystemUI.odex所在的目录底下: