如何从apk破解出java源码

下面整理,从安卓的apk文件,如何破解,反编译,逆向工程,得到java源代码。

对于从apk破解得到java源代码,目前常见的几种思路:

  • 未加固的
    • 直接一步搞定
      • jadxapk导出java源码
  • 已加固的
    • 前提
      • apk虽然被(旧版360加固保等)加固,但后续可以(用FDex2等砸壳工具)导出dex文件
          • 有些新版本的加固,比如腾讯乐固legu,新版360加固保等,无法导出dex文件
            • 所以就无法继续转换出java源码
    • 两步或三步: app->dex->jar->java
      • 第一步:先砸壳导出dex
        • apkdex:从运行中的安卓app导出dex文件
          • 先安装安卓apk到已root的安卓真机/安卓模拟器
          • 在安卓中已经安装了XposedHook框架
          • 再去Xposed中安装FDex2/DumpDex等插件=砸壳工具
            • 用于后续导出dex文件
          • 运行安卓app
            • 自动导出我们要的dex文件
          • 从安卓(真机/模拟器)中拷贝出刚才导出的(往往是多个)dex文件
      • 再分2种:从dexjava源码
        • 一步:
          • 第二步:直接从dex转java
            • 比如用jadx支持直接从dex转换出java源代码
        • 两步:
          • 第二步:从dex转jar
            • dexjar
              • dex2jar等工具从(包含了我们要的、和app业务逻辑相关的那个)dex文件中导出jar文件
          • 第三步:再从jar转java
            • jarjava源码
              • 用反编译器(CFR/Procyon/JD-GUI等)把jar转换出java源代码

后续详细介绍每一步涉及到的内容,和如何用工具实现对应反编译。

results matching ""

    No results matching ""