1.测试环境
SDK: Java JDK, Android SDK。
工具: 7zip, dex2jar, jd-gui

2.操作步骤

第一步:把apk改后缀名为zip

第二步:将zip文件解压,得到classes.dex文件

第三步:在cmd命令行下,进入到反编译工具dex2jar目录下,之后输入命令:

dex2jar.bat  classes.dex  解压出来的classes.dex文件路径

第四步:执行完成后,会在classes.dex同一路径下生成classes_dex2jar.jar文件

第五步:双击打开jd-gui.exe文件

第六步:将第四步生成的jar文件,用jd-gui打开,即可得到java代码

【注: 直接使用 smali2java 或者 APKAnalyser 打开 apk 文件,也可反编译回 Java 代码】

【注:有时用 apktool 能够解包并查看 smali,但 dex2jar 却不行。如果 dex2jar 反编译失败,可以试试看能不能恢复 smali 代码。】
逆向后发现是没混淆的情况,是不安全的。如果代码经过混淆,或者有加壳措施,不能完整恢复源代码的,都可以认为此项安全,混淆后的代码样例,除了覆写和接口以外的字段都是无意义的名称。如下图已加密混淆,除了覆写和接口以外的字段都是无意义的名称:

 

Android安全测试(二)反编译检测的更多相关文章

  1. Android apk逆向:反编译,回编译,签名,打包。

    Android apk逆向:反编译,回编译,签名,打包流程. 第一步: apk 反编译. 1) 打开命令行窗口,输入java -version, 检测当前java版本,若版本较低, 则下载JAVA S ...

  2. Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

    Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51 ...

  3. android工程混淆和反编译

    一.工程文件的混淆 混淆文件下载:http://download.csdn.net/detail/lxq_xsyu/6328751 1.在根目录下添加progard.cfg文件 2.打开project ...

  4. 简单的Android之apk包反编译方法

    网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: http://download.csdn.net/detail/zsjangel/7104663 下载上面的三个工具的压缩包 ...

  5. 【Android】Android如何对APK反编译

    本文笔者粗略的介绍如何利用一些工具,对Android进行反编译,从而得到源码,希望对你有所帮助,笔者的android环境为4.4.2. 1.准备资源. 在开始之前,需要准备三项工具:apktool  ...

  6. Android 代码混淆 防止反编译

    为了防止代码被反编译,因此需要加入混淆.混淆也可以通过第三方进行apk混淆,也可以用android中的proguard进行混淆. 混淆步骤: 1.配置混淆文件,名字可以随意,在这里使用proguard ...

  7. Android开发周报:反编译对抗研究、动手制作智能镜子

    新闻 <Android Wear落地中国 谷歌增强安卓生态控制力> :9月8日,由摩托罗拉推出的智能手表Moto 360二代作为国内发售的第一款搭载官方Android Wear的设备,正式 ...

  8. Android开发学习之反编译APK文件

    反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/d ...

  9. Android 应用程序的反编译

    1.ApkTool工具 安装ApkTool工具,该工具可以解码得到资源文件,但不能得到Java源文件.安装环境:需要安装JRE1.61> 到http://code.google.com/p/an ...

随机推荐

  1. python-xss攻击和单例模式

    1.python中单例模式 class Foo: instance = None def __new__(cls, *args, **kwargs): if not Foo.instance: Foo ...

  2. Apache 用户认证

    基本认证(Basic) 摘要认证(Digest) 更安全 创建一个名为 users 的认证口令: htpasswd    -c   /usr/local/apache2/conf/users sam ...

  3. dos2unix 将DOS格式转换成NUIX格式

    1.命令功能 dos2unix将windows文件格式转换成unix文件格式. 2.语法格式 dos2unix  file 3.使用范例 [root@localhost ~]# dos2unix wi ...

  4. 长沙理工大学第十二届ACM大赛-重现赛I 主持人的烦恼 (sort)

    链接:https://ac.nowcoder.com/acm/contest/1/I 来源:牛客网 主持人的烦恼 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...

  5. 长短时间记忆的中文分词 (LSTM for Chinese Word Segmentation)

    翻译学长的一片论文:Long Short-Term Memory Neural Networks for Chinese Word Segmentation 传统的neural Model for C ...

  6. 10年前文章_mpc8313的ltib安装以及u-boot重新编译

    Linux系统下安装ltib(linux target image builder): 1.       下载光盘到本地 wget http://192.168.1.4/share/vendor/mp ...

  7. EasySwoole的入门学习

    EasySwoole的入门学习 官网地址:https://www.easyswoole.com/ 一.安装easyswoole: (1)建立安装目录: cd /data mkdir easyswool ...

  8. DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  9. bzoj3011 [Usaco2012 Dec]Running Away From the Barn 左偏树

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3011 题解 复习一下左偏树板子. 看完题目就知道是左偏树了. 结果这个板子还调了好久. 大概已 ...

  10. 前端之CSS:属性操作2

    css样式之属性操作 一.文本属性 1.text-align:cnter 文本居中2.line heigth 垂直居中 :行高,和高度对应3.设置图片与文本的距离:vertical-align4.te ...