public static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("Usage: MessageBoxHook.exe host port"); return; } string host = args[0]; int port = int.Parse(args[1]); Console.WriteLine("Connecting to remote thread..."); _hookSession = new HookSession(new AsmResolverParametersDetector()); _hookSession.HookTriggered += HookSessionOnHookTriggered; _hookSession.Connect(new IPEndPoint(IPAddress.Parse(host), port)); Console.WriteLine("Hooking MessageBoxA..."); var address = _hookSession.GetProcAddress("user32.dll", "MessageBoxA"); _hookSession.Set(address); Console.WriteLine("Hook set!"); Process.GetCurrentProcess().WaitForExit(); }
static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("Usage: Sample.exe host port"); return; } string host = args[0]; int port = int.Parse(args[1]); Console.WriteLine("Connecting to remote thread..."); _hookSession = new HookSession(new AsmResolverParametersDetector()); _hookSession.MessageReceived += HookSessionOnMessageReceived; _hookSession.MessageSent += HookSessionOnMessageSent; _hookSession.HookTriggered += HookSessionOnHookTriggered; _hookSession.Connect(new IPEndPoint(IPAddress.Parse(host), port)); Console.Write("Enter address to hook: "); var address = new IntPtr(long.Parse(Console.ReadLine(), NumberStyles.HexNumber)); _hookSession.Set(address); Console.WriteLine("Hook set!"); Process.GetCurrentProcess().WaitForExit(); }