美文网首页
[apk反编译3]-smali/baksmali反编译.odex

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

作者: mrLiangshuang | 来源:发表于2017-09-04 21:28 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/chkyjxtx.html