前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安卓反编译记录

安卓反编译记录

作者头像
渴望飞翔的猪
发布2022-07-17 10:46:56
4940
发布2022-07-17 10:46:56
举报
文章被收录于专栏:葵花宝典007

记一次简单的安卓反编译

下午闲来无事便想修改个app的名字,弄来一下午顺便在记录下,熟悉了步骤还是挺简单的,不过使用的工具这个东西最好是下载最新的,比较反编译出错,很大程度上依赖工具的强大,在此也是收集网络资料而来,不过话说技术这个东西,博客很多用法已经失效,各位看客也只能看看参考就好(不过特别鄙视那些博客随便复制,不经过自己的实测就发表,可能只是自己记录,可是很容易误导别人,因为我看到很多就是错的,不是过时的问题,是语句本身出错!!!)

1.1 反编译工具

  • apktool(反编译apk,以及重新打包) 作用:资源文件获取,提取图片,以及布局等文件,下载地址:apktool 上面下载下来时jar包,在此我使用的是github上的,有人已经封装了可以使用的apktool.bat而已,本质还是使用的上面的jar包的:下载地址
  • dex2jar(源码文件获取) 作用:apk反编译成java源码(calsses.dex->jar文件,然后这个jar可以用jd_gui可以查看),下载地址:dex2jar
  • jd_gui(源码查看)下载地址:jd_gui
  • baksmali 作用:把classes.dex转为为smali文件的工具
  • smali 作用:把smali文件编译打包为classes.dex的工具(利用以上俩个工具可以实现修改后重新打包apk,jd_gui和dex2jar只是为了查看源码的,因为直接看smali文件难度较大)
  • autoSign 作用:给重新打包后的apk签名,之后才可以安装。

步骤

cmd到工作所在的目录下: - apktool.bat d -f zhihu_signed.apk -o zhihu 说明: 其中d是decode的意思,表示我们要对apk进行解码。 -f 如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)。 -o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹)。 -s 不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)。 -r 不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)。

如图:

这里写图片描述
这里写图片描述

在这一步就获得了反编之后的资源,进入zhihu目录搜索app名称,然后修改保存之后,重新打包。

代码语言:javascript
复制
apktool.bat b zhihu -o zhihu.apk

运行后会在当前目录生成apk,并且在zhihu目录下产生一个build文件夹,也可以不加-o 参数,那么生成的apk会在zhihu目录下产生的dist文件夹里面。

只是用了apktool一个工具而已,因为我只是想改变名字,然后我其实尝试把知乎的图标给换掉,有点奇怪是我换了图片,结果装手机上还是没有效果,估计八成的图标没有换对,不过也花了一个下午搞这玩意儿,还是小小记录下吧。

刚刚在模拟器试了一下,安装上的app的图标已经改变啦,话说下午费我那么多功夫就为了改下小小的icon,不过在手机上安装使用图标却是不变,这样就好推测了,应该是手机上已经安装过,有了缓存读取的,话说有第二次被缓存坑里,上次是调试网页,这次的手机啊,不过还好多了个心眼,找不到新手机,特地装了个模拟器试试,果然生效啦,撒花开心咯^.^

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 记一次简单的安卓反编译
    • 1.1 反编译工具
      • 步骤
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档