Java反编译工具Luyten

Java反编译工具LuytenLuyten是一款很强大的反编译工具包,是一款github的开源工具,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。工具软件下载路径:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3我比较喜欢直接使用.jar版本,直接在页面打开目标.class或者.jar包文件,即可直观的查看反编译后的源码,很强大下载下…

大家好,又见面了,我是你们的朋友全栈君。

Luyten是一款很强大的反编译工具包,是一款github的开源工具,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。

工具软件下载路径:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3

我比较喜欢直接使用.jar版本,直接在页面打开目标.class或者.jar包文件,即可直观的查看反编译后的源码,很强大

下载下来后双击就可以使用了,同样的jar,我们打开试试效果:

Java反编译工具Luyten

 

不再是ERROR了,同样在使用过程中可以总结一下它和jd-gui的区别:

1.查看jar包的时候,jd-gui是折叠的,而Luyten是展开的

2.以前在用jd-gui反编译的时候,泛型是会被擦除的,如:

 List<Integer> list =newArrayList();

编译后会变成

 List list =newArrayList();

因为泛型在编译期会被擦除,这个没毛病,但是Luyten反编译后的为什么没有被擦除呢?是因为jdk在编译过程中虽然擦除了泛型,但是还是通过注释对其进行了标记,如:

#4 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;

这就解释的通为什么Luyten还是能够找回来没擦除之前的类型,毕竟能回归最原始的文件对程序员越有利嘛~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151167.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开始laravel项目+理解

    开始laravel项目+理解一.laravel运行理解Ⅰ.开始,public/index.php此文件有两个作用。①:作为入口的起点,引导构建服务所需要的一切(包括路由,服务容器之类的)。②:作为所有请求的必经之路。请求经过此文件,会被“指派”到合适的路由,中间件等等进行处理。tips:所以用phpstudy的时候,记得设置一下①指定项目的根目录。②指定下路由。我用的nginx,设置的vhost.config文件。画起第一行用以指定项目的根目录,就apache的www文件的意思。第二行是指定所有请求最终会定向

    2022年5月7日
    39
  • 基于近邻的协同过滤算法「建议收藏」

    基于近邻的协同过滤算法「建议收藏」这节课我们来学习K近邻在推荐系统中的应用,你将完成本课程的第一个实战项目:基于KNN的电影推荐系统!为了使你能够顺利地完成实战内容,我们先了解一下推荐系统中的基础知识。基于近邻用户的协同过滤假定有一个场景:某个周日的下午,你感觉很无聊,然后从电脑上打开了一个视频网站,想看下最近有什么好看的电影。然而你发现网站上的热门电影基本都看过,其他的电影又太多,不知道该看什么。想使用搜索框去查一下,但是又不知道该搜什么关键词,这个时候你的内心很焦灼,总不能挨个去尝试吧,那时间成本也太大了…仔细想想还是有办法的,那

    2022年6月30日
    26
  • IDEA查看接口或类的继承实现关系图「建议收藏」

    IDEA查看接口或类的继承实现关系图「建议收藏」有时候看源码的时候,会经常性的把复杂类的关系搞混,下次碰到这种情况,应该从上到下把继承关系和接口理解清楚,这样看源码就会有一条主线。    1.看继承关系           右键选择Diagrams,然后显示       2.看接口的实现关系           crtl+alt+B会显示出跟这个接口有关系的类。           然后把需要的拖过来,形成树状图。(我…

    2022年4月19日
    375
  • TypeError: ‘builtin_function_or_method’ object is not subscriptable的一种错误情况

    TypeError: ‘builtin_function_or_method’ object is not subscriptable的一种错误情况TypeError builtin function or method objectisnots 的一种错误情况初学 python 今天在做练习时为一个 Error 苦恼了很久最终找到了解决方法错误代码块如下 defget new nums numbers input Well Idon tknowyourfav

    2025年11月28日
    5
  • 【sshd】sshd_config 中 PermitRootLogin 的forced-commands-only的限定密钥登陆、限定执行命令

    【sshd】sshd_config 中 PermitRootLogin 的forced-commands-only的限定密钥登陆、限定执行命令主讲:PermitRootLogin的可选项众所周知,sshd_config是sshd的配置文件,其中PermitRootLogin可以限定root用户通过ssh的登录方式,如禁止登陆、禁止密码登录、仅允许密钥登陆和开放登陆,以下是对可选项的概括:参数类别 是否允许ssh登陆 登录方式 交互shell yes 允许 没有限制 没有限制 without-password 允许 除密码以外 没有限制 forced-commands-on

    2022年6月1日
    30
  • Android 蓝牙开发(一)蓝牙通信「建议收藏」

    Android 蓝牙开发(一)蓝牙通信「建议收藏」随着可穿戴设备的流行,研究蓝牙是必不可少的一门技术了。总结了下蓝牙开发使用的一些东西分享一下。首先需要AndroidManifest.xml文件中添加操作蓝牙的权限。允许程序连接到已配对的蓝牙设备。

    2022年6月26日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号