android开发笔记之反编译apk(一)

    为什么反编译:

    做为个人开发,有时候看到精美的UI效果,好玩的功能,是不是有想可以参考学习的冲动。反编译android的apk,就是从apk中把资源(如图片,音乐,布局文件等等),源代码。

    推荐阅读:

    对于反编译apk,请先阅读文章<<反编译Android应用>>,<<Android APK反编译就这么简单 详解(附图)>>,好好看,看完自己下载几个apk试试,应该就对反编译apk心里有个底了。

   我的笔记:

(1).相关软件:

dex2jar------将apk反编译成java源码(qq.apk转化成qq_dex2jar.jar文件)

jd-gui--------是一个独立的图形工具,用于显示*.class文件的Java源代码

apktool------资源文件获取,可以提取出图片,音乐和布局文件进行使用查看,反编译后还可以重新编译回去

(2)软件使用简单说明:

     以qq.apk为例,我们要查看apk源码:

      先使用dex2jar将qq.apk转化成qq_dex2jar.jar文件,然后再用jd-gui查看源码。相关cmd命令:

1.dex2jar-------qq_dex2jar.jar文件
cd /d E:\BaiduYunDownload\0002_反编译Android应用\相关软件\dex2jar-0.0.9.15\dex2jar-0.0.9.15
dex2jar qq.apk

2.jd-gui-0.3.6.windows.zip-----从jar查看源码

把qq_dex2jar.jar文件拖入jd-gui中,查看源码

   以qq.apk为例,我们要查看apk资源文件:

    方法一:如果,我们仅仅要简单的查看一下图片,音乐,我们可以直接把qq.apk重新命名为qq.rar,然后解压就可以得到资源,但是这个方法得到的资源xml文件是乱码,并且点9图片会变形。所以,我们一般会用apktool工具反编译apk,得到完整的资源。

   方法二:apktool直接提取apk资源,相关cmd命令:

cd /d E:\BaiduYunDownload\0002_反编译Android应用\相关软件
apktool d AndroidDemo.apk
apktool d -f AndroidDemo.apk
apktool d -m AndroidDemo.apk
apktool d -s AndroidDemo.apk
apktool d -f -m -s AndroidDemo.apk

    如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool b AndroidDemo.apk

3. 还有度娘

    前二个方法,可能要借助什么翻墙才能下载到的软件,还有一些命令,但是,我们不要忘了还有度娘噢,我们可以下载到别人整理后的软件,功能更强大,使用更方便。



实践结果:

   最后,我用了3个apk(QQ_220.apk,Mms.apk,Contacts.apk)来测试此方法(dex2jar,jd-gui,apktool)的反编译情况,最后的结果是:3个apk都可以生成jar文件,并都能查看java源码,但是只有Mms.apk能反编译出资源文件,其它二个都不可以。

  这个事实,也告诉我们,反编辑apk,也可能是一个相当考验人品的事情。所以,我们能做的就是多采用几种方法,多使用几种软件,多尝试,说不定,奇迹就在下一刻。

参考资料:

1.反编译Android应用

http://blog.csdn.net/android_cai_niao/article/details/43151831

2.Android APK反编译就这么简单 详解(附图)

http://blog.csdn.net/vipzjyno1/article/details/21039349

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hfreeman2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值