您的位置:首页 > 其它

apk反编译教程[素材提取,源码查看]

2013-11-14 14:07 169 查看
学习最快的速度莫过于模仿,学习别人优秀的代码逻辑和UI设计,能让自己少走很多弯路。对于android开发者,看到一个优秀的apk,总想知道别人是如何设计和布局的。至于能不能看到原作者的代码,那要看运气了。若是代码没有混淆,那就恭喜你,原作者所有的代码都一清二楚,包括注释。当然,现在不注重成果保护的开发者越来越少。所以我们看到的代码基本上都是混淆过的。

反编译apk,最重要的目的是学习别人的UI布局和提取素材。

下面,结合具体的工具教你一步一步反编译apk, 以58.apk为例。

1,下载apktool,在cmd命令窗口下,移动至apktool.bat所在的文件夹。

运行: apktool d d:\apktool\58.apk d:\apktool\58

其中d:\apktool\58.apk为apk的路径地址,d:\apktool\58为解压后的目录

运行成功后,会在D:\apktool文件夹下生成一个名为58的文件夹。







2,现在,你能看到所有的资源素材,res/目录下的布局文件和图片,还有AndroidManifest.xml。

3,但是,代码目前是看不到的,我们需要另外一种方式来获取。

4,将58.apk改为58.zip。注:apk实际上是一个zip压缩包。

5,解压提取出58.zip中的classes.dex文件。

6,下载 dex2jar-0.0.9.7.zip,解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录

运行

dex2jar.bat classes.dex

生成

classes.dex.dex2jar.jar





7,运行jd-gui.exe,打开classes_dex2jar.jar,就能看到源码,不过58的代码混淆了,看起来有点费劲。



8,至此,反编译工作就大功告成。

本文中涉及到的软件下载见底部。

工具下载:apktool dex2jar jdgui

转自:http://blog.csdn.net/cbbing/article/details/9850147
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: