精华内容
下载资源
问答
  • 安卓apk反编译

    2019-09-21 07:59:57
    在win环境反编译安卓APP的.apk文件安卓apk 反编译为 Java源码图文教程Android安全攻防战,反编译与混淆技术完全解析(上) 转载于:https://www.cnblogs.com/jing1617/p/11429822.html...
    展开全文
  • 安卓Apk反编译

    2018-03-09 11:13:20
    我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译
  • 安卓apk反编译、修改、重新打包、签名全过程

    万次阅读 多人点赞 2016-10-16 01:52:37
    首先明确,反编译别人apk是一件不厚道的事情。...工具简介apktool,编译和反编译apk,从apk中提取图片和布局资源dex2jar,将可运行文件classes.dex反编译为jar源码文件jd-gui,查看jar源码文件反编译apk

    首先明确,反编译别人apk是一件不厚道的事情。代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的。这也说明,代码混淆是非常重要的。本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么反编译apk。

    工具简介

    apktool,编译和反编译apk,从apk中提取图片和布局资源

    dex2jar,将可运行文件classes.dex反编译为jar源码文件

    jd-gui,查看jar源码文件

    反编译

    apktool安装

    Windows系统:
    1. 首先确保系统安装有Java
    2. 下载apktool.bat脚本
    3. 下载最新版本的apktool.jar,并且重命名为apktool.jar
    4. 将apktool.bat和apktool.jar放在同一目录下,就可以在命令行窗口使用了。
    5. 其他系统请参考链接

    用法

    可以直接在命令行执行apktool.bat查看帮助。这里介绍两个最常用的:

    反编译

    apktool.bat d -o <output_dir> test.apk

    其中<output_dir>指定输出目录,默认为apk.out。

    编译

    apktool.bat b -o <output.apk> <input_dir>

    其中<input_dir>就是上面反编译输出的目录,<ouput.apk>是编译的输出结果,默认为dist/<name>.apk。

    示例

    一个典型的apktool反编译的结果如下:

    这里写图片描述

    此时,可以查看AndroidManifest.xml,res及smali文件了。甚至可以修改这个目录下的资源文件或者smali文件,然后重新编译。

    值得注意的是,apktool反编译出来只能得到apk的smali文件,即汇编语言版本,并不能得到源代码。

    查看源码

    一. 这里需要用到另外两个工具,下载dex2jar并解压。下载jd-gui,这是一个带UI的应用程序。

    二. 将需要反编译的apk的后缀名改为.zip或者.rar,然后解压到一个文件夹,得到其中的classes.dex文件。

    这里写图片描述

    三. 将classes.dex复制到解压后的dex2jar-2.0文件夹下。从命令行进入到该目录,执行

    d2j-dex2jar.bat classes.dex

    会生成由classes.dex反编译得到的jar文件,classes-dex2jar.jar。

    这里写图片描述

    四. 然后使用jd-gui打开classes-dex2jar.jar,就可以查看源码了。

    这里写图片描述

    如果apk在发布的时候加过混淆处理,那么我们也只能得到混淆后的版本。想通过阅读源码来破解别人的apk,还是有一些难度的。

    修改代码

    如果只是修改apk相应的资源,例如图片,比较好办,在res文件夹下找到相应的文件替换就可以。

    修改代码比较麻烦,因为反编译出来的结果中只有smali文件,即Java虚拟机支持的汇编语言。

    如果确实需要修改代码,就得对照smali文件和从classes.dex反编译出来的源码了,按照smali的规范来改动即可。相当于写汇编,这个难度比较大。

    重新打包

    使用apktool编译前面反编译生成的目录即可。

    签名

    签名是对要发布的apk文件作标记,确保你的apk文件有唯一的身份归属认证,只有相同签名和相同包名的文件才可以覆盖安装并保留用户信息。

    对于反编译的apk,我们可以通过jarsigner来对它进行签名。

    生成keystore文件

    首先,签名需要keystore文件,可以使用keytool工具生成,一般Java环境都带有keytool命令,可以在命令行测试。

    keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

    各个参数解释如下:

    -genkey 产生证书文件
    -alias 产生别名
    -keystore 指定密钥库的.keystore文件中
    -keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
    -validity 为证书有效天数,这里我们写的是40000天

    输入上述命令后,会有如下的提示:

    输入keystore密码:
    再次输入新密码:
    您的名字与姓氏是什么?
      [Unknown]:  test
    您的组织单位名称是什么?
      [Unknown]:  test
    您的组织名称是什么?
      [Unknown]:
    您所在的城市或区域名称是什么?
      [Unknown]:
    您所在的州或省份名称是什么?
      [Unknown]:
    该单位的两字母国家代码是什么
      [Unknown]:
    CN=test, OU=test, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 正确吗?
      [否]:  y
    
    
    输入<demo.keystore>的主密码
            (如果和 keystore 密码相同,按回车):

    签名apk

    jarsigner也存在于Java JDK的安装包当中,所以安装好了Java环境的话,可以直接在命令行使用。

    jarsigner -verbose -keystore demo.keystore demo.apk demo.keystore

    -verbose 指定生成详细输出
    -keystore 指定数字证书存储路径

    这样,就完成了对一个apk的签名过程,然后就可以安装使用了。注意如果你的手机上原来就有这个apk,需要卸载掉。因为新apk的签名已经改变了。

    参考

    apktool

    dex2jar

    jd-gui

    Android开发学习总结(六)—— APK反编译

    android apk反编译、修改源码、重新打包全过程

    展开全文
  • 安卓apk反编译工具

    2018-10-09 20:16:24
    安卓apk反编译工具,直接运行apktool.bat d xxx.apk就可以反编译apk。
  • 安卓APK反编译

    2020-11-18 14:42:13
    文章目录Apktool使用下载apktool.jarapktool反编译apk Apktool使用 下载apktool.jar apktool反编译apkAPK文件和apktool.jar放到同一目录下 DOS下执行命令java -jar apktool.jar d console-release.apk,当前目录...

    Apktool

    apktool下载

    下载链接:apktool.jar

    apktool反编译apk

    将APK文件和apktool.jar放到同一目录下
    在这里插入图片描述
    DOS下执行命令java -jar apktool.jar d console-release.apk,当前目录下会生成console-release文件夹。
    在这里插入图片描述

    apktool重新打包apk

    进入apktool目录下,执行命令java -jar apktool.jar build -o myapp.apk console-release(上一步反编译后的文件夹),生成新安装包myapp.apk。
    在这里插入图片描述

    dex2jar

    dex2jar下载

    下载链接:dex2jar-2.0.zip

    dex2jar的使用

    解压APK文件,得到dex文件
    在这里插入图片描述
    将dex文件拷贝到dex2jar解压目录下,并执行命令 :d2j-dex2jar.bat classes.dex生成jar文件
    在这里插入图片描述

    jd-gui

    jd-gui下载

    下载链接:jd-gui-windows-1.6.6.zip

    jd-gui的使用

    打开jd-gui.exe软件,将上一步反编译生成的jar文件拖拽到软件空白处,打开jar文件,看到源码。
    在这里插入图片描述

    展开全文
  • 安卓apk反编译工具合集,包含apktool,dex2jar,jd-gui,等
  • 安卓apk 反编译

    2016-10-10 16:39:03
    首先,想将APK文件中的代码反编译出来,我们需要用到以下两款工具:dex2jar 这个工具用于将dex文件转换成jar文件 下载地址:http://sourceforge.net/projects/dex2jar/files/ jd-gui 这个工具用于将jar文件转换成...

    首先,想将APK文件中的代码反编译出来,我们需要用到以下两款工具:

    dex2jar 这个工具用于将dex文件转换成jar文件
    下载地址:http://sourceforge.net/projects/dex2jar/files/
    jd-gui 这个工具用于将jar文件转换成java代码
    下载地址:http://jd.benow.ca/

    将准备好的apk文件解压缩,里面的.dex为后缀名的文件复制出来,将其放到dex2jar的文件夹下,拖动其到d2j-dex2jar.bat这个文件里面,
    也可以用cmd进入dex2jar目录下,用命令语句:
    d2j-dex2jar classes.dex
    此时,dex文件就会被生成jar文件,在该目录下面。打卡之前下载好的jd-gui工具,用此软件打开神工程队jar文件,即刻看到没有被混淆的java代码。
    关于资源文件的反编译,要用到另一款工具:

    apktool 这个工具用于最大幅度地还原APK文件中的9-patch图片、布局、字符串等等一系列的资源。
    下载地址:http://ibotpeaches.github.io/Apktool/install/

    只需要将下载来的apktool.bat 与apktool.jar放在同一个目录下,
    同样适用cmd命令行语句:apktool d xxx.apk
    这里写图片描述

    就可以了,会在c盘指定目录下生成一个apk缓存文件,然后在当前目录下生成反编译后的文件夹,打开既可以看到资源文件了。
    以及,这里面可以打开smali文件夹里面,这是另一种语言。
    若是要将这个文件夹重新编译成apk文件
    apktool b Demo -o new.apk
    这样就会在当前目录下生成个new.apk的文件了。但是是没有签名的,签名文件无法获取的

    展开全文
  • 安卓 APK 反编译工具文档,讲解android app应用的反编译步骤!
  • 安卓 APK反编译工具

    2012-07-01 11:35:54
    安卓 APK反编译工具 内有详细使用说明
  • 安卓APK反编译文档

    2013-03-29 11:58:27
    关于安卓APK反编译的文档,希望对大家的学习有所帮助!
  • 安卓apk反编译工具及教程,仅供学习使用。
  • 支持最新的安卓apk程序反编译脱壳,apktool是apk反编译工具能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。 注意:apktool 2.0以后只支持jdk1.7及以上版本.
  • 【反编译】安卓APK反编译为java文件 准备工具 要反编译的apk文件,以微信8.0.apk为例子 dex2jar 下载地址https://sourceforge.net/projects/dex2jar/ jd-gui java反编译工具 .class --> .java...
  • 安卓apk反编译操作步骤1.反编译需要准备的工具apktool 、dex2jar、jd-gui(到原博客可直接下载)2.反编译操作步骤:1)使用apktool反编译apk2)使用dex2jar反编译apk得到Java源代码3)使用dex2jar获取jar包4)使用...
  • 安卓apk反编译文件

    2019-04-19 09:27:20
    apktool反编译安卓apk包的工具,仅供大家参看学习,使用步骤参照百度很多的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 966
精华内容 386
关键字:

安卓apk反编译