如何把 Jar 封装为 exe


0x00 前言

当 Java 程序打包为 Jar 之后,通常有两种运行方法:

  1. 把启动信息写入 MANIFEST.MF ,直接双击 jar 包运行
  2. 编写 dos/shell 脚本,通过 java/javaw 命令运行

但有时候可能有需要把 jar 加一层封装,让它 “看起来” 是个 exe,这要怎么做呢 ?

0x01 工具引入

其实在 Windows 中(不支持 Mac/Linux),这个工具 Quick Batch File Compiler(批处理转应用程序) 就能简单地把 dos 脚本封装为 exe。

dos 脚本又称为 bat 批处理脚本

0x02 使用指引

解压后,执行 quickbfc.exe 启动工具,首先点击【选项】进行必要配置:

  • 【控制台应用程序】和【幽灵应用程序】区别是你的 java 程序有没有 GUI 界面: 纯 dos 交互界面选择【控制台应用程序】;若是 swing 之类有 GUI 的桌面应用,建议选择【幽灵应用程序】,否则启动时会存在一个 dos 黑框在前台。
  • 【在启动时显示启动界面】: 同样地,纯 dos 交互界面要勾选;若是有 GUI 的界面则不要勾选

其他设置按需即可:


(必须)点击【来源】输入 dos 启动脚本(启动脚本可以用这个 release-project-plugin Maven 插件生成,也可以自己写):

建议:纯 dos 交互界面的启动命令用 java,若是有 GUI 界面的则用 javaw


(可选)点击【版本信息】根据程序实际情况填写即可,勾选【包含版本信息转换到可执行文件】会在之后生成的 exe 文件属性中查看到这些信息:


(可选)点击【嵌入文件】可以设置 exe 图标,图片格式必须为 ico 格式,大小随意(建议为 64 x 64 像素的正方形):

在线可自行搜索到 ico 图片格式转换的站点


最后点击【构建】即可生成 exe 文件

0x03 后话

其实工具的使用很简单,主要需要区分所封装的 Jar 是否含 GUI 界面的,两者之间的差异配置可参考下表:

界面类型 界面描述 【选项】配置 【来源】脚本命令
DOS 界面 黑框界面 [√] 控制台应用程序
[√] 在启动时显示启动界面
java
GUI 界面 Swing 等界面 [√] 幽灵应用程序
[x] 在启动时显示启动界面
建议 javaw
也可 java

文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
CVE-2021-22192 漏洞分析 CVE-2021-22192 漏洞分析
GitLab 是一款使用 Rails 开发的、自托管的、Git 项目仓库应用程序。该程序可用于查阅项目的文件内容、提交历史、Bug列表等。 GitLab all versions starting from 13.2 存在安全漏洞,该漏洞允许未经授权的经过身份验证的用户在服务器上执行任意代码。
2021-05-02
下一篇 
使用 Hexo 在 Github 搭建个人网站 使用 Hexo 在 Github 搭建个人网站
前言下文中的 hexo-template、articles、exp-blog.com 均仅用于示例说明,实际使用时,可按需自行更名。 另模板仓库所提供脚本适用于 Linux/Windows/Mac 三端,故下文中提及的 *.sh 均有配套的
2021-03-21
  目录