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. Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用

    Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用 1 获取硬件核心基础核心基础Wmi1 2 其他资料2 3 Wmic WMI 命令行接口2 4 Atitit.获取主板 ...

  2. [svc]rsyslog及logrotate小结

    [root@node1 logrotate.d]# ls dracut haproxy httpd mcelog nginx ppp psacct syslog yum yum install ngi ...

  3. position固定菜单栏

    position:fixed来实现. <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  4. Codeforces Round #297 (Div. 2) 525D Arthur and Walls(dfs)

    D. Arthur and Walls time limit per test 2 seconds memory limit per test 512 megabytes input standard ...

  5. #include""和#include<>的区别

    一般来说,就是搜索路径不同 #include ""先去搜用户当前路径(也就是调用编译器的路径),然后再去搜用户用-I选项指定的路径,最后再去搜索编译器默认指定的路径(也就是所谓的系 ...

  6. sitemesh 2.4 装饰器学习

    SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的 SiteMesh是OpenSymphony团队开发的JEE框架之一,它是一个非常优秀的页面 ...

  7. js----Date\Math\数组对象

  8. 临界区(Critical Section)的封装和使用示例

    向我老大致敬! 这个做法其实是抄我老大的.服务器中,多线程经常需要使用临界区,为了简化代码的使用,把临界区封装为 CThreadLockHandle  类,通过封装,使用临界区资源每次只需要一行代码, ...

  9. jsp页面定义的map

    <script type="text/javascript">function Map(){ this.elements = new Array(); //删除MAP所 ...

  10. Linux利器:WinSCP,Putty,pscp和psftp

    # Summary PuTTY (Telnet 和 SSH 客户端) PSCP (SCP 客户端, 命令行下通过 SSH 拷贝文件,类似于 Unix/Linux 下的 scp 命令) PSFTP (S ...