IDA REGISTERUDX コマンド

IDA REGISTERUDX CLPPlus コマンドは、UDX を登録します。

注: UDX 機能はすべて、fenced モードでのみ機能します。

呼び出し

このコマンドは CLPPlus インターフェースから実行する必要があります。

許可

なし

必要な接続

CLPPlus がデータベースに接続されている必要があります。

コマンド構文

IDA REGISTERUDX

構文図を読む構文図をスキップするIDA REGISTERUDXPARAMFILEparameter_filePROJECTprojectLANGCPPC++ parametersLANGLUALua parameters
C++ パラメーター
構文図を読む構文図をスキップするCLASSclass SIGNATURE signature RETURN data_type UDXLIBRARY name DETERMINISTICYES DETERMINISTICNO CALLONNULLINPUTNO[for a UDSF or UDTF] CALLONNULLINPUTYES[for a UDTF] CALLONNULLINPUTNO CALLONNULLINPUTYES ALLOWPARALLELYES[for a UDSF or UDTF] ALLOWPARALLELNO[for a UDTF] ALLOWPARALLELYES ALLOWPARALLELNO UDXLIBRARYname_of_project.soUDXLIBRARYname

パラメーター

以下のパラメーターは、記述される言語に関係なく、すべての UDX に適用されます。
PARAMFILE
このコマンドに明示的に指定されていないパラメーターのデフォルト値を決定する IDA パラメーター・ファイルの名前 (IDA パラメーター・ファイルを参照してください)。
コマンド・ストリングで明示的に指定されていない主要な必須パラメーターは、すべてパラメーター・ファイルで指定する必要があります。 このコマンドの主要な必須パラメーターは、以下のとおりです。
  • PROJECT | PROJ
  • SIGNATURE | SIG
  • CLASS
  • RETURN
LANG
UDX の作成に使用された言語 (C++ の場合は CPP、Lua の場合は LUA)。UDX ライブラリー・ファイルの拡張子 (UDXLIBRARY パラメーターで指定) が .so または .nzl の場合、コマンドは自動的に言語を判別するので、このパラメーターは不要です。 このパラメーターは、UDX のライブラリー・ファイルの拡張子が .so または .nzl 以外の場合にのみ指定します。
PROJECT | PROJ
登録する UDX で必要なファイルが含まれるプロジェクト・ディレクトリーの名前。
SIGNATURE | SIG
UDX のシグニチャー。以下に例を示します。
UDX タイプ シグニチャー 説明
UDSF udx42(VARCHAR,CHAR) 2 つの入力引数 (1 つの VARCHAR と 1 つの CHAR) を受け入れる udx42 という名前の UDSF。
UDTF "sig=UDTFONEINT(integer)" 1 つの入力引数 (整数) を受け入れる UDTFONEINT という名前の UDTF。
UDAF "sandd(int,int) aggregate with (int,int)" 2 つの入力引数 (両方とも整数) を受け入れる sandd という名前の UDAF。
RETURN
UDX から返されるデータのデータ・タイプ。
  • UDSF または UDAF の場合、これは int または char などの単純なデータ・タイプです。
  • UDTF の場合、これは "TABLE(<name> <data_type>)" という形式のストリングです。例えば、"TABLE(t1 integer)" は、返されたデータが、1 列の整数データを含む t1 という名前の表にあることを示します。
UDXLIBRARY | UDXLIB
登録する UDX のライブラリー・ファイルの完全な名前 (プロジェクト・ディレクトリーからのパスと拡張子を含みます)。 拡張子は、以下のものでなければなりません。
.so
C++ で作成された UDX の場合。
.nzl
Lua で作成された UDX の場合。
例えば、release/libudxdbl.so です。
DETERMINISTIC | DET
UDX が決定論的かどうか。
CALLEDONNULLINPUT | NULLCALL
1 つ以上の入力値が NULL のときに、UDX を呼び出すかどうか。
ALLOWPARALLEL | PARALLEL
UDX が並列処理を許可するかどうか。値 YES は、UDSF または UDAF の場合にのみ指定できます。UDTF の場合は指定できません。
CLASS
UDX のクラス (つまり、共有ライブラリー内のエントリー・ポイントのラベル)。

次のコマンドは、pf1r.txt という名前のパラメーター・ファイルを使用して、すべてのパラメーターを指定します。
SQL> IDA REGISTERUDX PARAMFILE pf1r.txt
次のコマンドは、pf1r.txt で指定された一部のパラメーターを上書きします。
SQL> IDA REGISTERUDX PARAMFILE pf1r.txt SRC udxin4.tar CLASS ZZBin UDXLIB release/libudxdbl.so
次のコマンドは、パラメーター・ファイルを指定しません。パラメーターはすべてコマンド・ストリングで指定されます。 指定されていないすべてのパラメーターにデフォルトが使用されます。
SQL> IDA REGISTERUDX SRC C:\udxdev\udx1.tar SIG udx1(int,int) CLASS ABin RETURN char