2017年6月26日月曜日

loa2のデータSnoop

大体わかってきて、手作業でのデータ分解はできてきました。

・圧縮はzlibのヘッダーなしinflateで展開
・コマンド長はLittleEndianのDWORD(WORDかも?)
・コマンドは2バイト(可変長数値の可能性あり)
・圧縮はコマンド含めず、無圧縮は1パケットに複数のコマンドが詰まってる場合あり
・先頭にインデックス(可変長数値)をもつタプル形式、インデックスは0x08ステップ
 (ただしスキップあり)
・さらに、インデックス値にデータ形式を表すビットを立てる
 ビットが立ってない場合には可変長数値
 0x02のORの場合には、次のバイトであらわす長さの文字列または子タプルがくる
  (0x0?だったら子タプル?)
      文字コードはUTF8
 0x05のORの場合には、4バイト固定長の数値

これでしばらくエラーが出てこないか様子見します。

コマンドの意味はまだ理解しきれていません。

こういうタプル形式のデータシリアライズ、まえにEVEonlineで扱った覚えがあるな。
ソース引っ張ってこようか。
Cだと記述が複雑になりすぎるんよね。C++のタプルも習得しなきゃ、か。

で、loa2でパケット解析のチートをやっても実はあまり面白くないのよねん。
loa2って戦闘はほぼサーバ任せ、操作Pスキルの出る幕がない><
チートをやって何が楽しいかというと、俺うめぇ~(チートだけど)ってのができるから
なんだけど、
loa2の場合、戦力差を覆すのはほぼ不可能。課金で強さが決まってしまう。
弱者が強者に数で圧倒したり、操作の上手さで倒したり、ポーションとかのバフアイテム
の力を一時的に借りたり、ってことはできない(だからつまらない)。
課金額だけで勝負が決まる非情なゲームなのです><

0 件のコメント:

コメントを投稿