▲トップへ

ProntoEdit NG の IRコード

隠しコードを探す

ProntoEdit で使用できるIRコードについては,リンク集にあるMarcel Majoor さんの Remote Control のページの PRONTOIRFORMATS.PDF で完璧に説明されています.
しかし,これらのデータを元に,隠されたIRコードを探し出そうとすると,ProntoEdit で根気の要る作業をしなければなりません.
ProntoEdit の pcf ファイルは,通常のzipファイルであるため,中身を解凍することができます.中には bmp の画像ファイルと,ConfigEdit.xml というXMLファイルが存在します.
この ConfigEdit.xml ファイルを書き換え,元のzipファイルに書き戻すことで,ボタンなどを自動的に生成可能ではないか?と考えました.

ConfigEdit.xmlのフォーマット

ConfigEdit.xml は,XMLフォーマットだけあって,見ればだいたいの内容は見当が付きます.
しかしながら,肝心のIRコードについては,エディタ上で通常見る形とは異なった形式になっていました.
エディタ上:900A 006D 0000 0001 18E6 00FF
XMLファイル:58 0 f 6c 5 60 ab 16 15 40 ab 55 3f 7f f0 b 31 10 10 10 20 20 10 10 10 10 20 20 10 10 20 20 20 10 10 10 10 10 10 10 10 20 20 20 20 20 20 20 20 0 bf 49 f0 a bf 10 4 f0 d

RemoteCentral.comでヘルプを出したところ,色々回答は集まったのですが,完全に理解できる情報は得られませんでした.

DLLから攻略する

ProntoEdit NG には,いくつかのDLLが付いていますが,いかにも怪しそうな「CCF_Translate.dll」「TSPCOM.dll」などがあります.
もしや,と思い,dumpobj /exports でシンボルを見てみると,CCF_Translate.dll にそれらしき関数が見つかりました.

   ordinal hint RVA      name
         1    0 000218B0 CleanupIRCmd
         2    1 000217F0 EcoSIF2HEX
         3    2 000215B0 Hex2SIF
         4    3 0001DBA0 RCS_CCF2XML_V_1_0
         5    4 0001DD20 RCS_CCF2XML_V_2_0
         6    5 0001DF60 RCS_CCF2XML_V_3_0
         7    6 0001E1F0 RCS_GetJobName
         8    7 0001E170 RCS_GetLastError
         9    8 0001E1E0 RCS_GetProgress
        10    9 0001E150 RCS_XML2CCF
        11    A 000214E0 RIS_APIVersion
        12    B 000212C0 RIS_GetLastError
        13    C 00021350 RIS_IR2SIF
        14    D 00021310 RIS_IsIRvalid
        15    E 00021330 RIS_IsSIFvalid
        16    F 00021400 RIS_SIF2IR
こいつはアヤシイ!ということで,デバッガ等を使って,DLLの使い方を調べたところ,IRコードからConfigEdit.xmlへの内部コードへ変換するツールを作ることが出来ました.

prontoir.zipに置きますので,興味のある方はどうぞ.ソースも入っています.

これを使って,多数のパターンから SIF コードの書式を調べたいですね.
基本的には,ProntoNeo という少し前の機種のコードと同じようです.
これについては,RemoteCentral.com に少し解説されたドキュメントがありました.


▲トップへ