反编译 android apk 文件看看java源代码

简介: 1,关于apk想要做android开发,要做的一个事情就是学习别人的代码。 先研究下别人的代码,看看咋写的有啥漏洞。学开源的项目也行。 开源项目不如真实的项目有代表性。同时开能看看别人的服务器接口是咋设计的。 比如你弄到一个apk文件。 apk首先是一个压缩文件,只要解压缩就好了。2,解开xxx.apk假设在服务器上面直接解压缩就行了。un

1,关于apk


想要做android开发,要做的一个事情就是学习别人的代码。
先研究下别人的代码,看看咋写的有啥漏洞。学开源的项目也行。
开源项目不如真实的项目有代表性。同时开能看看别人的服务器接口是咋设计的。
比如你弄到一个apk文件。
apk首先是一个压缩文件,只要解压缩就好了。

2,解开xxx.apk


假设在服务器上面直接解压缩就行了。

unzip /data/app/xxx.apk -d /data/app/xxx

里面会有几个文件
AndroidManifest.xml classes.dex resources.arsc META-INF res
其中classes.dex 就是相当于jar的文件了

3,解开dex文件


需要用到一个工具,反编译dex 工具
gitlab项目:
https://github.com/pxb1988/dex2jar
https://sourceforge.net/projects/dex2jar/?source=typ_redirect
工具可以在windows 和 linux 上面使用,也是java写的。
比如在linux上面:

sh ./dex2jar-2.0/d2j-dex2jar.sh /data/app/classes.dex -o /data/app/classes-dex2jar.jar

然后就转换成jar文件了。

4,使用jad反编译


jad是命令行的:
http://varaneckas.com/jad/

unzip /data/app/classes-dex2jar.jar -d /data/app/classes

-o参数,设置输出文件目录和名称:

jad -r -ff -d src -s java classes/**/*.class 

然后src里面就是源代码了。

5,最简单的方法


使用jd-gui直接打开
http://jd.benow.ca/
要什么自行车啊,直接就可以打开这个jar文件。
下载执行文件,直接执行就行。

灰常简单。

4,写完才知道还有一步到位的工具


https://github.com/skylot/jadx
直接有人写好了的工具,一步到位,直接分析apk文件的。

省了不少事情。超级赞。

5,总结


android反编译起来还是非常容易的,尤其是java还有反编译工具。
看起来就更容易了,jd-gui还是非常的好用的。gui的界面使用起来也是很方便的。
但是如果app做了混淆了,并且,app做了加壳把重要的代码,算法都放到了so文件里面
这个使用需要使用其他办法解决了。
一般要是研究些小应用的app他们是啥也没有做的,学习起来还是非常方便的。

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53025024 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

目录
相关文章
|
4月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
285 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
7月前
|
XML API Android开发
android S 上 安装apk出现android.os.FileUriExposedException
android S 上 安装apk出现android.os.FileUriExposedException
86 6
|
6月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
335 0
|
7月前
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
|
7月前
|
Ubuntu Java Shell
反编译apk文件,得到其源代码的方法!!
反编译apk文件,得到其源代码的方法!!
125 1
|
7月前
|
XML 存储 开发工具
Android Studio如何将APK下载
【5月更文挑战第16天】
112 0
|
7月前
|
JavaScript 前端开发 Android开发
Auto.js如何打包成APK文件
Auto.js如何打包成APK文件
|
7月前
|
XML Dart Java
Flutter插件开发之APK自动安装,字节跳动Android岗面试题
Flutter插件开发之APK自动安装,字节跳动Android岗面试题
|
7月前
|
Java 开发工具 Maven
java解析apk获取应用信息
请注意,你需要替换"path/to/your/apkfile.apk"为你的APK文件的实际路径。
343 0
|
7月前
|
数据可视化 Java Android开发
Android 反编译资料整理
Android 反编译资料整理
50 0
下一篇
DataWorks