Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.06.2017, 15:33
TidusX TidusX вне форума
Прохожий
 
Регистрация: 20.10.2013
Сообщения: 19
Версия Delphi: XE10.2 Tokyo
Репутация: 10
По умолчанию Перехват WinSock Send и отмена отправки пакета

Добрый день, внедрил dll в нужный процесс для анализа трафика, установил хук на функцию Send чтобы контролировать передающиеся пакеты,
Код:
var
 TwsSend: function(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;

HookProc('WS2_32.dll', 'send', @NewSend, @TwsSend);

function NewSend(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
begin
   if blockpacket
     then result:=-1
   else
     Result := TwsSend(s, Buf, len, flags);
end;
Вот если я задам blockpacket:=true и процесс выполнит передачу пакетов то они блокируются и не передаются на сервер как нужно, но после этого если установлю blockpacket:=false то все эти блокированные пакеты разом передаются на сервер, получается блокированные пакеты накапливались и потом отправились одним пакетом, каким образом можно очистить эту очередь или правильно отменять их, чтобы запретить так запретить отправку пакетов когда blockpacket=true.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:24.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter