EBM ファイル形式とは?
.ebmは、2002年からGravity Co., Ltd.によって運営されているMMORPG「Ragnarok Online」で使用されるギルドエンブレムのファイル形式です。各ファイルには、zlibで圧縮されたWindows .bmp ビットマップとして保存された、24×24ピクセル、8ビット(256色)のギルドエンブレム画像が含まれています。
プレイヤーがカスタムエンブレムをアップロードすると、ゲームクライアントは生のBMPデータを.ebm形式に圧縮し、クライアントの /emblem/ ディレクトリに保存します。解凍後のペイロードは常に、24×24ピクセル、8ビットカラーパレットを持つ1,734バイトの標準的なWindows BMPです。.ebmファイルの約20%には、Adler-32チェックサムを含む標準的なzlibラッパー(78 9C または 78 DA ヘッダー)が含まれていますが、残りのファイルはzlibフレーミングのない生のDEFLATEストリームです。
Gravity社からの公式な公開仕様書はありません。この形式はコミュニティによってリバースエンジニアリングされ、GitHubのRagnarokFileFormatsリポジトリに文書化されました。.ebm ↔ .bmp のPHP変換クラスはPHPClassesで公開されています。この形式は2002年の初期リリース以来、変更されていません。
セキュリティと安全性
リスク: LOWEBMファイルは圧縮されたビットマップ画像であり、実行コードは含まれていません。リスクは、不完全なパーサーにおいて不正なzlibデータがクラッシュを引き起こす可能性に限定されます。
形式の詳細
概要EBM ファイルを開くプログラム
技術的詳細
詳細仕様| 圧縮 | zlib経由のDEFLATE。ファイルの約20%は標準的なzlibヘッダー(`78 9C` / `78 DA`)を含み、残りはラッパーなしの生のDEFLATEストリームを使用 |
| 非圧縮時の内容 | Windows BMPビットマップ、24×24ピクセル、8ビット(256色インデックスパレット) |
| 固定画像サイズ | 24×24ピクセル(すべてのギルドエンブレムはこの正確なサイズを使用) |
| 色深度 | 8 bpp(256色インデックスパレット) |
| 非圧縮時のファイルサイズ | 1,734バイト(標準的な24×24 8ビット Windows BMP) |
| 一般的な圧縮サイズ | 1 KB - 5 KB |
| バイト順序 | リトルエンディアン(Windows BMP構造を継承) |
| チェックサム | Adler-32 - 標準的なzlibラッパーが使用されている場合のみ存在 |
| マジックバイト | 固定されたものはありません。zlibヘッダーがある場合は `78 9C` または `78 DA`、それ以外は生のDEFLATEストリーム |
| 保存パス | Ragnarok Onlineクライアントインストール内の `/emblem/` ディレクトリ |
| 仕様ソース | コミュニティによるリバースエンジニアリング。GitHubのRagnarokFileFormatsに文書化 |
| リリース日 | 2002 (Ragnarok Online initial release) |
| 仕様書 | github.com |
EBM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。EBM ファイルについて最初の質問をしてみましょう。