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

时间: 2024-10-06 16:05:39

Android反编译apk(一)的相关文章

如何防止Android反编译apk,爱加密进行安卓加密保护!

近年来,针对网购.交友网站,发送伪装成"样品"或"私照"的钓鱼.木马链接类诈骗逐渐增多:套取个人信息类诈骗手法有所升级,如借卡转账.机票退订等,要求提供银行卡卡号.身份证号及短信验证码:大家熟悉的网络买卖,买家可能"易容",网上的店铺也可能是"僵尸".尤其是近日<E天下>头条报道<小心!不明链接勿乱按>后,引来众多读者反馈:骗子是怎样伪装的呢?常用的伎俩有哪些?现在,爱加密就来为大家一一揭晓,帮助大家在

MAC笔记本下Android 反编译apk文件最新版本

这篇文字主要是针对MAC笔记本反编译APK的教程,都是最新的,首先需要的工具罗列出来: apktool dex2jar JD-JUI 主要就是这3个工具了. apktool作用:主要是用来反编译res下面的xml文件. dex2jar作用:主要是用来反编译APK查看源代码的. JD-JUI作用: 查看dex2jar反编译出来的jar文件. 如果APK混淆后,一般只能清除的查看出xml文件的内容也就是res下的所有文件,代码基本看不懂,也就是一些a b c 这样的名字,不可大致可以看看基本的,看看

Android 反编译 apk 文件

我想看 apk 的源码怎么办?那么就要用到 apk 反编译工具. 先说一下反编译的思路: 1)apk 文件其实就是一个压缩包.将文件后缀 .apk 修改为 .zip 即可通过解压软件打开.打开压缩包可以看见几个文件: 要看源码,只需要关注 classes.dex 就行,这个文件就是 apk 的源码. 2)classes.dex 是被 android sdk 打包好的源码文件,无法直接打开.这时需要一个打开  classes.dex 的工具 3)打开之后的源码是一些 .class 文件,学过 Ja

[Android]反编译apk + eclipse中调试smali

http://www.cnblogs.com/litou/p/3539281.html http://bbs.pediy.com/showthread.php?t=189610

Android基础新手教程——1.10 反编译APK获代替码&amp;amp;资源

Android基础新手教程--1.10 反编译APK获代替码&资源 标签(空格分隔): Android基础新手教程 本节引言: "反编译Apk".看上去好像好像非常高端的样子,事实上不然,就是通过某些反编译软件.对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件.不知道你有没有这样做过,看到一个别人的一个APP界面做得非常精美,或者你看上别人的图片素材,简单点的,我们能够下载别人的APK.然后改下后缀名,改成xxx.zip.然后解压: 笔者随便解压了一个AP

Android基础入门教程——1.10 反编译APK获取代码&amp;资源

Android基础入门教程--1.10 反编译APK获取代码&资源 标签(空格分隔): Android基础入门教程 本节引言: "反编译Apk",看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件:不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压: 笔者随便解压了一个APK:

反编译apk 修改 合成

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 反编译apk帮助文档 准备工具 dex2jar(dex转换jar工具),下载地址: http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip apktool.jar(获取apk资源文件.注册文件.so库等),下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2

android反编译odex文件

关于android的反编译工具,相信大家并不陌生 如APK-TOOL,dex2jar APK-TOOL 用于反编译出布局文件 下载地址http://code.google.com/p/android-apktool/downloads/list dex2jar 用于将dex反编译成.jar包 下载地址:http://code.google.com/p/dex2jar/downloads/list 生成的jar包可用jd-gui来查看(前提是代码未被混淆) 但是如果我们从rom里面提取出的apk是

Android反编译(三)之重签名

Android反编译(三) 之重签名 [目录] 1.原理 2.工具与准备工作 3.操作步骤 4.装X技巧 5.问题 1.原理 1).APK签名的要点 a.所有的应用程序都必须有数字证书 ,Android系统不会安装一个没有数字证书的应用程序: b.Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证: c.数字证书都是存在有效期的,Android只是在应用程序安装的时候才会检查证书的有效期.如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能. d.A