Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi send() Callback soll Nachricht senden (https://www.delphipraxis.net/139204-send-callback-soll-nachricht-senden.html)

napsterxx 25. Aug 2009 14:37


send() Callback soll Nachricht senden
 
Moin ihr Lieben,
ich habe in einem Programm die send() Funktion gehookt da ich die Parameter so verändern möchte, dass ich noch eine Nachricht hinterher schicken kann.
Die Nachricht muss ein bestimmtes Format haben das ich mir zusammenbastel :D
Delphi-Quellcode:
function callbackSend( s: TSocket; var buf; len: Integer; flags: Integer ): Integer; StdCall;
var
  Str: AnsiString;
  Header: Byte;
  I: Integer;
begin
  Header := PByte(Cardinal(@pchar(buf)) + 1)^;
  if (Header = $04) then
  begin
    str := '48414c4c4f'; // HALLO
    str := 'f728' + IntToHex((length(str)+18) div 2, 2) + '0001ff0110' + str + '00'; // Nachrichtformat bauen
    len := len + (Length(str) div 2); // neue Länge festlegen

    for I := len - (Length(str) div 2) to len div 2 do // jedes Byte in den Buffer schreiben
      PByte(Cardinal(@pchar(buf)) + I)^ := StrToInt('$' + str[I*2+1] + str[I*2+2]);
    Result := newSend(s, buf, len, flags);
  end else
    Result := newSend(s, buf, len, flags);
end;
Irgendwie kommen wenn ich das so mache keine anderen Pakete mehr durch, und das kommt gar nicht erst an
Warum?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz