現在、プログラムをリバースエンジニアリングして、どのように動作しているかを知り、プログラムが呼び出す関数を逆アセンブルしました。関数の開始アドレスはポインタに格納され、4つの引数をとります。私の目標は、ポインタを呼び出し可能な関数としてキャストすることです。C++はポインターを呼び出して呼び出し可能な関数に変換します
これは1年または2年前に行われたものですが、使用されたサンプルコードにアクセスできなくなりました。基本的に、私は、関数の開始を指すポインタを取り、これに変換したい:
void AddValueToMain(void* basePtr, unsigned int value, __int64 compareValue, __int64 ONE_BILLION);
それはC++で書かれたかのように、私は関数を呼び出すことができるように、私はこのポインタをキャストすることができますどのように?
が、コンパイラに依存する:
今、あなたは、通常の関数のよう
AddValueToMain
を呼び出すことができます。m_ptr
は関数へのポインタを保持していると仮定すると。あなたは、ファンクタへのポインタのような何らかの代替手段が必要です。 – user1095108