nekodorif - specifications - memory object


猫どりふ メモリオブジェクト仕様書

概要

:::猫どりふは起動中に MUTEXオブジェクト、およびFMO を保持しており、これらから各種情報を取得できます。



MUTEX

:::猫どりふは起動中 "nekodorif" という名前の MUTEX オブジェクトを保持します。 このオブジェクトの存在をチェックすることで猫どりふの存在を判定できます。



HANDLE hMutex;
hMutex = OpenMutex(MUTEX_ALL_ACCESS,FALSE,"nekodorif");
if (hMutex == 0)
{
 // いない
}
else
{
 // いる
 CloseHandle(hMutex);
}



File Mapping Object

:::猫どりふは起動中 "Nekodorif" という名前の file mapping object を保持します。 このメモリ内には猫どりふウィンドウのHWNDが格納されており、外部からこれを取得することができます。

:::メモリマップは以下の通りです。

0-3 全体のサイズを示す long 値
4-  データ本体

:::データ本体のフォーマットは以下の通り。

entry[1]value[13][10]

伺かと同じですが、猫どりふは複数起動があり得ないためエントリ先頭にプロセスを識別するMD5値は付与されません。
有効なエントリ名は".hwnd"のみ。よって、エントリはデータ本体に常にひとつだけです。

:::エントリは例えば以下のようになります。

.hwnd[1]1024[13][10]

:::猫どりふが保持するFMOのサイズは64Kバイトです。