Android APK反编译、重打包、重签名

来源:互联网 发布:海典软件招聘 编辑:程序博客网 时间:2024/05/29 10:24

准备工作

  • dex2jar-2.0
  • apktools
  • jdk_gui

Apk反编译

  • 个人觉得这两个文件直接放到 C:\Windows 下比较方便,打开dos命令可以直接使用

    这里写图片描述

  • 反编译命令行

apktool d -f 需要反编译的apk -o 反编译生成的目录例如:apktool d -f E:\app-release.apk -o c:\AS

如图:
需要反编译的apk:
需要反编译的apk

反编译生成目录:
反编译生成目录
注意:我这里的dist是重打包生成的文件夹,反编译后是没有值这个文件夹的

反编译命令:
这里写图片描述

  • 修改反编译后的文件
    目前我只能去修改清单文件种的一些东西,代码修改这一块还在研究。各位客官有什么好的资料,也可以把资料分享给我.可以给我留言,谢谢!
    各位客官可以反编译以后把清单文件所有的类都改成横屏或竖屏试试。

重打包

apktool b 你刚刚反编译生成的目录例如:apktool b C:\AS

这里写图片描述

重打包后会生成这个文件夹,重打包的apk就在里面。


重新给apk签名

jarsigner -verbose -keystore  你的keystore路径或者AS生成的jks文件路径  -signedjar 签名后生成的新apk路径  需要签名的apk路径  你的签名文件的别名例如:jarsigner -verbose -keystore  (换成你的签名文件E:\33test.jks)  -signedjar E:\ts.apk(生成的新sign apk)   C:\tools\dist\powerstation.apk(代签名的apk) 换成你签名文件的别名

这里写图片描述

密钥库就是的签名文件的密码。

  • 生成新的签名过后的apk

这里写图片描述


查看源码

  • 把classes.dex转成jar包
    把下载的apk可以用快压缩打开,把classes.dex拷贝出来。
    我们需要借助一个工具,本人图以后方便直接把dex2jar-2.0拷贝到c盘根目录了。
    我们首先需要进入dex2jar-2.0的目录C:\dex2jar-2.0,然后把classes.dex拷贝到该目录下,最后用dos命令执行,就会在该目录下生成一个新的jar包。

    这里写图片描述
    生成新的jar:
    这里写图片描述

  • 查看源码

    我们可以用jdk-gui查看:

    这里写图片描述

到这里反编译、重打包、重签名、修改文件(目前只介绍了修改清单文件,修改别人的源码这块还不知道怎么去改)。欢迎各位客观留言,指出不足!