Monday, November 1, 2010

MAC Address Changer for Windows 7 /XP/2003

MAC Address Changer for Windows XP/2003

A freeware program (with source code) that allows you to change the MAC ID of your network adapter.



Fig. 1 : Screenshot of the one and only main dialog

Fig. 2 : You can use getmac from a command prompt to list MAC Addresses of your n/w adapters

Overview

My cable ISP does something really unusual and annoying - they lock a cable modem to the N/W card's MAC Address, thereby disallowing an user from either changing his network card or using a different machine. When my dad visits me, this is most inconvenient as he cannot plug his laptop to the internet and I don't have a LAN at home he can plug into. A Linuxian friend of mine suggested that I change the MAC ID - which is apparently a one-command operation on Linux based machines. I googled around and found that changing the MAC under Windows involved changing certain registry values and resetting the network adapter. I barely trust my dad with his laptop, so you can imagine how I felt about trusting him to modify the registry and reset network adapters. I am not particularly crazy about coding, I do it for a living as well as an off-work hobby - but I thought it'd be a prudent idea to write a GUI app for my dad in my spare time. That's how MAC Address Changer for Windows XP/2003 came into being.

Requirements

  • Windows XP / Windows 2003

Operations

Change MAC ID

Enter a MAC Address into the edit box and click the change button. It validates the ID you've entered, so you cannot enter a MAC like "I am a chicken hawk" or something goofy like that.

Reset MAC ID

This'll reset the MAC Address to the adapter default.

Things to note

  • Normally, both operations would be pretty straightforward. But sometimes, with some network adapters, programmatic reset of the adapters will fail, in which case you'll get a message box telling you that you'll need to manually reset the adapter.
  • If you don't have write-access to the HKLM registry key-hierarchy, both operations fail.

Program usage

The program can be used freely for commercial and non-commercial purposes.

Source code

The source code (decently commented I hope) has been included. I used VC++ 2005 Beta 2 (MFC dialog app without the /clr option), so you'll need that to open the project files. All the textual UI is taken from the resource, so it should be pretty easy to have versions for other languages - say German or French for instance.
If anyone modifies the source code, I request that my original copyright comment headers be left intact.

Pseudo-Statutory Warning

This program may not work with some network adapters. And it might cause an adapter to stop working normally if MAC IDs are incessantly changed/reset. Some network administrators might have forbidden the practice of changing MAC addresses, so you might want to check with your sys-admin before you use this program.

Conclusion

This application was written out of personal necessity and if it is useful to other people, well and good, if not, oh well, then nothing lost anyway. The source code has been provided for interested people.

No comments:

Post a Comment