首页 > 其他分享 >【IDEA】告别繁琐反编译:IDEA中轻松反编译与修改Jar包

【IDEA】告别繁琐反编译:IDEA中轻松反编译与修改Jar包

时间:2024-11-08 18:42:43浏览次数:4  
标签:反编译 文件 Jar JAR IDEA 修改 JarEditor

本文带你了解 JarEditor 插件的强大功能,它让你无语再用其他第三方工具,也无需解压 JAR 文件就能直接在IDEA中编辑其中的类和资源文件。还能用它轻松添加、删除或重命名 JAR 包里的文件。即使遇到混淆过的 JAR,JarEditor 也能通过 Javassist 工具搞定。

支持的功能

JarEditor 提供了丰富的功能,尤其是对于开发者日常操作 JAR 文件时非常有用的特性:

• 直接编辑 JAR 包内的类和资源文件:无需将 JAR 文件解压缩,支持对其中的类(.class 文件)和资源文件直接进行编辑。

• 添加、删除或重命名 JAR 包内的文件和文件夹:简化了对 JAR 包内容的管理。

• 搜索 JAR 包的内容:通过关键字快速定位 JAR 包中的文件或类。

• JAR 内部文件的复制与粘贴:支持将 JAR 包中的文件复制到外部剪贴板,也支持从剪贴板粘贴文件到 JAR 包内。

• 支持 SpringBoot JAR:可以处理 SpringBoot 打包的 JAR 文件。

• 支持 Kotlin:除了 Java,JarEditor 也支持 Kotlin 的类和文件操作。

• 导出 source JAR:可以直接将 JAR 文件的源码导出为 source JAR。

• 字节码修改工具:通过集成的 Javassist 工具,支持直接修改 .class 文件的字节码。

下载安装

GitHub地址:https://github.com/Liubsyy/JarEditor

JetBrains Plugins地址:https://plugins.jetbrains.com/plugin/24397-jareditor

你可以通过搜索并安装 JarEditor 插件来开始使用。以下是安装完成后的界面:

编辑并构建 JAR

安装完 JarEditor 后,右键点击项目中的 .class 文件,在反编译界面可以切换到 JarEditor 的 tab 页面,方便对 JAR 文件进行编辑。

对于外部 JAR 文件,可以通过 File ⏩ Project Structure ⏩ Libraries ⏩ Add Library 来添加外部 JAR,并在项目视图中对其进行反编译和编辑操作。

编辑完成后,可以点击Save(Compile)来编译并保存当前修改的类文件。完成编辑后,点击Build JAR,生成修改后的 JAR 文件。

此外,JarEditor 还支持修改 JAR 包中的资源文件(例如图片、配置文件等)。

以下是一个编辑和构建 JAR 的操作演示:

修改字节码工具

当面对经过混淆处理的 JAR 文件时,反编译效果可能不理想。在这种情况下,JarEditor 提供了字节码修改工具来直接操作 .class 文件的字节码。

点击工具栏上的 Class bytes tool 图标,选择字节码修改工具:

• Javassist:可以对类中的字段和方法进行增加、删除或修改。

以下是操作界面:

其他操作

在项目视图中,右键点击 JAR 包内的文件,可以看到JarEditor ⏩ New/Delete等操作,支持:

• 在 JAR 包中添加文件或文件夹。

• 删除 JAR 包中的文件或文件夹。

• 重新命名 JAR 包内的文件或文件夹。

• 将文件从 JAR 包导出。

以下是操作界面:

说明

在使用 JarEditor 进行编译时,建议选择与当前 IDEA 版本匹配的 SDK 默认 JDK 版本。以下是不同版本 IDEA 对应的 JDK:

确保选择正确的 JDK 版本,以避免编译或运行时的兼容性问题。

原创 编程与架构

标签:反编译,文件,Jar,JAR,IDEA,修改,JarEditor
From: https://www.cnblogs.com/o-O-oO/p/18535678

相关文章

  • 第三方JAR包升级+snyk的基本使用
    1.使用snyk对第三方JAR包进行扫描(需要先安装snyk);2.按住windows+r输入cmd进入命令控制行;3.使用snyk进行扫描,cd进入包含pom.xml文件的目录下ps:将/path/to/xmlsec-1.5.6.jar替换为实际的文件路径。cd/dcd/path/to/your/project4.对整个pom.xml扫描的命令snyktest-......
  • 第七章:IDEA集成Git
    目录一、环境准备1.配置Git忽略文件2.定位Git程序二、初始化本地库三、添加暂存区四、提交本地库五、切换版本六、分支操作1.创建分支2.切换分支3.删除分支七、合并分支1.正常合并2.冲突合并总结一、环境准备1.配置Git忽略文件我们再写代码的时候,系统常常会......
  • 怎么从入门到精通:《IDEA 问题库》常见问题及解决方案
    《IDEA问题库​》是一个非常广泛的话题,涉及到许多不同的问题和解决方案。以下是一些常见问题及解决方案: 报错:unableto establish loopbackconnection。问题:无法建立环回连接。解决方案:关闭防火墙。IDEA看不到编译后的target文件。问题:控制台提示编译成功,但左边......
  • 掌握 IntelliJ IDEA,开启高效编程之旅
    在当今的编程世界中,IntelliJIDEA已成为众多开发者的首选工具。它以其强大的功能和高效的特性,为开发者提供了一个卓越的编程环境。掌握IntelliJIDEA,无疑是开启高效编程之旅的关键一步。IntelliJIDEA拥有智能的代码提示和自动完成功能,这使得编程变得更加快捷和流畅。它能......
  • IntelliJ IDEA超详细下载安装教程(附安装包)
    目录IDEA的简单介绍一、下载IDEA二、安装IDEA三、启动IDEA并使用1.配置IDEA2.输出:"HelloWorld!"IDEA的简单介绍IDEA全称IntelliJIDEA,是由JetBrains开发的一款广泛使用的集成开发环境(IDE),专为提高开发者的生产力和代码质量而设计。作为一个强大的多语言IDE,Intel......
  • 云服务器Linux部署war、jar包,并在nginx配置域名
    一,打包Jar包        一个Springboot项目默认打包jar包,无需修改配置,点击右侧Maven-Lifecycle-package打包即可注意:需要先检查pom.xml文件,可能此时打包完的jar包会出现        nomainmanifestattribute,intest-0.0.1-SNAPSHOT.jar        xx......
  • 打靶记录-Jarbas
    靶机下载vulnhub->Jarbas确定靶机nmap-sn192.168.52.0/24靶机ip:192.168.52.130扫描全端口开放情况nmap-sT192.168.52.130-p--oA./ports详细扫开放的端口nmap-sT-sC-sV-O192.168.52.130-p22,80,3306,8080-oA./details扫udp端口开放nmap-sU--top-po......
  • PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
    ​题目来源:JarvisOJ https://www.jarvisoj.com/challenges题目名称:Level0题目介绍:属于栈溢出中的ret2text意思是Returntotext当程序中有可利用的危险函数控制程序的返回地址到原本的函数实现溢出利用 基础过程(看个人习惯):运行程序查看程序流程file查看文件内存......
  • idea激活后提示We could not validate your license xxxx解决办法
    根据网上的破解教程,填入激活密钥后idea总是会提示Wecouldnotvalidateyourlicensexxxx解决办法是配置代码点击激活页面左下角的"Proxysettings"配置一个假的代理服务器点击"Manualproxyconfiguation"->HTTPHostname:127.0.0.1Portnumber:808Noproxyf......
  • IDEA远程运行使用rsync异常:rsync: connection unexpectedly closed (0 bytes received
    前提:已经使用了Cygwin64且IDEA版本2023、2024均有这个问题发生这个问题可能是使用的是windows自带的C:\Windows\System32\OpenSSH\ssh.exe安装Cygwin64时,需要同时选择安装rsync和ssh。第一次安装没选也没关系,可以再次运行安装程序安装,不用删除上一次的安装。或者使用Cygwin64T......