さて、これが取引です。DLLをターゲットプロセスに挿入し、そのレジスタの一部を読み取らせます。問題は、関数が呼び出されるたびに、取得する必要のあるコンテンツのサイズが絶えず変化することです。
ベクトルを使用できないので、事前にサイズがわからないバイトの配列を格納する場合はどうすればよいですか?
これがこれまでの私のコードですが、C3068のために明らかにコンパイルされません。
__declspec(naked) void _LocalHandleMessage()
{
__asm {
// Here i obviously have to store the data i'm sending to HandlePaquet
sub esp, __LOCAL_SIZE
pushad
pushfd
}
{
DWORD opcode;
DWORD size;
std::vector<BYTE> packetContent;
HandlePaquet(opcode, size, packetContent, true);
}
__asm {
popfd
popad
add esp, __LOCAL_SIZE
retn
}
}
また、クラスメンバーメソッドのアドレスをターゲットプロセスに挿入できるようにしたいのですが、十分にグーグルしない限り、それは不可能のようです。