【Ethernet】車載ネットワーク その5【BLFファイル⑤】

車載ネットワーク

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-network-backnumber/

はじめに

Vector社BLFをバイナリエディタで覗いてみる回。

登場人物

博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

バイナリエディタで覗いてみたところ?

フクさん
フクさん

じゃ、まずはバイナリエディタでBLFの中をみて、
仕様通りか確認していこう。

太郎くん
太郎くん

おー。

フクさん
フクさん

先ずは先頭にオブジェクトヘッダがあるはずなんで・・・。

フクさん
フクさん

あれ?

太郎くん
太郎くん

どうしたん?

フクさん
フクさん

いやー、なんかしょぱなからオブジェクトタイプが変な感じで・・・。

太郎くん
太郎くん

なんだろうね?

フクさん
フクさん

先頭に「LOGG」というmSignatureがあって、mHeaderSizeが0x90[byte]。
mObjectSizeがやけに大きいな・・・。
ファイルサイズ分あるんじゃないかなー。

太郎くん
太郎くん

早速雲行きが怪しい・・・。

2つ目のオブジェクトヘッダ

フクさん
フクさん

とりあえず、ヘッダサイズに0x90[byte]とあったので、
その分データをスキップしてみよう。

太郎くん
太郎くん

こんどのmSignatureは「LOBJ」って文字列っぽいね。
オブジェクトサイズは0x33CA[byte]でさっきほどでは無いけど、
これも結構大きなサイズだねー。

フクさん
フクさん

それもあるんだけど、
オブジェクトヘッダの後ろデータがあんまりルール的じゃないんだよねー。
なんというか、圧縮か暗号化されてるんじゃないかなー。

太郎くん
太郎くん

え?
そんなの仕様書に書いてた??

フクさん
フクさん

書いてなかったと思うが・・・。
とりあえず、オブジェクトサイズ分スキップしてみよう。

3つ目のオブジェクトヘッダ

フクさん
フクさん

じゃー、オブジェクトサイズである0x33CA分スキップしてみよう。

フクさん
フクさん

うーん、「LOBJ」がmSignatureだろうから2byteほどズレてるな・・・。
ちょっと、2byteずらすか。

フクさん
フクさん

これは4byteアライメントの仕様が暗黙的にあるのかも。

太郎くん
太郎くん

4byteアライメント?

フクさん
フクさん

うん。
データの境界のルールだね。
データの始まりを必ず4の倍数にするルール。

太郎くん
太郎くん

あーなるほど、0x345A=13402だと4の倍数じゃないから、
0x345C=13404が次のオブジェクトヘッダの先頭ってことか。

フクさん
フクさん

または、LOBJというSignatureが出てくるまで文字列走査しているか。

太郎くん
太郎くん

うーん、それもありそうだなぁ。

フクさん
フクさん

これは、仕様に定義されていないものが結構ありそうな感じだなー。

太郎くん
太郎くん

えー、解読は無理そうなの?

フクさん
フクさん

最悪、無理ってことにはなるけど、
なんとなくルールが見えて来たんで、
次回までにちょっと情報整理しておくよ。

太郎くん
太郎くん

頼んだよー。がんばってー。

まとめ

フクさん
フクさん

まとめだよ。

  • BLFのオブジェクトヘッダを追っかけた。
  • 仕様書にないオブジェクトタイプが存在。
  • 実データ部は圧縮か、暗号化されている様子。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました