网站首页 > java教程 正文
Bad artists copy;Good artists steal.【平庸的艺术家抄;杰出的艺术家偷】——毕加索。
To copy others is necessary, but to copy oneself is pathetic.【模仿别人是必要的,但重复自己是可悲的】——毕加索。
艺术家如此,在程序猿前进的道路上,又何尝不是如此呢?模仿写代码必然是头等大事,因为俗话说天下代码一大抄。但是有些场景下你拿到都是 JAR 包,而并非源码,咋办?
另外,在项目对接过程中,你有没有经历过外部门或者其它公司给你一个对接的 SDK,但是有没有一丝好奇就想知道 SDK 里面写的啥?到底该怎么窥探?
好了,任何困难都阻挡不了程序猿前进的脚步,任何问题都扑灭不了程序猿好奇的火苗。接下来就就一起聊聊 Java 反编译相关的知识。
大家都知道,将源文件转换成二进制执行代码的过程叫“编译”,比如将 Java 源代码编译成 JAR 可执行文件;那么把二进制执行文件转换成源文件的过程就叫“反编译”,比如将 JAR 反编译成源文件。
那么 Java 平台下有没有开源的轮子,可以让反编译这件事情变得简单呢?
那是当然,这样的轮子一箩筐。Java 平台下有Jad、Jode、Java Decompiler(JD-GUI)等反编译利器,编程这些年,几乎都用过,但是目前电脑上只有 Java Decompiler(JD-GUI)这一款在用,之前分享的很多关于源码的文章,这个工具立下了汗马功劳。
1. 工欲善其事必先利其器
Java Decompiler (JD-GUI)目前最新版本为1.6.3,并且提供 Windows、Linux 和苹果 Mac Os 三个平台的可执行版本。
http://java-decompiler.github.io/#jd-gui-download
只需选择适合你的那一款。
2. 工具而已,用就行啦
完成下载,安装完毕后,一杯热腾腾的咖啡呈现在你面前,让你垂涎欲滴、跃跃欲试。
还记得《爱情36技之暗送秋波的技术》文章中为 Python 菇凉打造的一款实时监控的随身听设备 walkman.jar 吗?我们不妨用 JD-GUI 打开看看里面写的都是啥?
嗯,感觉反编译还可以,貌似效果也是那么回事儿!
3. 简单的工具,不多说
JD-GUI 支持泛型、enum 枚举类型和Annotation 的反编译;支持整个 JAR 文件的反编译,并且在反编译后的源代码可直接点击进行相关代码的跳转,说一千道一万,不妨自己试试看。
2 分钟系列平淡的分享到这就结束了, 主要解决网友提出的一个问题,希望对你也有点帮助吧。
- 上一篇: Java 反编译工具的使用与对比分析
- 下一篇: Java反编译工具(java反编译工具下载)
猜你喜欢
- 2024-09-22 推荐11个GitHub上比较热门的Java项目
- 2024-09-22 「从入门到放弃-Java」并发编程-锁-synchronized
- 2024-09-22 Android Apk 文件反编译和重新打包的过程分析
- 2024-09-22 APP渗透—查脱壳、反编译、重打包签名
- 2024-09-22 通过Java反编译揭开一些问题的真相
- 2024-09-22 详解Javac编译与反编译(java编译和c编译的区别)
- 2024-09-22 初试安卓软件反编译破解软件的方法
- 2024-09-22 安卓反编译就这么简单(安卓反编译软件下载)
- 2024-09-22 Eclipse下安装Java反编译插件(eclipse添加反编译)
- 2024-09-22 介绍一个超好用的反编译工具(介绍一个超好用的反编译工具软件)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)