网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具

工具下载地址:

http://download.csdn.net/detail/zsjangel/7104663

下载上面的三个工具的压缩包

  1. Apktool_v1.5.1_CHS_By_b-sf.rar
  2. dex2jar.zip
  3. jd-gui-0.3.5.windows.zip

一、反编译 xml 等模版资源文件。

解压 apktool 包,然后将你要反编译的 apk 文件拖放到 ApkModify.bat  文件上就自动反编译了,这个包自动继承了一些反编译功能,但对 java 文件可能不行,

我用的 Lofter 网易轻博做了个实验,classes.dex 被反编译成了 smali 类型文件。

二、反编译 java 文件

解压 dex2jar.zip 包

将 .apk 文件的后缀名改为 .zip 并解压,进入 dos 命令行模式,一路进入 dex2jar 包的目录执行dos命令:

dex2jar D:\apks\Apktool\lofter\classes.dex

后面的路径参数当然要修改成你的 apk 文件解压后的该文件路径哦

几秒钟编译完后会生成 classes_dex2jar.jar 包文件

三、查看并导出 java 源码

解压 jd-gui 包,执行 jd-gui.exe 程序,打开第二部生成的  classes_dex2jar.jar 文件,此时就可以浏览反编译后的源码了(当然不是最初的源码,变量名神马之类的都是 a, b,c 代替了,阅读起来比较艰难)

打开软件的  file 菜单,点击 save all sources 将导出所有源码为 .java 源文件

再将该 java 源文件目录覆盖到第一部 生成的目录下就可以完整的导入到 android studio 或其他软件中生成新的项目,这样分析源码就方便些了

另外 Android 初学者可加入我的360文件共享群:Android,

打开邀请链接:http://qun.yunpan.360.cn/38063538 ,输入邀请码:1267

里面全都是我和其他网友收集的 android 和 java 相关的资料、教程、软件等等

简单的Android之apk包反编译方法的更多相关文章

  1. 【Android】apk文件反编译

    工具: 压缩软件:用于解压apk包 dex2jar:*.dex反编译为Jar包 jd-gui:查看Jar文件 (PS:不知道博客园如何上传附件,只能把工具挂到百度网盘了:http://pan.baid ...

  2. [Android]APK一键反编译

    每次反编译就是件很烦的事情,烦了就开始偷懒.直接写成脚本节省操作. 使用apktool,d2j-dex2jar进行反编译 脚本:reseve-complie-apk.py import os impo ...

  3. Android Apk的反编译和加密

    这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用.下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获得的资源文件和源码. Android的应用程序APK文件说到 ...

  4. 获取Android自己写好了的apk以及反编译

    今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...

  5. Android开发:APK的反编译(获取代码和资源文件)

    一.反编译工具: 1.APKTool: APKTool是由GOOGLE提供的APK编译工具,能够完成反编译及回编译apk的工作.同时,它也有着安装反编译系统apk所需要的framework-res框架 ...

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

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

  7. [Android]apk反编译方法

    在学习Android开发的过程你,你往往会想去学习别人的apk是怎么开发的,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看.下面是我参考了一些 ...

  8. android apk 防止反编译技术第四篇-对抗JD-GUI

    又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊.好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法.前三篇我们讲了加壳技术(http://my.oschina.net ...

  9. 转: android apk 防止反编译技术(1~5连载)

    转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...

随机推荐

  1. python调用ansible api 2.0 运行playbook带callback返回

    # -*- coding:utf8 -*- ''' Created on 2017年1月13日 @author: qiancheng ''' import os import json from co ...

  2. [Angular Directive] Assign a Structual Directive a Dynamic Context in Angular 2

     Just like passing in an array to *ngFor, you can pass in any value into your structural directive s ...

  3. 使用spring-data-redis操作redis

    redis.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  4. action = "#" 是什么意思 在HTML语言中

    action = "#" 是form标签的属性,代表提交数据到本页,如:// 提交数据到a.aspx页面<form action="a.aspx"> ...

  5. postgresql----serial类型和序列

    postgresql序列号(SERIAL)类型包括smallserial(smallint,short),serial(int)和bigserial(bigint,long long int),不管是 ...

  6. AR/VR行业是否会像智能手机一样的飞速崛起

    从硬件和内容两方面来看,VR(虚拟现实)应该会比AR(增强现实)率先普及大众.当然,这是建立在解决无线化.眩晕.便携等问题之后的事儿,内容上不用担心,照现在这个发展速度-- 说到"风口&qu ...

  7. android 沉浸式状态栏的实现

    本文介绍一种简单的实现沉浸式状态栏的方法,要高于或等于api19才可以. 实现android沉浸式状态栏很简单,添加代码两步就可以搞定. 一.在activity中添加 getWindow().addF ...

  8. IIS 批处理 bat

    c:\windows\system32\inetsrv\AppCmd.exe stop apppool /apppool.name:"ASP.NET 4.0"c:\windows\ ...

  9. swift3 UIColor扩展

    //返回一个RGB颜色 class func getColor(r:CGFloat,g:CGFloat,b:CGFloat,l:CGFloat = 1) ->UIColor{ let color ...

  10. VIP站长大会(北京站)常见问题解答

    功能支持问题 1. react能否和MIP结合使用,如果暂时不能以后是否有考虑?是否会和其他 js 框架(比如angular )结合? 目前暂无计划支持. 2. MIP页是否支持自定义cookie?实 ...