关于Android反编译的实现
2016-03-01 14:27
316 查看
这是我第一次写博客,因为以前一直都是看别人写的博客来学习和解决问题,今天开始慢慢写一些博客,希望能把自己在平时开发时遇到问题时的解决方法写下来,也能让更多的人看到,呵呵,文采太差了,就这样吧
今天我要说的就是Android里面的反编译,也许很多人看到别人的应用写的很好,或许有些图片资源很好,想借鉴一下的,
第一,如果是借鉴图片资源的话,那很简单,你直接下载APK,然后把APK解压出来,就能找到你需要的图片资源了,如下图
接下来就说说饭编译吧
反编译的工具的下载地址:https://yunpan.cn/cxCDJtTDQ3CrZ (提取码:baa4)
这些工具很小,只有10几M而已,下载完之后打开文件夹,将dexjar下面dex2jar.rar解压就可以了,不需要配置环境的
一:将要反编译的APK
右键àwinRAR解压,得到里面的classes.dex,如下图
二,将classes.dex复制放入D:\FanBianYiTool\APKDB目录下面,如下图:
三:运行cmd,切换路径到当前放入classes.dex的目录,如下图:
四:输入dex2jar classes.dex,运行,如下图,则已成功编译了
五:此时在原来的文件目录下D:\FanBianYiTool\APKDB会生成一个classes_dex2jar.jar的压缩包,我们需要的内容就在这里面了,如下图:
六:运行jd-gui.exe,如下图:
七:打开后下图样式
八:点击左上角file-àopen
file,找到刚才生成的那个jar包,打开,如下图:
九:这样我们就能看到源代码了,如下图,这样我们的反编译就结束了
一般来说如果我们要对我们的程序进行混淆,这样就不会被反编译出来后看到跟源码一模一样的了,因为做过混淆之后即使反编译出来了程序里面的很多类名和变量名都已经变了,一般人是很难读懂你的代码了,所以在你的build.gradle里面的buildTypes里面加上以下代码则会让你的程序混淆了,当然混淆配置文件还是要自己去做的。
今天我要说的就是Android里面的反编译,也许很多人看到别人的应用写的很好,或许有些图片资源很好,想借鉴一下的,
第一,如果是借鉴图片资源的话,那很简单,你直接下载APK,然后把APK解压出来,就能找到你需要的图片资源了,如下图
接下来就说说饭编译吧
反编译的工具的下载地址:https://yunpan.cn/cxCDJtTDQ3CrZ (提取码:baa4)
这些工具很小,只有10几M而已,下载完之后打开文件夹,将dexjar下面dex2jar.rar解压就可以了,不需要配置环境的
一:将要反编译的APK
右键àwinRAR解压,得到里面的classes.dex,如下图
二,将classes.dex复制放入D:\FanBianYiTool\APKDB目录下面,如下图:
三:运行cmd,切换路径到当前放入classes.dex的目录,如下图:
四:输入dex2jar classes.dex,运行,如下图,则已成功编译了
五:此时在原来的文件目录下D:\FanBianYiTool\APKDB会生成一个classes_dex2jar.jar的压缩包,我们需要的内容就在这里面了,如下图:
六:运行jd-gui.exe,如下图:
七:打开后下图样式
八:点击左上角file-àopen
file,找到刚才生成的那个jar包,打开,如下图:
九:这样我们就能看到源代码了,如下图,这样我们的反编译就结束了
一般来说如果我们要对我们的程序进行混淆,这样就不会被反编译出来后看到跟源码一模一样的了,因为做过混淆之后即使反编译出来了程序里面的很多类名和变量名都已经变了,一般人是很难读懂你的代码了,所以在你的build.gradle里面的buildTypes里面加上以下代码则会让你的程序混淆了,当然混淆配置文件还是要自己去做的。
相关文章推荐
- AssetBundle 在Android机子上进行读取
- android 自定义Alertdialog对话框用于耗时加载
- Android开源项目第二篇——工具库篇
- android媒体--stagefright概述【一】
- Android Timer的自动功能
- BroadcastReceiver的两种注册方式(静态注册和动态注册)android开发教程
- Android刮刮卡原理及实现
- Android笔记(二)SpannableString显示表情
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager
- Android可动态改变compoundDrawable颜色的TextView
- Android中的系统广播集合
- Android中的静态系统广播和动态系统广播
- android开发 wifi开发不稳定性测试
- 60条Android日常开发总结的技术经验
- Android提供的支持不同屏幕大小的全部方法
- android之JNI开发步骤总结
- android中使用jni对字符串加解密实现分析
- Android 系统应用 注意的那些事
- android中View.measure方法详解
- Android-笔记-160301