本文章首发于浩瀚先森博客,地址:http://www.guohao1206.com/2016/08/23/970.html

1. 准备

- java环境

安装java并配置环境 => JAVA环境一键配置

- 下载并解压 dex2jar

下载地址:链接: https://pan.baidu.com/s/1qX9ieAg 密码: w2ty

- 下载代码查看软件JD-GUI

下载地址:链接: https://pan.baidu.com/s/1b6mOUy 密码: t6dw

2. 找出classes.dex文件

重命名你的apk文件格式为.zip,然后解压,在解压出来的文件夹里可以找到classes.dex文件。

3. 将classes.dex文件复制到上面解压出来的dex2jar根目录下,即跟d2j-jar2dex.bat文件在同一目录下。

4. 在命令模式下(cmd)定位到d2j-jar2dex.bat所在的目录,运行下面命令

d2j-dex2jar.bat classes.dex

即可生成

classes-dex2jar.jar文件

5. 解压JD-GUI后直接运行里面的可执行程序,用JD-GUI打开上面生成的jar文件即可查看所有的源代码。

教你如何反编译Android安装文件apk来偷窥源代码的更多相关文章

  1. Android反编译(二)之反编译XML资源文件

    Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具  apktool http ...

  2. MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)

    前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的, ...

  3. (转载)反编译android的apk文件步骤

    下面的方法我已经尝试过,完全可以成功,重点的步骤我在这里说一下 1.必须要有java环境,记得配置好环境变量 2.如果只查看class中的函数文件,只需要下载dex2jar和jd-gui 3.下载地址 ...

  4. Android反编译获取资源文件-android学习之旅(69)

    有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的. 要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本) 下载前两 ...

  5. Mac上反编译Android apk安装包

    什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...

  6. 实例具体解释:反编译Android APK,改动字节码后再回编译成APK

    本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...

  7. 反编译Android APK及防止APK程序被反编译

    怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式 ...

  8. 如何给你的Android 安装文件(APK)瘦身

    如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet           原作者:Cyril Mottier Android的apk文件越来 ...

  9. 本文转自 MyEclipse 2015反编译插件安装

    本文转自MyEclipse 2015反编译插件安装 分享一下下载插件的地址,百度网盘:链接:http://pan.baidu.com/s/1nturiAH 密码:yk73 其次:我来说下具体操作步骤: ...

随机推荐

  1. WPF学习之路(十二)控件(Content控件)

    Label Label相比TextBlock功能并不强大,但是支持键盘快捷键的方式获得焦点 <StackPanel> <Label Target="{Binding Ele ...

  2. 在Eclipse上使用Maven

    Maven安装 去官网下载Maven,如下链接: http://maven.apache.org/download.cgi# 选择下载Binary zip archive 解压到本地,安装Maven前 ...

  3. 单例(Singleton)模式

    最简单的单例「饿汉式」  public class Singleton{ private static Singleton instance=new Singleton();    //other f ...

  4. Sql Server之旅——第十二站 sqltext的参数化处理

    说到sql的参数化处理,我也是醉了,因为sql引擎真的是一个无比强大的系统,我们平时做系统的时候都会加上缓存,我想如果没有缓存,就不会有什么 大网站能跑的起来,而且大公司一般会在一个东西上做的比较用心 ...

  5. 我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

    摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识“techknow ...

  6. db2存储过程

    一. 使用存储过程的好处 1. 减少客户机与服务器之间的网络使用率,以及数据库锁定保持的时间 应用程序通常在执行每个SQL语句都要跨网络两次,存储过程可以将SQL语句集中在一起, 从而使得对于每一组S ...

  7. 关于C语言中的位域

    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可.为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称 ...

  8. poj 2278 DNASequnce AC自动机

    地址:http://poj.org/problem?id=2778 题目: DNA Sequence Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  9. 移动测试会Ebay沙龙PPT

    Bill Liu --如何让你的测试更敏捷ebay沈斌峰 --Mobile Automation TestingJason Woo -- Full Stack Testing http://teste ...

  10. import

    避免类名混淆: 区分有包名的类,如果一个源文件引入了两个包中同名的类,那么在使用该类时,不允许省略包名,如引入了tom.jiafei包中的AA类和sun.com包中的AA类,那么程序在使用AA类时必须 ...