doapk java环境_关于有的Apk无法反编译的探究
Android的apk包,其实就是zip包,只不过后缀名换了而已!使用“好压”等解压缩工具解压,就可以看到里面的内容了。简单介绍一下吧。
以下就是解压出来的apk的内容:
其中:
assets 对应工程目录下的 assets目录,存放附加资源。
lib 对应工程目录下的 lib目录,存放程序引用库。
META-INF 存放apk签名信息。
res 对应工程目录下的res目录,存放程序资源,如图片等
AndroidManifest.xml 程序的声明文件,包括SDK版本、Activity声明,权限声明等。
classes.dex java字节码,即代码文件。
resources.arsc 资源标识文件,存放字符串等内容。
关于反编译的方法,百度一搜就一大堆,这个我就不多说了!
附上几个链接吧:
1、Android APK反编译详解(附图)
2、真正强大的APK反编译工具 DoAPK 1.0 发布!图形化操作,有图有真相
第1种方法,
通过使用“dex2jar”工具,
把“classes.dex”文件转换为“classes.dex.dex2jar.jar”,
然后再使用“JD-GUI”工具直接打开“classes.dex.dex2jar.jar”文件,
就可以看到详细的Java代码了。
通常会有3种情况:
1、如果开发者没有使用代码混淆的话,那么,你将看到100%的源代码。
2、如果开发者加入了代码混淆的话,那么,你将看到a,b,c,d之类的名字的代码。
3、还有一种情况是,你什么都看不到。这也是我写这篇文章的重点所在。
针对这个问题,我在网上搜索了三天,均没有任何相关的解决方法。
今天早上,偶尔看到有人说是系统问题,在win7下无法查看,但在xp下又可以查看。
于是,我就试着用虚拟机的windows 2003系统看看,结果,还是不行。
后来,仔细一想,怀疑是dex2jar工具版本有问题
于是在2003我安装了新的dex2jar,版本为0.9.8
结果,真的可以看到JAVA代码了。
下图是使用dex2jar 0.9.8的效果:
下图是dex2jar 0.7.0的效果:
由此可知:
有的apk无法反编译,是因为dex2jar的版本太低了!
建议:
在使用dex2jar工具的时候,最好使用最新版,以确保反编译的成功。
后来补充:
有些朋友喜欢使用apktool来进行反编译,操作过程中经常会出现各种问题,无法顺利反编译。
一般来说,这种APK在发布的时候动了手脚(比如加壳、增加特殊代码让apktool出异常……)
解决方法是,
1、首先确保apktool用了最新版本;
2、然后看看apktool出了什么错误,打开apktool.jar,定位到具体代码查看原因
这种情况比较复杂,也比较麻烦,有兴趣的朋友可以去“看雪论坛”多看看。
首先说APK反编译个人经验,2.0之后的APKTOOL(目前任何一款反编译工具都是基于APKTOOL)需要JDK1.8以上的兼容性。第二点,APK的路径是否包含中文,或空格。最好在磁盘盘符根目录下反编译编译。第三点,可以试着删除错误提示中的字行,重新编译。还有就是升级APKTOOL.JAR文件。
最新解决,apktool用的是apktool_2.0.0rc3.jar解决了这个问题,谢谢
apktool反编译时经常会出现下面的信息
1.Input file was not found or was not readable.
2.Destination directory (C:\Users\user\a) already exists. Use -f switch if you want to overwrite it.
3.Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars c fil..........
解决方案:
1和2是因为apktool升级到2.0以上时,使用方式已经替换,格式为:apktool d [-s] -f -o ,参数具体的意思可以直接打apktool回车(windows)查看帮助
3是因为apktool版本过低导致,请升级到最新版本,地址:https://bitbucket.org/iBotPeaches/apktool/downloads,我使用的apktool是2.0版本,生成的xml文件没有乱码。
doapk java环境_关于有的Apk无法反编译的探究相关推荐
- 第一段Java程序_借助Win控制命令台编译执行 编辑器Notepad++
第一段Java程序_借助Win控制命令台编译执行 编辑器Notepad++ 准备代码: 第一次编译: 显然需要先配置环境变量: 先找到java.exe和javac.exe所在的文件夹位置: 此电脑-& ...
- 自己写的android apk反编译,获取Android自己写好了的apk以及反编译
今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...
- 转: android apk 防止反编译技术(1~5连载)
转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...
- NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具
NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具 NP管理器 NPManager 安卓反编译工具,NP管理器是一款强大的安卓反编译或反汇编工具,虽然这个NPManager反编译 ...
- Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)
Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具) 在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一 ...
- Android APK包反编译详细步骤教程
下载安卓apk包反编译软件: https://download.csdn.net/download/LordForce/87485642 1. 解压 dex2jar-2.0.rar 文件. 2. 将 ...
- android apk 防止反编译技术第三篇-加密apk
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术和运行时修改字节码,如果有不明白的可以查看我的博客的前两篇中关于这两种技 ...
- android apk 防止反编译技术第三篇-加密
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blo ...
- java环境_配置java环境变量
1.找到此电脑我的电脑右键属性. 2.点击高级系统设置. 3.点击环境变量. 4.点击新建. 5.创建变量名JAVA_HOME必须是大写,变量值找到你的jdk的根目录复制下来,然后粘贴进去,点击确定. ...
- 安装java环境_(一)环境安装之Java
安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使 ...
最新文章
- 康泰瑞影推高性能3D/4D超声可视化方案
- 「AlphaGo 之父」David Silver最新演讲,传授强化学习的十大原则
- Servlet、Tomcat、 SpringMVC 之间的关系
- CSS清除默认样式,成功入职腾讯
- js中函数的使用方式及回调函数
- QT 010 Qt 4.2 在线手册含UML图解释 User's Guide Documentation
- Excel中快速调整行高或列宽为适合内容显示的长度
- php推送系统,php 如何加入即时推送的功能
- InfoWorld 公布开源软件( 2019 年)
- iphone主屏幕动态壁纸_苹果11怎么设置动态壁纸?这个简单!只需这样操作
- 移动机器人运动控制算法入门
- 奇迹服务器放虚拟机,虚拟机双开奇迹教程
- 微信小程序数据库关于openId的坑
- Excel单元格提取数字
- Scala 与设计模式(四):Factory 工厂模式
- What Makes a Good Teacher
- Kafka学习笔记 --- 生产者producer与消费者关系comsumer
- 从头开始训练一个依存分析器
- 英特尔卖了通信与手机处理器,中国厂商是哭还是笑?
- 查询我的订单功能的实现
热门文章
- docx4j学习笔记
- 麦克纳姆轮全向移动原理(运动速度方向分析)
- arcgis更改字段名_了解字段属性、别名和表显示选项
- 线性代数学习心得(二)矩阵的逆和矩阵变换
- 干货分享——安卓USB通信
- PMP课程笔记:第10章 项目沟通管理
- 安卓平板python编程软件下载_notepad++下载-notepad++中文版下载v7.6.2 中文增强版-西西软件下载...
- PHP 框架集成使用 UEditor 编辑器的方法
- Ajax---菜鸟教程
- 屏幕录像专家录制超清视频教程如何解决转码后不清晰问题