如何进行APK反编译
如何进行APK反编译 我们下载到某些apk的时候,可能总想学习下别人是怎么进行程序设计的,或者怎样使用xml文件布局的,这时就想到将apk文件的后缀改为rar并解压,最终得到一些图片资源和很多打开为乱码的文件,可见这种方式不可行,这就需要使用下面的工具对apk进行反编译了。 一、工具准备:apktool、dex2jar、jd-gui 工具包也可以在这里下载。 1、dex2jar可以在这里下载,jd-gui可以在这里下载。 2、apktool,可以到Google官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压apktool.jar到 C:\Windows,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)。 二、使用dex2jar + jd-gui 得到apk的java源码,步骤如下: 1、用.rar打开apk文档,将classes.dex文件解压出来,然后使用工具反编译成.jar文件。 在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下,classes.dex在D:\Android下,所以你进入到dex2jar.bat路径后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。 2、用jd-gui反编译工具将得到.jar文件反编译成.java文件。 三、使用apktool得到apk的xml文件 1、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令: apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC 2、 在解压后的文件夹中可以得到apk的xml配置文件。 四、第二步得到的程序源代码和第三步得到的xml文件组合下,就成一个android工程,即可得到完整的apk源码。
apk反编译/回编译
再次记录一次apk反编译/回编译过程,链接失效请留言,会及时更新。 参考博客: https://blog.csdn.net/w327918069/article/details/82761437 首先,我们需要一个apk,下图是Android Studio编写并打包的一个apk。 其实apk就相当于一个zip压缩包,通过 WinRar 工具可以对其解压缩,像这样: 此时,祭出我们的神器----> apktool ,当当当当~~~~~~~。 一行命令进行apk反编译: apktool d -r app-debug.apk 一定要加入参数 -r ,不然后面回编译回报错。 apk反编译到此结束。 回编译就是通过 apk反编译 生成的目录文件转换成一个apk。 十分简单的一行命令: apktool b app-debug 此时安装apk到手机无法安装成功,还需要对apk进行签名才能安装。 1.生成key.keystore keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore 可以看到key.keystore已经生成。 2.对apk进行签名 可用于没有签名和已经签名的apk,再次签名。 jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias] 命令格式及参数意义: -verbose -> 输出签名过程的详细信息 -keystore [keystorePath] -> 密钥的库的位置 -signedjar [apkOut] -> 签名后的输出文件名 [apkin] -> 待签名的文件名 [alias] -> 证书别名 jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore 回编译完成。