[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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [TOC]今日需参考ROM厂商部分APK,故查阅走坑以做记录 工具 除了参考资源有时候需要参考别人的代码,此时需要...
    七号大蒜阅读 6,459评论 8 13
  • odex 是 Optimized dex 的缩写,是优化后的dex文件,通过将 apk 中的 dex 文件进行 o...
    为何是Hex的昵称阅读 13,312评论 0 4
  • 问题现象 复现步骤Android 7.0平台(刚bring up完成)user版本只要连接特定wifi, syst...
    dumphex阅读 8,265评论 0 3
  • 下午的事。 同事过来打招呼说出去一下接儿子放学(这孩子麻麻回老家待几个月,所以这星期开始由爸爸接),我...
    木阳_阅读 1,832评论 0 0
  • 每个人都有一颗玻璃心,小时候我还因为别人发礼物不给我而难过呢,换现在才谁在乎啊。所以治愈玻璃心的是成长,是见识,是...
    青埂峰采药人阅读 1,580评论 0 0

友情链接更多精彩内容