I have done a lot of research on how to spoof a MAC address and all I have come up with so far is this and it appears to be the only solution. But my only question is how do I get it to work, I really could use some more detailed and user friendly instructions. installation Building a Darwin kernel is a little different than building one in Open, Free, or NetBSD, so I've included brief directions. If you're a seasoned Darwin user or developer, you likely have all the tools ready to go to build xnu, the source tree for the Darwin kernel. If so, skip ahead to step 5. However, if you've just installed Mac OS X, you likely don't have everything you need to compile kernels, and there are a few steps to go through: Grab and install the developer tools from Apple's developer site if you haven't already. make and make install relpath from the bootstrap_cmds project. make and make install the Libstreams project. Unpack the cctools project, make all in the libstuff directory, make macos_all in the misc directory and install seg_hack.NEW as /usr/local/bin/seg_hack, make macos in the libmacho directory and install otmp_obj/libmacho_static.a in /usr/local/lib, and make kld_build in the ld directory and install static_kld/libkld.a in /usr/local/lib. [Mac OS X 10.3 / Darwin 7.0 only] Build kextsymboltool from the kext_tools project and install in /usr/local/bin. You will need to pull in headers from the IOKitUser project and cctools. Build the xnu project with the patches of your choice below, the proper options in bsd/conf/MASTER, and the directions in the READMEsupplied by Apple in the xnu tarball. Install your new kernel at /mach_kernel. It goes without saying that you should back up your old one first. Reboot your box. I've encountered or heard about a variety of very different compile-time problems, depending on the version of the operating system and the developer tools you're using; if this is the case, try fiddling around with gcc_select.