melonl吧 关注:96贴子:2,323

直播对一个APK进行反编译精简

只看楼主收藏回复

这是这次要精简的apk,名为小E工具箱,用来刷入Recovery.img或是重启到Recovery等功能,对于MTK来说是非常好用的工具,至于高通什么的就不知道了,反正我自己感觉很实用,原本apk的大小是20k左右,记住这个大小,等我们修改后对比一下



IP属地:广东来自Android客户端1楼2015-08-22 12:59回复
    首先安装上去,打开看看,可以看到主界面除了主要功能的几个按钮外还有一些修改作者的信息,论坛网址等,这些我们都要去除它


    IP属地:广东来自Android客户端2楼2015-08-22 13:01
    回复
      点击“刷入rexovery.img”后会跳转到另一个界面,这就表示软件至少要有2个xml布局文件。


      IP属地:广东来自Android客户端3楼2015-08-22 13:03
      回复
        这是未修改的软件链接 http://pan.baidu.com/share/link?shareid=3142707084&uk=2135712836


        IP属地:广东来自Android客户端4楼2015-08-22 13:04
        回复


          IP属地:广东来自Android客户端5楼2015-08-22 13:07
          回复
            现在我用apktool反编译他,得到源码


            IP属地:广东来自Android客户端6楼2015-08-22 13:07
            回复
              楼上图放错了


              IP属地:广东来自Android客户端7楼2015-08-22 13:08
              回复

                 ✎﹏﹏
                |||||||||
                ┃   ━   ┃
                ┃ ┳┛ ┗┳ ┃
                ┃       ┃
                ┃   ┻   ┃
                ┃       ┃
                ┗━┓   ┏━┛
                  ┃   ┃
                ┃   ┗━━━┓
                  ┃经验与我同在 ┣┓
                  ┃围观专用宠物 ┃
                  ┗┓┓┏━┳┓┏┛
                   ┃┫┫ ┃┫┫
                   ┗┻┛ ┗┻┛
                ——来自伟大的尘封记忆853


                来自Android客户端8楼2015-08-22 13:08
                回复
                  根据1楼安装界面的截图可以看到,这个apk有很多不该有的权限,刷rec需要从sd卡读取文件的权限,其他的重启什么的都不用权限,所以我们先打开AndroidManifest.xml


                  IP属地:广东来自Android客户端9楼2015-08-22 13:16
                  回复
                    分析这些uses-permission得出,除了第一个是读写储存器的权限,其他都是一些没用的权限,比如说联网,读取系统设置,更改系统设置,更改音频设置什么的,这些全部删了,要注意格式



                    IP属地:广东来自Android客户端11楼2015-08-22 13:22
                    回复
                      好,先回编译,签名,安装,在安装界面可以看到,需要的权限少了很多,安装完后打开看看,运行正常,说明刚刚的修改成功了






                      IP属地:广东来自Android客户端12楼2015-08-22 13:29
                      回复
                        对比一下修改前和修改后的大小,汗-_-||,反而大了0.2k,这是因为签名的关系,所以不用在意,继续精简


                        IP属地:广东来自Android客户端13楼2015-08-22 13:31
                        回复
                          然后我们打开res看看,里面没有lyaout文件夹,说明软件一启动就直接加载xml文件夹里的布局,根据上面我们做的判断,这个软件应该有两个xml,我们进去看看,没错,是两个,所以xml没有精简的东西了



                          IP属地:广东来自Android客户端14楼2015-08-22 13:37
                          回复
                            然后我们打开values文件夹看看,里面放着字符串资源和生成的id资源,可以看到两个文件都是7k多,这个软件不需要那么多字符串,所以里面一定有很多没用的字符串


                            IP属地:广东来自Android客户端15楼2015-08-22 13:41
                            回复
                              打开string.xml,可以看到有很多垃圾,像什么backup,ota,fastboot什么的都是没用的,因为这个软件只提供了刷入rec和进入rec和快速重启的功能,所以我们只留下有recovery字样的字符串就可以了



                              IP属地:广东来自Android客户端16楼2015-08-22 13:45
                              回复