使用场景:8.0系统framework.jar反编译 未进行源码编译笔记
- 目的查看源码字节码
使用工具
baksmali-2.4.0.jar
smali-2.4.0.jar
资源下载地址 - 反编译framework.jar
[注]源码编译后framework.jar文件所在输出位置–>/out/target/product/tb8788p1_64_bsp/system/framework/framework.jar(版本有差异,大体流程位置相似)
本人使用的是未进行编译的版本,framework.jar文件解压后是是那个classes.dex
1.压缩软件解压 classes.dex文件
2.java -jar baksmali-2.4.0.jarclasses.dex -o out/
错误:Exception in thread “main” com.beust.jcommander.MissingCommandException: Expected a command, got classes.dex
//有效
java -jar baksmali.jar disassemble classes.dex
||生成字节码文件.smali文件
这个.smali文件就是字节吗文件
补充:
//jar生成dex文件
d2j-dex2jar.sh classes.dex
问题:bash: ./d2j-dex2jar.bat: 权限不够
chmod a+x *.sh
1.’.apk’改为.zip 并解压
2.拿到’.dex’文件
3.放到dex2jar-2.0(解压dex2jar-2.0.zip获得)
4.执行:d2j-dex2jar.sh classes2.dex–>得到classes2.jar