MadMACs: MAC Address Spoofing and
Host Name Randomizing App for Windows 7
(Should work in Windows Vista and Windows 8 too)
I wrote MadMACs awhile back, as a simple script to randomize my MAC address (and host name) in Windows on every boot. I had not updated it in a long time so it stopped working well in newer versions of Windows (Windows 7, Windows Vista and Windows 8). When someone would try to get MadMACs to work on a newer version of the OS, Windows would not always respect the registry setting for what MAC address they were suppose to use. Seems that if it is a wireless interface, the 2nd nibble has to be a 2, 6, A or an E on Windows Vista and newer. I included functionality in the new version of MadMACs to make sure this nibble is correct if you tell it the NIC you are trying to change/randomize the MAC address on is a WiFi card. I've also added a GUI for configuring your MAC addresses on your network cards (the old version used prompts), made the config file more INI like, and made it so that MadMACs itself can reset your adapter and start using the new MAC address immediately (name changes will take a reboot).
Source code is included. Here are the simple directions:
1. Place the EXE where you intend it to be ran from.
2. Choose the interface to configure.
3. Set a prefix (or the whole MAC address if you don't want to randomize) you want to use.
4. Set the "Change Default MAC address on this interface" check box.
5. Set "Check if this is a WiFi NIC (or some problematic wired ones) under Vista/7/8 (2nd nibble randomly set to 2, 6, A or E)" however you want.
6. Click "Save/Apply" to save and apply you MAC address settings.
7. Toggle "Run On Startup" as you see fit. Turn it on if you want to randomize the MAC address on every boot.
8. If you want to rename the computer on each boot (useful for some DHCP related logging issues), rename "Sample dic.txt" to "dic.txt" or provide your own computer name list text file in the same directory.
Enjoy, and I take no responsibility if it screws anything up. It's been
working fine in my Windows 7 64bit test environments so far.
Notes from older, pre-2.0 versions
MadMACs was designed with the
privacy paranoid in mind. The two main things a DHCP server records when you get
an IP from it is your host name and the MAC address of the network card you are
connecting from. This is identifying information that not all users want to
leave behind. MadMACs allows you to randomize this information after it runs and
If you run MadMAX without parameters you are asked "Do you wish to remove MadMACs from startup and clear the registry? Click No to configure MadMACs instead or Cancel to forget the whole matter." Make the logical choice to get the desired outcome.
If you want MadMACs to randomly set
your host name make a text file called dic.txt in the same directory as the
binary. This text file's format is one word after another separated by line
feeds. If you are feeling lazy just rename the file "sample dic.txt" that comes
with MadMACs to "dic.txt". MadMACs will randomly select a word from dic.txt and
make that your host name. You may not want to use the host name randomizing
functionality if you need to reach the host with the same name every time.
A patron of my website
pointed out that MadMACs, and other similar tools, seem to have a problem
randomizing the MAC address under Windows Vista if you are using the Intel
Wireless WiFi Link 4965AGN chipset. It will work with the 4965AGN if you
randomize only the last two digits, and start it with the prefix 1234567890. It
will also let you set the whole MAC address to DEADBEEFCAFE, or even let you
randomize all 12 hex digits. However, if you take the default prefix of 00,
MadMACs will make a random address up and put it in the NetworkAddress registry
value, but the 4965AGN chipset drivers will not honor it. If anyone knows why,
please contact me.
Ver. 2.0: 12/26/2012 GoHP from: http://gohpdee.com/ told me awhile back a few tips of how things have changed in versions of Windows post XP (Vista, 7 and 8) when it comes to setting a MAC address. Seems that if it is a wireless interface, the 2nd nibble has to be a 2, 6, A or an E. I included functionality in the new version of MadMACs to make sure this nibble is correct if you tell it the NIC you are trying to change/randomize the MAC address on is a WiFi card. I've also added a GUI for configuring your MAC addresses on your network cards (the old version used prompts), made the config file more INI like, and made it so that MadMACs itself can reset your adapter and start using the new MAC address immediately.
Ver. 1.2: Qwasty
let me know that if host name randomization is used with MacMACs, and the host
name is over 15 characters (or has certain bad illegal characters) it can cause
all sorts of lsass.exe errors on boot up. To fix this, I've updated the code to
do some sanity checks on the possible hostnames given to it in dic.txt.
Hopefully this fixes the problem. I also compiled it with the newer
Ver. 1.1: Added better Vista support. It's compiled with Autoit3 v184.108.40.206 (beta), so older versions may not compile the script right. When you login to Vista you will still have to either tell it to run via the error message you see in the system tray about start up apps, or just turn off User Account Control (UAC).