示例#1
0
func (wnic windowsManager) setInterfaceMACAddress(hwAddr string) error {
	var interfaceRegKey registry.Key
	var err error
	//open registry
	if interfaceRegKey, err = registry.OpenKey(registry.LOCAL_MACHINE, wnic.interfaceRegKey, registry.WRITE); err != nil {
		return fmt.Errorf("Unable to open registry key for writing: '%s'\n%s\n", wnic.interfaceRegKey, err)
	}
	defer interfaceRegKey.Close()

	//write spoofed mac to registry
	hwAddr = wnic.formatMacAddress(hwAddr)
	if err = interfaceRegKey.SetStringValue("NetworkAddress", hwAddr); err != nil {
		return fmt.Errorf("Unable to write MAC to registry: '%s'\n%s\n", wnic.interfaceRegKey, err)
	}
	return nil
}