![]() |
callback SendTo - sende eigenen Buffer
Delphi-Quellcode:
So das ist meine Funktion. Beim Aufruf dieser Callbackfunktion wandel ich den Inhalt von Buf erstmal in Hexadezimal um und schau ob es sich bei diesem um ein bestimmtes Paket handelt.
function callbackSendTo(s: TSocket; var Buf; len, flags: Integer; var addrto: TSockAddr; tolen: Integer): Integer; stdcall;
Wenn es sich um eben dieses Paket handelt möchte ich das vorletzte Byte in ein 'A' ändern. Das Problem ist nicht das ändern des 'A' sondern das anschließende Aufrufen mit den richtigen Parametern.
Delphi-Quellcode:
Also kurze Erläuterung. getPacketAsHex wandelt das Packet in einen Hexadezimalstring um. Wenn die Länge von Packet > 0 ist, dann handelt es sich um das spezifische Paket. Packet enthält dann alle modifizierten Bytes. Nun habe ich jedoch kein Plan wie ich das letzlich erfolgreich sende. So wie ich es aktuell mache funktioniert es nicht.
function callbackSendTo(s: TSocket; var Buf; len, flags: Integer; var addrto: TSockAddr; tolen: Integer): Integer; stdcall;
var packet: TStringDynArray; buffer: Pointer; begin packet := getPacketAsHex(Buf, Len); if Length(Packet) > 0 then begin Buffer := PChar(HexToStr(implode('', packet))); Result := orgiSendTo(s, Buffer, Len, Flags, addrto, tolen); end else Result := orgiSendTo(s, Buf, Len, Flags, addrto, tolen); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz