APK反编译以及重新打包的详细步骤

时间:2024-04-11 08:34:08

APK反编译以及重新打包的详细步骤

概述:通过反编译apk可以得到我们想要的资源,学习到自己想要的东西。如果有特殊需求还可以更改相应的地方然后再重新打包回去,达到自己需要的效果。这里我将分成两个部分来描述。

               第一:反编译apk,然后根据自己需求更改,再重新打包回去。 用到的工具:apktool.zip

               第二:将重新打包的apk进行签名。用到的工具:auto-sign.zip

 

1、反编译:  工具:apktool   (版本是 2.0) 目前很多apk 都要求apktool 版本足够高才行,不然会报版本过低的错误。

  • cmd ——>cd apktool文件夹的路径(我这里是C:\Users\Administrator\Desktop\android_tool_v2.2\lib\apktool)  
  • apktool.bat d -f test.apk -o test      (因为apktool的版本升级到了2.0 所以方式有点变化。 标准格式变成 apktool -f [待反编译的apk] -o [反编译之后存放文件夹] )  具体操作如图1.1所示:

APK反编译以及重新打包的详细步骤



                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:

APK反编译以及重新打包的详细步骤

                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:

  • 反编译之后会得到test 文件夹,打开test文件夹,里边就是反编译出来的各种资源文件

APK反编译以及重新打包的详细步骤

                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:

  • 然后继续执行  apktool.bat b test 如下图所示:

APK反编译以及重新打包的详细步骤

                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:

 警告:这里特别要注意,可能我们反编译的有错,所以如果直接执行打包程序会报错。这里提供两个解决方案:1、将错误看懂然后去对应的地方改,不过这个比较难找,不够直观。  2、可以将反编译的代码拷贝到一个eclipse新建的空工程中,看看是否有错,直到修改正确为止。而且一般错误都是出现在资源文件中,容易修改。

  • 之后再去test文件夹中就会有如下发现, 图1.5 所示 :

                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:

APK反编译以及重新打包的详细步骤

                                                图1.5

  • 打开 “dist”文件夹就会看到重新生成的apk。
  • 接下来就要用到签名工具了,如果不经过签名是不能正确运行的。工具: auto-sign.zip
  • 将打包好的test.apk 拷贝到 签名文件夹中,并且重命名为 update.zip  如图2.1所示:

          APK反编译以及重新打包的详细步骤

                                    图2.1

  •   通过cmd ——>  cd  [签名文件夹的路径 ]  (我测试的路径为:C:\Users\Administrator\Desktop\android_tool_v2.2\lib\autosign).如图2.2所示:

          APK反编译以及重新打包的详细步骤                                                       图2.2

  • 接下来输入  java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip  就可以了 。测试过程如图2.3所示:

         APK反编译以及重新打包的详细步骤

                                                     图2.3

  • 之后去签名文件夹中找到签名后的压缩包

        APK反编译以及重新打包的详细步骤

                                    图2.4

  • 最后将这个压缩包格式改成.apk就可以正确运行了。如图2.5所示。

        APK反编译以及重新打包的详细步骤

                                                                                   图 1.1
          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示: