zoukankan      html  css  js  c++  java
  • android 反编译与再编译

    一.反编译得到java源代码
       
      (方法一)
       优点代码便于阅读 缺点不能再编译
       1.工具
        dex2jar(google code) http://code.google.com/p/dex2jar/downloads/list
        jdgui(google code)  http://code.google.com/p/innlab/downloads/list
       2. 
         (1)用解压工具解压apk从中取得classes.dex,然后放到dex2jar文件夹
         (2)执行命令"dex2jar.bat classes.dex",生成classes_dex2jar.jar
         (3)使用jd-gui打开classes_dex2jar.jar ,即可查看反编译的代码
          注:如果别人apk加密了 ,部分代码就不能成功反编译。
       
      (方法二)
         优点可以再编译回去 缺点不便于修改
         1.工具
           baksmali + smali  http://code.google.com/p/smali/downloads/list
         2.
           (1) 从apk中解压得到classes.dex 然后放到basksmali 目录中
       执行命令java -jar baksmali-1.3.2.jar -o classout/ classes.dex   
                       然后对照jd-gui 找到要修改的地方修改,因为是smali类型文件比较难修改。网上有相应的语法,
                       在这里介绍一个投机的方法,可以写好自己要添加或要修改的代码,然后生成apk反编译回去得到
           自己想要的smali类型语句
                 (2)  将修改好的文件在编译回 classes.dex
           执行命令 java -jar smali-1.3.2.jar classout/ -o classes.dex


    二.反编译得到xml与图片文件
        1.工具
           apktool  http://code.google.com/p/android-apktool/downloads/list
        (应包含 apktool.bat aapt.ext apktool.jar三个文件)
       2.
         将apk 放到apktool目录
         执行 apktool.bat d -f adb.apk abc 得到反编译的文件。
         执行 apktool.bat b  adb将反编译的文件重新打包成apk。
    三.签名  
       1.系统签名(基于源码开发,如果你是搞app开发可以不看这一部分)
        (1)文件位置:可以在/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名 文件,对应不同的权限。
        (2)signapk.jar:由build/tools/signapk/编译产出,可以在/out/host/linux-x86/framework/中找到。
        (3)签名
    java -jar signapk.jar platform.x509.pem platform.pk8 abc.apk abc_signed.apk 
       2.普通签名
         apk-sign.rar
         将abc.apk 文件解压到abc 文件夹,然后将adc 直接拖到apk-sign 文件中的sign_pack.bat批处理上执        行,得到新文件 adb_signed中的apk文件即为已签名。(注这个方法我没有测试过)
  • 相关阅读:
    【JAVA
    【Android
    【开发工具
    【开发工具
    【开发工具
    【Android
    【Android
    【JavaEE】之MyBatis查询缓存
    【JavaEE】之MyBatis逆向工程的使用
    新的起点 Entry KINGSOFT
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878965.html
Copyright © 2011-2022 走看看