硬盘序列号网卡maccpu序列号

上传人:子 文档编号:41931661 上传时间:2018-05-31 格式:DOC 页数:27 大小:58KB
返回 下载 相关 举报
硬盘序列号网卡maccpu序列号_第1页
第1页 / 共27页
硬盘序列号网卡maccpu序列号_第2页
第2页 / 共27页
硬盘序列号网卡maccpu序列号_第3页
第3页 / 共27页
硬盘序列号网卡maccpu序列号_第4页
第4页 / 共27页
硬盘序列号网卡maccpu序列号_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《硬盘序列号网卡maccpu序列号》由会员分享,可在线阅读,更多相关《硬盘序列号网卡maccpu序列号(27页珍藏版)》请在金锄头文库上搜索。

1、硬盘序列号网卡硬盘序列号网卡 MACCPUMACCPU 序列号序列号? 我有网卡 mac 的:#include #include #include “Iphlpapi.h“#include “CWinSocket.h“#pragma comment(lib,“Iphlpapi.lib“)#pragma comment(lib,“WS2_32.lib“)CWinSocket:CWinSocket(BYTE minorVer, BYTE majorVer)WSADATA wsaData;WORD socketVer = MAKEWORD(minorVer,majorVer);if(:WSAStar

2、tup(socketVer,GetGlobalData();BOOL CWinSocket:GetGlobalData()PIP_ADAPTER_INFO pAdapterInfo;ULONG len = sizeof(IP_ADAPTER_INFO);pAdapterInfo = (PIP_ADAPTER_INFO):GlobalAlloc(GPTR,sizeof(IP_ADAPTER_INFO);/Get the memory neededif(:GetAdaptersInfo(pAdapterInfo,pAdapterInfo = (PIP_ADAPTER_INFO):GlobalAll

3、oc(GPTR,len);/if(:GetAdaptersInfo(pAdapterInfo,this-FGateWayIP = :inet_addr(pAdapterInfo-GatewayList.IpAddress.String);this-FLocalIP = :inet_addr(pAdapterInfo-IpAddressList.IpAddress.String);this-FMask = :inet_addr(pAdapterInfo-IpAddressList.IpMask.String);return TRUE;elsereturn FALSE;char* CWinSock

4、et:GetLocalMac()u_char* p = this-FLocalMac;char* mac = new char30;memset(mac,0,30);wsprintfA(LPSTR)mac,(LPCSTR)“%02x-%02x-%02x-%02x-%02x-%02x“,p0,p1,p2,p3,p4,p5);return mac;Top回复人:jingzhongrong(想大笨猪了) ( 一级(初级) 信誉:100 2007-1-10 18:02:44 得分:0? #ifndef _CWinSocket_H#define _CWinSocket_H#include #includ

5、e #include #include “Iphlpapi.h“class CWinSocketprotected:u_char FLocalMac6; /local Mac AddressDWORD FGateWayIP; /Gateway IP addressDWORD FLocalIP; /local ip addressDWORD FMask; /子码掩码public:CWinSocket(BYTE minorVer = 2, BYTE majorVer = 2);CWinSocket() :WSACleanup(); /char* GetLocalIP();char* GetMask

6、();char* GetGatewayIP();char* GetLocalMac();private:BOOL GetGlobalData();#endifVC8 编译通过Top回复人:Juchiyufei(三更半夜我送你回家.总统也许我做不到.今生难得的遇见你,我们就应该在一起.) ( 五级(中级) 信誉:89 2007-1-10 19:31:30 得分:0? 谢谢哈。Top回复人:jixingzhong(瞌睡虫星辰) ( 五级(中级) 信誉:100 2007-1-10 21:38:27 得分:0? 以下代码可以取得系统特征码(网卡 MAC、硬盘序列号、CPU ID、BIOS 编号)BYT

7、E szSystemInfo4096; / 在程序执行完毕后,此处存储取得的系统特征码UINT uSystemInfoLen = 0; / 在程序执行完毕后,此处存储取得的系统特征码的长度/ 网卡 MAC 地址,注意: MAC 地址是可以在注册表中修改的UINT uErrorCode = 0;IP_ADAPTER_INFO iai;ULONG uSize = 0;DWORD dwResult = GetAdaptersInfo( if( dwResult = ERROR_BUFFER_OVERFLOW )IP_ADAPTER_INFO* piai = ( IP_ADAPTER_INFO* )H

8、eapAlloc( GetProcessHeap( ), 0, uSize );if( piai != NULL )dwResult = GetAdaptersInfo( piai, if( ERROR_SUCCESS = dwResult )IP_ADAPTER_INFO* piai2 = piai;while( piai2 != NULL uSystemInfoLen += piai2-AddressLength;piai2 = piai2-Next;elseuErrorCode = 0xF0000000U + dwResult;VERIFY( HeapFree( GetProcessHe

9、ap( ), 0, piai ) );elsereturn FALSE;elseuErrorCode = 0xE0000000U + dwResult;if( uErrorCode != 0U )return FALSE;/ 硬盘序列号,注意:有的硬盘没有序列号OSVERSIONINFO ovi = 0 ;ovi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO );GetVersionEx( if( ovi.dwPlatformId != VER_PLATFORM_WIN32_NT )/ Only Windows 2000, Windows XP, Wi

10、ndows Server 2003.return FALSE;elseif( !WinNTHDSerialNumAsPhysicalRead( szSystemInfo, / CPU IDBOOL bException = FALSE;BYTE szCpu16 = 0 ;UINT uCpuID = 0U;_try_asmmov eax, 0cpuidmov dword ptr szCpu0, ebxmov dword ptr szCpu4, edxmov dword ptr szCpu8, ecxmov eax, 1cpuidmov uCpuID, edx_except( EXCEPTION_

11、EXECUTE_HANDLER )bException = TRUE;if( !bException )CopyMemory( szSystemInfo + uSystemInfoLen, uSystemInfoLen += sizeof( UINT );uCpuID = strlen( ( char* )szCpu );CopyMemory( szSystemInfo + uSystemInfoLen, szCpu, uCpuID );uSystemInfoLen += uCpuID;/ BIOS 编号,支持 AMI, AWARD, PHOENIXSIZE_T ssize;LARGE_INT

12、EGER so;so.LowPart=0x000f0000;so.HighPart=0x00000000;ssize=0xffff;wchar_t strPH30=L“devicephysicalmemory“;DWORD ba=0;UNICODE_STRING struniph;struniph.Buffer=strPH;struniph.Length=0x2c;struniph.MaximumLength =0x2e;OBJECT_ATTRIBUTES obj_ar;obj_ar.Attributes =64;obj_ar.Length =24;obj_ar.ObjectName=obj_

13、ar.RootDirectory=0;obj_ar.SecurityDescriptor=0;obj_ar.SecurityQualityOfService =0;HMODULE hinstLib = LoadLibrary(“ntdll.dll“);ZWOS ZWopenS=(ZWOS)GetProcAddress(hinstLib,“ZwOpenSection“);ZWMV ZWmapV=(ZWMV)GetProcAddress(hinstLib,“ZwMapViewOfSection“);ZWUMV ZWunmapV=(ZWUMV)GetProcAddress(hinstLib,“ZwU

14、nmapViewOfSection“);/调用函数,对物理内存进行映射HANDLE hSection;if( 0 = ZWopenS(UINT uBiosSerialLen = FindAwardBios( if( uBiosSerialLen = 0U )uBiosSerialLen = FindAmiBios( if( uBiosSerialLen = 0U )uBiosSerialLen = FindPhoenixBios( if( uBiosSerialLen != 0U )CopyMemory( szSystemInfo + uSystemInfoLen, pBiosSerial,

15、uBiosSerialLen );uSystemInfoLen += uBiosSerialLen;ZWunmapV( ( HANDLE )0xFFFFFFFF, ( void* )ba );/ 完毕, 系统特征码已取得。以下是其中用到的某些结构及函数的定义:#define FILE_DEVICE_SCSI 0x0000001b#define IOCTL_SCSI_MINIPORT_IDENTIFY ( ( FILE_DEVICE_SCSI HeaderLength = sizeof( SRB_IO_CONTROL );p-Timeout = 10000;p-Length = SENDIDLE

16、NGTH;p-ControlCode = IOCTL_SCSI_MINIPORT_IDENTIFY;strncpy( ( char* )p-Signature, “SCSIDISK“, 8 );pin-irDriveRegs.bCommandReg = IDE_ATA_IDENTIFY;pin-bDriveNumber = iDrive;if( DeviceIoControl( hScsiDriveIOCTL, IOCTL_SCSI_MINIPORT,szBuffer,sizeof( SRB_IO_CONTROL ) + sizeof( SENDCMDINPARAMS ) - 1,szBuffer,sizeof( SRB_IO_CONTROL ) + SENDIDLEN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号