1

嗨,我试图理解这段代码。我知道它会在注册表中获取网关名称和 mac 地址,但是当我尝试运行此代码时,它没有显示任何内容。有人可以给我有关具有基本示例的 winreg 的链接。谢谢你

from winreg import *
def val2addr(val):
    addr = ''
    for ch in val:
        addr += '%02x '% ord(ch)
    addr = addr.strip(' ').replace(' ', ':')[0:17]
    return addr

def printNets():
    net = r"SOFTWARE\Microsoft\Windows     NT\CurrentVersion\NetworkList\Signatures\Unmanaged"
    key = OpenKey(HKEY_LOCAL_MACHINE, net)
    print ("[*] Networks You have Joined.")
    for i in range(100):
        try:
            guid = EnumKey(key, i)
            netKey = OpenKey(key, str(guid))
            (n, addr, t) = EnumValue(netKey, 5)
            (n, name, t) = EnumValue(netKey, 4)
            macAddr = val2addr(addr)
            netName = str(name)
            print ('[+] ' + netName + ' ' + macAddr)
            CloseKey(netKey)
        except:
            break

def main():
    printNets()
if __name__ == "__main__":
    main()
4

1 回答 1

0
  1. 模块文档。阅读它以了解函数 args/returns。
  2. 显示注册表键值/当前用户信息的示例。
  3. 一个非常详尽的食谱,展示了 winreg 可以做的很多很多事情。
于 2014-04-18T05:50:45.820 回答