js-sctypes を使用して、Firefox から Linux の共有ライブラリに接続しています。次のようにライブラリから関数を宣言しています。
var read_memory = libc.declare("read_memory", ctypes.default_abi, ctypes.int,
ctypes.uint32_t, ctypes.char.ptr, ctypes.int, ctypes.int);
C++ ライブラリでは、この関数は次のように宣言されています。
read_memory(unsigned int address, char *buf, int unit_size, int unit_count)
read_memory
次の方法で関数を呼び出しています。
var my = new ctypes.char().address();
read_memory(0, my, 4, 1);
st = st + my.readString();
それは正常に動作しますが、関数を greaterunit_size
とで呼び出すとunit_count
、たとえばread_memory(0, my, 4, 10)
Firefox がクラッシュします。
サイズが限られているためctypes.char
ですか、それとも別の理由でこの障害が発生するのでしょうか。この問題に関する助けをいただければ幸いです。
ありがとうございました。