その他発見&軽くまとめ
分かりやすいものはだいたい掘り出したんで、
ここらで軽くまとめて区切りを入れ、
次から難しそうな辺りに挑戦してみたいと思います。
とりあえず新発見と考察。
まずKMIセクションの謎の6バイト。
あれの意味が分かりました。
2バイトずつ各レイヤの画像データのサイズを格納しているようです。
サイズをデータ本体よりも後に配置するなんて、面倒臭い事しますね。
KMCセクションの中身ですが、
まず最初に4バイトの謎の数値。
そしてその後に画像データが並んでいる。
順番はページ通りで、各ページデータ内では、
それぞれのレイヤの画像データがレイヤA→レイヤB→レイヤCの順で並んでいる。
つまり
…
こんな感じ。分かりやすい。
ちなみに、似たようなページを何枚も続けたメモだと、
1ページ目の各レイヤのサイズだけが他のページと比べて非常に大きいので、
前のページの同じレイヤとの差分を格納していると思われます。
あとKSNセクションの最初の4バイト。
多分録音した時の再生スピードだと思われます。
最後にチェックサム。
あまりにも分かりきった事だったので今までやってきませんでしたが、
改変したメモファイルをうごメモ3Dに読み込ませるとどうなるか、
実験してみました。
「このメモは壊れています。削除します。」
はい。予想通りの実験結果でした。
で、まとめ。
ファイル構造
内容 | サイズ | 備考 |
---|---|---|
KFHセクション | 212byte | ファイルヘッダ |
KTNセクション | 可変 | サムネイル |
KMCセクション | 可変 | ページ画像 |
KMIセクション | 可変 | 基本ページ情報 |
KSNセクション | 可変 | 音声 |
チェックサム | 256byte | 解析は多分不可能 |
基本セクションフォーマット
内容 | 意味 | サイズ | 備考 |
---|---|---|---|
マジックナンバー | セクション識別子 | 4byte | 末尾1byteに 別データの可能性あり |
サイズ | セクションのサイズ | 4byte | なし |
データ | データ本体 | [サイズ]byte | なし |
KFHセクション
内容 | サイズ | 備考 |
---|---|---|
不明 | 4byte | なし |
作成日時 | 4byte | 2000/1/1 00:00:00からの経過秒数 |
最終更新日時 | 4byte | 〃 |
パディング | 4byte | なし |
原作者ID | 10byte | なし |
親作者ID | 10byte | なし |
作者ID | 10byte | なし |
原作者名 | 22byte | UTF-16で格納 末尾はヌル文字 |
親作者名 | 22byte | 〃 |
作者名 | 22byte | 〃 |
原作ファイル名 | 28byte | ASCIIで格納 拡張子は無い |
親作ファイル名 | 28byte | 〃 |
ファイル名 | 28byte | 〃 |
ページ数 | 2byte | なし |
サムネイル用ページ番号 | 2byte | 0始まり |
各種フラグ | 2byte | 詳しくは下に記載 |
スピード | 1byte | なし |
レイヤの可視/不可視 | 1byte | 下位ビットから順番にA,B,Cの順 1なら不可視 |
各種フラグ
内容 | 位置(上位ビットから0始まり) | 備考 |
---|---|---|
筆箱 | 3 | 0なら普通 1なら上級 |
ループ | 6 | 1ならループする |
ロック | 7 | 1ならロックあり |
KTNセクション
不明
KMCセクション
内容 | サイズ | 備考 |
---|---|---|
不明 | 4byte | なし |
レイヤA画像データ | 可変 | フォーマットは謎 |
レイヤB画像データ | 可変 | 〃 |
レイヤC画像データ | 可変 | 〃 |
×ページ数
KMIセクション
内容 | サイズ | 備考 |
---|---|---|
最初のページか | 1word | 最初のページならF それ以外なら8 |
紙色 | 1word | 色の対応は下記 |
レイヤAペン色1 | 1word | 〃 |
レイヤAペン色2 | 1word | 〃 |
レイヤBペン色1 | 1word | 〃 |
レイヤBペン色2 | 1word | 〃 |
レイヤCペン色1 | 1word | 〃 |
レイヤCペン色2 | 1word | 〃 |
レイヤAバイト数 | 2byte | KMCセクションにおけるバイト数 |
レイヤBバイト数 | 2byte | 〃 |
レイヤCバイト数 | 2byte | 〃 |
ページ作者ID | 10byte | なし |
レイヤA奥行き | 1byte | なし |
レイヤB奥行き | 1byte | なし |
レイヤC奥行き | 1byte | なし |
SEシーケンス | 1byte | 下位ビットから順にA,X,Y,十字 |
パディング | 4byte | なし |
×ページ数
紙色の対応
0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
白 | 黒 | 赤 | 黄 | 緑 | 青 | グリッド |
ペン色の対応
0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
白 | 黒 | 赤 | 黄 | 緑 | 青 |
KSNセクション
内容 | サイズ | 備考 |
---|---|---|
録音時再生速度 | 4byte | なし |
AボタンSEサイズ | 4byte | なし |
XボタンSEサイズ | 4byte | なし |
YボタンSEサイズ | 4byte | なし |
十字ボタンSEサイズ | 4byte | なし |
波形データ | ? | 謎 |
今分かっているのは以上です。