
📦 OSPacker - 高性能单文件打包机
A High-Performance Single File Packer with Hacker-Style GUI.
Code by C++ | Design by Osluck
📖 工具简介
OSPacker 是一款基于 C++ 和 Win32 API 开发的轻量级、高性能单文件打包工具。它能够将包含多个文件和文件夹的应用程序(如游戏、软件绿色版)压缩并打包成一个独立的 .exe 可执行文件。
本工具摒弃了传统的呆板界面,采用 GDI 自绘技术实现了 动态正弦波文字滚动 (Wave Scroller) 效果,致敬经典的 Keygen/Patcher/Hacker艺术风格。
✨ 核心特性 (Features)
🎨 极致的界面与交互
- 黑客风 UI: 纯 GDI 自绘引擎实现的动态正弦波文字特效,配合高对比度霓虹配色,视觉冲击力强。
- 原生融合: 完美集成 Win32 进度条与 SysLink 超链接控件,美观与功能并存。
- 无损图标注入: 自动提取目标程序的图标组 (Icon Group) 并智能注入到生成的单文件中,让打包后的程序看起来就像原版一样专业。
🚀 强悍的打包引擎
- LZMA 并行压缩: 自动检测 CPU 核心数,开启多线程并行压缩(默认 Level 5),在保证内存安全的前提下实现极速打包。
- Packer + Stub 架构: 采用经典的“打包器 + 存根”分离设计,数据通过资源段 (RCDATA) 附加,结构清晰,运行稳定。
🧠 技术内幕:Stub 的黑科技 (Technical Deep Dive)
OSPacker 生成的单文件程序 (Stub) 不仅仅是一个解压器,它内置了多项企业级的进程管理与清理技术。
1. 🛡️ 智能沙箱与进程树管理 (Job Object)
Stub 使用了 Windows 内核级对象 Job Object (作业对象) 来接管子进程的生命周期。
- 痛点解决: 很多软件(特别是基于 WebView2/Chromium 的应用)运行时会产生大量子进程。如果只监控主进程,主程序关闭后,子进程往往会残留,导致临时文件被锁定无法删除。
- 技术实现: Stub 将所有派生的进程强制纳入 Job 管理。一旦用户关闭程序(Stub 进程结束),操作系统会立即通过 Job Object 强制终结整个进程树,确保零残留、零后台。
2. 🧹 自我维护的清洁系统 (Auto-Cleanup)
Stub 拥有严谨的两级清理机制,确保用户的 %TEMP% 目录永远保持整洁。
- 启动前扫除: 每次启动时,会自动扫描并清理所有未被锁定(即旧实例已退出)的
OSP_临时目录。 - 退出后自毁: 程序运行结束(Job Object 杀光所有进程)后,Stub 会尝试立即删除当前的工作目录,做到“雁过无痕”。
3. 🚀 内存零拷贝极速启动
- 直接内存映射: 直接锁定 PE 文件的资源段获取压缩数据,无需进行磁盘 I/O 拷贝。
- 流式解压: LZMA 解码器直接读取内存资源并写入缓冲区,最大限度减少了内存搬运次数,显著提升大文件的启动速度。
4. 🔗 命令行透明转发
Stub 作为一个透明代理,能够无损捕获用户传递给单文件 EXE 的所有命令行参数(如 --debug, /silent),并原封不动地传递给内部解压出来的真实主程序,完美支持脚本调用和自动化场景。
⚙️ 技术栈 (Tech Stack)
- 开发语言: C++17
- 操作系统 API: Windows API (Win32), GDI, ShellAPI, Job Objects
- 压缩核心: LZMA SDK (liblzma) - Multi-threaded
- 界面控件: Windows Common Controls
📖 使用说明 (Usage)
- 启动: 打开
OSPacker.exe。 - 选目录: 点击按钮,选择包含程序文件的根目录。
- 选入口: 在弹窗中指定该目录下的主执行文件 (.exe)。
- 打包: 程序自动进行多线程压缩,完成后生成
Packed_Result.exe。 - 音乐开关:点击正弦波文字上的MIUSIC:ON,会切换成 MIUSIC:OFF。
⚠️ 注意事项
- 压缩级别: 默认锁定在 Level 5。经测试,这是 LZMA 算法在压缩率、耗时和内存消耗(尤其是多线程下)之间的黄金平衡点,能有效防止低配电脑内存溢出。
- 测试阶段: 现在工具在测试阶段,没有实现被打包软件详细信息,如公司,版本号等等。
- 关于开源:后续肯定会开源,需要测试结束。感谢各位小白鼠
👨💻 作者 (Author)
- Core Developer: [Ybdao,Osluck,18cm]
📝 版权信息
MIT License. 仅供学习交流使用,请勿用于非法用途。