C# EasyHook SOCKET ConnectC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# EasyHook SOCKET Connect

Post by Anonymous »

Basierend auf meiner Frage C# IVI VISA (z. B.: NI VISA) TCP Keep Alive habe ich versucht, mit EasyHook zu patchen, wie NI VISA eine SOCKET-Verbindung öffnet. Abschließend möchte ich die Keep-Alive-Einstellungen in der ConnectHook-Methode ändern (noch nicht dort).
Ich habe den folgenden Code:

Code: Select all

[UnmanagedFunctionPointer(CallingConvention.StdCall, SetLastError = true)]
delegate int ConnectDelegate(IntPtr socket, IntPtr sockaddr, int namelen);

[DllImport("ws2_32.dll", SetLastError = true, EntryPoint = "connect")]
static extern int Connect(IntPtr socket, IntPtr sockaddr, int namelen);

static int ConnectHook(IntPtr socket, IntPtr sockaddr, int namelen)
{
Console.WriteLine("SOCKET Connect");
int s = Connect(socket, sockaddr, namelen);
return s;
}
und

Code: Select all

static void Main(string[] args)
{
string rn = "TCPIP::10.0.0.2::hislip0::INSTR";
//string rn = "TCPIP::10.0.0.2::inst0::INSTR"; // VXI-11

// Make sure ws2_32.dll is loaded
var vi = GlobalResourceManager.Open(rn) as IMessageBasedSession;
vi.Dispose();

LocalHook hook = LocalHook.Create(LocalHook.GetProcAddress("ws2_32.dll", "connect"),
new ConnectDelegate(ConnectHook),
null);
hook.ThreadACL.SetInclusiveACL(new int[] { 0 });

// Connect
vi = GlobalResourceManager.Open(rn) as IMessageBasedSession;
// IDN query
vi.RawIO.Write("*IDN?");
Console.WriteLine(vi.RawIO.ReadString());
// Sleep to monitor keep alive traffic using Wireshark
Thread.Sleep(10 * 1000);
// IDN query
vi.RawIO.Write("*IDN?");
Console.WriteLine(vi.RawIO.ReadString());
// Disconnect
vi.Dispose();
hook.Dispose();
}
Der obige Quellcode befindet sich alle in derselben Assembly (Konsolenanwendung). Aber meine ConnectHook-Methode wird neuer aufgerufen, wenn GlobalResourceManager.Open(rn) ausgeführt wird.
Ich kann das MessageBeep-Beispiel von https://easyhook.github.io/tutorials/cr ... lhook.html ausführen und einbinden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post