android 反编译 查看AndroidManifest 内容 以及源码

    在公司项目中客户有时会需要换包名以及换各种SDK的key值以及ID 但是用的是公司的自动打包系统 所以出来的包会自动生成APK有时不确定是否替换 所以在网上学习了一点反编译技术 用来查看编译出来的APK中Manifest是否修改成功 所以就尝试去学习反编译技术 用来核对各种值是否替换成功

 这个博客主要是用来记录我自己学到的一些知识

   开始一项新的知识

反编译主要是两个大的内容:

第一点:利用apktool查看apk中的xml文件,AndroidManifast.xml和图片等

第二点:查看java.dex源码, 当然混淆过的就查看不了了 但是我们公司项目没有经过混淆所以还是能够看的

第一点实现步骤

先下载apktool 先贴上官网链接 需要下载apktool工具

链接链接

第一步:点击下载apktool.jar 以及右键wrapper script另存为到桌面然后把后改为bat;

android 反编译 查看AndroidManifest 内容 以及源码_第1张图片

第二步:将下载下来的jar包重命名为apktool.jar

第三步:在E盘里面新建一个文件夹Android 然后再在里面建一个文件夹apktools 将2个文件放入文件夹中

第四步:配置环境变量如图所示地址为刚才的apktools文件夹 添加上记得在前面加上:号

android 反编译 查看AndroidManifest 内容 以及源码_第2张图片

然后开始如何使用了,先将需要反编译的apk文件放在apktools文件夹中

android 反编译 查看AndroidManifest 内容 以及源码_第3张图片

然后cmd到文件夹 运行apktool d test.apk

 

android 反编译 查看AndroidManifest 内容 以及源码_第4张图片

然后出现以下界面代表成功了,我们就可以在F:\Android\apktools发现一个新的文件夹test(这个文件夹的文字跟你的apk名字一样),里面我们就可以看到xml文件、AndroidManifest.xml和图片等资源文件了。

android 反编译 查看AndroidManifest 内容 以及源码_第5张图片

第一点实现完了 然后开始做第二点

第二点实现步骤

我们可以在test文件夹中发现一个文件夹smali,里面其实就是java代码,只不过不是jar形式的,关于如何查看java源码,其实很简单的,如下: 
第一步:把你的apk后缀名改为zip,然后解压后,就会发现有个classes.dex,这里面就是java源码了。 

第二步:我们需要吧dex文件转为jar格式的文件,用到了一个工具叫dex2jar(下载链接),我们把它下载来后解压(下载来后是zip文件)。 

第三步:我解压后是放在F:\Android\apktools\dex2jar-2.0目录下,现在把dex文件拷贝到该目录下。 

第四步:cmd窗口进入F:\Android\apktools\dex2jar-2.0,然后输入命令:d2j-dex2jar.bat classes.dex回车,如下图: 

android 反编译 查看AndroidManifest 内容 以及源码_第6张图片

完成后我们在F:\Android\apktools\dex2jar-2.0目录下就会多了个classes-dex2jar.jar文件,这个就是我们需要的jar文件,接下来就是如何查看java代码了,这里然后借用一个工具jd-gui(点击下载!),下载完解压(这里选择window平台),然后用它打开classes-dex2jar.jar就可以了,如果你的apk经过混淆,那么看到的都是a、b之类的。

你可能感兴趣的:(Android技术)