发新帖

安卓逆向学习笔记(2)- 利用apktool反编译apk并进行二次打包

[复制链接]
6097 0

这篇文章将介绍一个apk反编译工具apktool。我们可以用apktool反编译apk,并且可以对反编译得到的文件重新打包生成新的apk。 本文使用的apktool版本为v2.0.0RC3,待反编译的apk为HelloWorld.apk。

下面具体介绍apktool的使用步骤: (1) 先将apktool_200RC3.rar解压到某个具体的文件夹下; (2) 将待反编译的HelloWorld.apk放在apktool_200RC3文件夹下; (3) 然后在apktool_200RC3文件夹中打开命令提示符,输入以下命令 apktool d HelloWorld.apk 即可对apk进行反编译,如图1所示:

图1 输入命令反编译apk

待命令执行完毕后,会在当前目录下面生成一个HelloWorld文件夹。 (4) 我们找到\HelloWorld\res\values\string.xml这个文件,该文件存放着apk中的字符串资源。我们修改将hello_world字段的值改为“Hello Apktool!”。如图2所示:

图2 修改string.xml文件中的hello_world字段的值

(5) 在命令提示符中输入以下命令:apktool b HelloWorld 如图3 所示:

待命令执行完毕后,会在HelloWorld文件夹中生成一个dist文件夹,该文件夹下面就保存着二次打包生成的HelloWorld.apk。注意此时新生成的HelloWorld.apk没有进行签名,所以是无法安装和运行的。

(6) 下面使用签名工具Auto-sign对重新生成的HelloWorld.apk进行签名。具体步骤如下: \1. 将Auto-sign.rar解压到某个目录下,将HelloWorld.apk拷贝到Auto-sign文件夹中,并将其改名为update.zip \2. 双击执行批处理文件Sign.bat,待批处理文件执行完毕后,会在当前目录下面生成一个update_signed.zip文件,这个就是签名后生成的文件,我们将其改名为HelloWorld.apk即可。

(7) 安装并执行重新生成并且签名的HelloWorld.apk,可以看到运行结果如图4 所示:

图4 执行二次打包生成的apk所得到的结果

从图4 可以看出,原来显示的“Hello world!”字符串已经被我们修改成了“Hello Apktool!”,所以可见我们使用apktool反编译apk并二次打包生成apk的操作是成功的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表