[apk反编译3]-smali/baksmali反编译.odex文件

smali:https://github.com/JesusFreke/smali/wiki

链接:http://pan.baidu.com/s/1c23vDwk 密码:s237

1.github下载smali包,编译生成相关jar包

./gradlew build

java -jar baksmali-2.2.0-dev-fat.jar -h查看支持的指令帮助

java -jar smali-2.2.0-dev-fat.jar -h查看支持的指令帮助

2.从系统中pull出需要反编译的odex文件,eg: Stk.odex

3.将smali-master/baksmali/build/libs/baksmali-2.2.0-dev-fat.jar和smali-master/smali/build/libs/smali-2.2.0-dev-fat.jar拷贝出来

4.执行指令:java -jar baksmali-2.2.0-dev-fat.jar deodex Stk.odex

此时可能会提示,Could not find classpath entry boot.oat, 请将系统/system/framework/arm或者/system/framework/arm64中的boot.oat pull出来

5.再次执行指令:java -jar baksmali-2.2.0-dev-fat.jar deodex Stk.odex

此时可能会提示, Cannot find dependency boot-core-libart.oat in null, 请将系统/system/framework/arm或者/system/framework/arm64中的boot-core-libart.oat pull出来

---->建议将/system/framework/arm或者/system/framework/arm64中所有的文件均pull出来,省去一次次执行报错的烦恼(当然,apk的依赖不一样,所需的包也不一样,请根据提示来操作即可)

6.再次执行java -jar baksmali-2.2.0-dev-fat.jar deodex Stk.odex后,会在当前目录下生成out文件夹,里边放的是smali中间文件,可以用这些文件来生成.dex文件

7.生成.dex方法,执行指令:

java -jar smali-2.2.0-dev-fat.jar assemble out/

会在当前目录下生成out.dex

8.之后使用jadx工具反编译.dex文件(jadx -d Stk_folder out.dex),即可生成java文件 (请查看apk反编译2)

9.反编译出的只有java文件,如需资源文件,请pull出Stk.apk文件,使用apktool,即可反编译出资源文件 apktool d Stk.apk(请查看apk反编译1)

你可能感兴趣的:([apk反编译3]-smali/baksmali反编译.odex文件)