JD-GUI

http://jd.benow.ca/

JD-GUI可到官網直接下載。官網除了JD-GUI之外,另提供了Eclipse(JD-Eclipse)和IntelliJ(JD-IntelliJ)的插件能讓這些IDE擁有反編譯Java程式的能力。

JD-GUI的用法十分簡單,開啟JD-GUI之後,再選擇要反編譯Jar或是Class檔案。

 

1. 下载工具

dex2jar下载地址:http://code.google.com/p/dex2jar/downloads/list

(备注:当时Google宣布退出大陆市场后,谷歌Google在兆维电信机房的服务器托管已终止,服务器都在中国香港和国外,加上经常受GFW的限制,现在无法打开网站,已很正常,假如无法打开可以多尝试几次)

JD-GUI下载:

jd-gui-0.3.3.windows.zip

Size : 691.67 KB

MD5 checksum : 15b3bfb9283bcd3f5db551762f4debeb

jd-gui-0.3.3.linux.i686.tar.gz

Size : 973.8 KB

MD5 checksum : 64491556a81f65b8ad58ef44c5ec99c0

jd-gui-0.3.3.osx.i686.dmg

Size : 1.37 MB

MD5 checksum : eb33e74f724d3b0a89ca4002a408ab49

2. 通过dex2jar将apk转换为jar文件

  • 从apk中抽取classex.dex文件

虽说dex2jar可以直接从apk抽取出jar文件,但是会经常遇到一些问题,所以常用的方法是将.apk文件,重命名为.zip,解压缩后,找到classes.dex文件

  • 运行dex2jar生成.jar文件

在Mac系统,打开终端,定位到dex2jar所在的目录,执行以下命令:

./dex2jar.sh absolute_path_classes.dex

在win系统,打开命令行,定位到dex2jar所在的目录,执行以下命令:

.\dex2jar.bat absolute_path_classes.dex

生成文件:classes_dex2jar.jar

3. 通过jd-gui将jar文件反编译为java文件

运行jd-gui,打开文件classes_dex2jar.jar,可以看到源码,同时,你还可以通过Save Source或Save All Source,将源码进行保存。

 

http://stackoverflow.com/questions/20100753/is-it-possible-to-compile-android-java-source-files-produced-jd-gui

参考链接:

http://magiclen.org/android-decompiler/

JD-GUI的更多相关文章

  1. Java反编译器安装及各版本介绍

    JAVA语言是1995年5月由SUN公司发布的,由于其安全性高.代码优化.跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位.         不过,JAVA最突出 ...

  2. 反编译与调试APK

    0×01前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等已经无法满足大家的需求 ...

  3. 解密所有APP运行过程中的内部逻辑(转)

    转贴地址:http://www.freebuf.com/tools/54562.html 0×01前言 这年头,apk 全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越 ...

  4. JVM内核-原理、诊断与优化学习笔记(七):性能监控工具

    文章目录 系统性能监控 系统性能监控- linux uptime top vmstat(虚拟内存统计) pidstat 系统性能监控 - windows 任务管理器 Perfmon Process E ...

  5. 2017年陕西省网络空间安全技术大赛——人民的名义-抓捕赵德汉2——Writeup

    下载下来的文件是一个jar包,用die和binwalk检查,确实是一个纯正的jar包 java -jar FileName运行jar包,观察文件的外部特征,发现也是判断password的题目 ​ 用查 ...

  6. MacOS如何调整JD-GUI反编译工具字体大小

    how to change the fontsize of JD-GUI in MacOS? MacOS如何调整JD-GUI反编译工具字体大小? 问题描述 JD-GUI是一款比较好用的反编译工具,不小 ...

  7. JMeter学习-023-JMeter 命令行(非GUI)模式详解(一)-执行、输出结果及日志、简单分布执行脚本

    前文 讲述了JMeter分布式运行脚本,以更好的达到预设的性能测试(并发)场景.同时,在前文的第一章节中也提到了 JMeter 命令行(非GUI)模式,那么此文就继续前文,针对 JMeter 的命令行 ...

  8. Eclipse安装反编译插件JD(Java Decompiler)

    JD安装说明:*****Eclipse 插件安装*****1. 在网上搜索并下载jdeclipse_update_site.zip2. Eclipse -> Install New Softwa ...

  9. java GUI编程二

    java基础学习总结--GUI编程(二) 一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import j ...

  10. java GUI编程一

    一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Containe ...

随机推荐

  1. php分页插件

    前台调用样式<?php include_once('page.class.php');?><link rel="stylesheet" type="te ...

  2. NoSQL摘录

    NoSQL泛指非关系型数据库,诸如Cassandra.MongoDB.Neo4J和Riak等.它们主张使用无模式(schemaless)的数据,可以运行在集群环境中. 开源的NoSQL数据库:Redi ...

  3. 纹理mag filter不能取GL_XXX_MIPMAP_XXXX

    今天遇到OpenGL error 0x0500错误,定位到 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter); 查看ma ...

  4. [elk]logstash&filebeat常用语句

    filebeat安装dashboard 参考: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-star ...

  5. JS面试题目

    哪些地方会出现css阻塞,哪些地方会出现js阻塞? js的阻塞特性: 所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等.直到JS下载.解析.执行完毕后才开始继续并行下 ...

  6. 奇怪的string

    代码1: #include <iostream> //#include <string> using namespace std; int main(int argc, cha ...

  7. linux c log 日志接口

    #define SIZE_16M 16777216             //1024*1024*16 #define LOG_FILE_PATH "./mylog.txt"   ...

  8. dubbo入门使用

    主要参考dubbo官网demo 此处采用zookeeper注册中心进行服务协调管理 真个项目结构如下所示: dcommon : 主要用于定义服务接口, 为dconsumer,dprovider所依赖 ...

  9. java:eclipse-tomcat 配置

    计划开始学习java.第一步 1.在servers窗口中新建server 2.弹出的界面选择对应的tomcat版本 3.这里是关键,已存在的项目不要选择过去,否则最后生成的server配置无法修改se ...

  10. centos7.4 install docker-ce

    1.uninstall old version docker yum -y remove docker-common docker container-selinux docker-selinux d ...