Как WSASend понимает что данные были отправлены?

Внедряюсь в чужой процесс, ставлю хук на функцию WSASend. Необходимо сделать отмену отправки данных, притом таким образом, чтобы процесс считал что они были отправлены и продолжал слать новые данные. Пытался использовать return 0 для отмены отправки и это действительно работало, но процесс продолжал пытаться отправить те самые данные.

Как сделать так, чтобы процесс думал что данные успешно отправились и не пытался повторно отправить те данные которые я отменил? На одном форуме человек писал что их нужно записать куда-то, чтобы приложение посчитало что они отправились. Куда?

Вот так выглядит моя hook-функция:

int WSAAPI llllIlllIllIIl(SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent, DWORD dwFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine)
{
    return 0;
}

lpOverlapped который передаёт процесс не равен 0. Там что-то есть, но я не знаю как нужно сделать то о чём я писал выше.


Ответы (0 шт):