Реализую через перехват API (пока
только WSARecv). Нужно просто заменить
входящий траффик на нужный мне.
Код:
Code
function NewRecv(s: TSocket; lpBuffers: LPWSABUF; dwBufferCount: DWORD; var lpNumberOfBytesRecvd:
var
W: DWORD;
Buffer: string;
begin
...
Result := .. . {Тут вызываю оригинальную функцию}
asm Pushad end;
Buffer:=Buffer+copy(lpBuffers .buf, 0, Length(lpBuffers.buf));
if MyPage(Buffer) then {Проверка, нужная ли страница для подмены}
begin
Buffer:='[b]Test Text[/b]';
lpBuffers.buf:=PChar (Buffer);
end;
...
asm Popad end;
end;
Пробовал и через Move, но код не
заменяется. Буду очень благодарен за
решение проблемы.