Flask接口签名sign原理与实例代码浅析
453
2022-06-06
DLL命令表
.版本 2 .DLL命令 GetAdaptersInfo, 整数型, "IPHlpApi" .参数 IpAdapterInfo, 字节集 .参数 pOutBufLen, 整数型, 传址 .DLL命令 取变量地址_字节集, 整数型, , "lstrcpynA" .参数 变量, 字节集, 传址 .参数 变量, 字节集, 传址 .参数 保留, 整数型, , 0 .DLL命令 CopyMemory_iai, , "kernel32", "RtlMoveMemory" .参数 Destination, IP_ADAPTER_INFO, 传址 .参数 Source, 整数型 .参数 Length, 整数型 .DLL命令 CopyMemory_ias, , "kernel32", "RtlMoveMemory" .参数 Destination, IP_ADDR_STRING, 传址 .参数 Source, IP_ADDR_STRING .参数 Length, 整数型 .DLL命令 GetPerAdapterInfo, 整数型, "IPHlpApi" .参数 IfIndex, 整数型 .参数 pPerAdapterInfo, 字节集 .参数 pOutBufLen, 整数型, 传址 .DLL命令 CopyMemory_ipai, , "kernel32", "RtlMoveMemory" .参数 Destination, IP_PER_ADAPTER_INFO, 传址 .参数 Source, 整数型 .参数 Length, 整数型
自定义数据类型表
.版本 2 .数据类型 IP_ADAPTER_INFO .成员 Next, 整数型 .成员 ComboIndex, 整数型 .成员 AdapterName, 字节型, , "260", 名称 .成员 Description, 字节型, , "132", 描述 .成员 AddressLength, 整数型 .成员 Address, 字节型, , "8" .成员 Index, 整数型 .成员 Type, 整数型, , , 类型 .成员 DhcpEnabled, 整数型 .成员 CurrentIpAddress, 整数型 .成员 IpAddressList, IP_ADDR_STRING .成员 GatewayList, IP_ADDR_STRING .成员 DhcpServer, IP_ADDR_STRING .成员 HaveWins, 逻辑型 .成员 PrimaryWinsServer, IP_ADDR_STRING .成员 SecondaryWinsServer, IP_ADDR_STRING .成员 LeaseObtained, 整数型 .成员 LeaseExpires, 整数型 .数据类型 IP_ADDR_STRING .成员 Next, 整数型 .成员 IpAddress, 字节型, , "16", IP_ADDRESS_STRING .成员 IpMask, 字节型, , "16", IP_MASK_STRING=IP_ADDRESS_STRING .成员 Context, 整数型 .数据类型 网卡信息_ .成员 名称, 文本型 .成员 连接名称, 文本型 .成员 Mac, 文本型 .成员 Ip, 文本型 .成员 掩码, 文本型 .成员 网关, 文本型 .成员 DNS1, 文本型 .成员 DNS2, 文本型 .数据类型 IP_PER_ADAPTER_INFO .成员 tmp, 整数型, , "3" .成员 CurrentDnsServer, IP_ADDR_STRING .成员 DnsServerList, IP_ADDR_STRING
取网卡信息网络连接名的代码
.版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 取网卡信息 () .子程序 取网卡信息 .局部变量 size_link, 整数型 .局部变量 AdapterInfo, IP_ADAPTER_INFO .局部变量 buf_link, 字节集 .局部变量 addr_link, 整数型 .局部变量 i, 整数型 .局部变量 mac, 文本型 .局部变量 tmp, 文本型 .局部变量 buf_ip, IP_ADDR_STRING .局部变量 link, 网卡信息_ .局部变量 size_dns, 整数型 .局部变量 dns, IP_PER_ADAPTER_INFO .局部变量 buf_dns, 字节集 .局部变量 addr_dns, 整数型 GetAdaptersInfo ({ 0 }, size_link) buf_link = 取空白字节集 (size_link) addr_link = 取变量地址_字节集 (buf_link, buf_link, 0) .如果真 (GetAdaptersInfo (buf_link, size_link) = 0) .循环判断首 () CopyMemory_iai (AdapterInfo, addr_link, 640) link.名称 = 到文本 (AdapterInfo.Description) mac = “” .计次循环首 (AdapterInfo.AddressLength - 1, i) tmp = 取十六进制文本 (AdapterInfo.Address [i]) mac = mac + 选择 (tmp = “0”, “00”, tmp) + “-” .计次循环尾 () mac = 取文本左边 (mac, 取文本长度 (mac) - 1) link.Mac = mac CopyMemory_ias (buf_ip, AdapterInfo.IpAddressList, 40) link.Ip = 到文本 (buf_ip.IpAddress) link.掩码 = 到文本 (buf_ip.IpMask) CopyMemory_ias (buf_ip, AdapterInfo.GatewayList, 40) link.网关 = 到文本 (buf_ip.IpAddress) link.连接名称 = 取文本注册项 (4, “SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\” + 到文本 (AdapterInfo.AdapterName) + “\Connection\Name”, ) size_dns = GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns) buf_dns = 取空白字节集 (size_dns) addr_dns = 取变量地址_字节集 (buf_dns, buf_dns, 0) .如果 (GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns) = 0) CopyMemory_ipai (dns, addr_dns, 92) link.DNS1 = 到文本 (dns.CurrentDnsServer.IpAddress) link.DNS2 = 到文本 (dns.DnsServerList.IpAddress) .否则 link.DNS1 = “” link.DNS2 = “” .如果结束 网络连接名组合框.加入项目 (link.连接名称, ) 网络连接名组合框.现行选中项 = i 输出调试文本 (link.连接名称) 输出调试文本 (link.名称) 输出调试文本 (link.Mac) 输出调试文本 (link.Ip) 输出调试文本 (link.掩码) 输出调试文本 (link.网关) 输出调试文本 (link.DNS1) 输出调试文本 (link.DNS2) addr_link = AdapterInfo.Next .循环判断尾 (addr_link ≠ 0) .如果真结束
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~