首页 > 学院 > 开发设计 > 正文

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

2019-11-07 23:49:02
字体:
来源:转载
供稿:网友
APK反编译以及重新打包的详细步骤概述:通过反编译apk可以得到我们想要的资源,学习到自己想要的东西。如果有特殊需求还可以更改相应的地方然后再重新打包回去,达到自己需要的效果。这里我将分成两个部分来描述。               第一:反编译apk,然后根据自己需求更改,再重新打包回去。 用到的工具:apktool.zip               第二:将重新打包的apk进行签名。用到的工具:auto-sign.zip1、反编译:  工具: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所示:                                                                                   图 1.1          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:                                                                                   图 1.1          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:反编译之后会得到test 文件夹,打开test文件夹,里边就是反编译出来的各种资源文件                                                                                   图 1.1          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:然后继续执行  apktool.bat b test 如下图所示:                                                                                   图 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所示:                                                图1.5打开 “dist”文件夹就会看到重新生成的apk。接下来就要用到签名工具了,如果不经过签名是不能正确运行的。工具: auto-sign.zip将打包好的test.apk 拷贝到 签名文件夹中,并且重命名为 update.zip  如图2.1所示:                                              图2.1  通过cmd ——>  cd  [签名文件夹的路径 ]  (我测试的路径为:C:/Users/Administrator/Desktop/android_tool_v2.2/lib/autosign).如图2.2所示:                                                                 图2.2接下来输入  java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip  就可以了 。测试过程如图2.3所示:                                                              图2.3之后去签名文件夹中找到签名后的压缩包                                            图2.4最后将这个压缩包格式改成.apk就可以正确运行了。如图2.5所示。                                                                                           图 1.1          警告:在网上查看怎样反编译的时候给的操作方式是  apktool.bat  d -f test.apk  test   或者  apktool.bat  d test.apk  test  这样操作会导致以下错误,如图1.2所示:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表