笔记本电脑的索尼微单机身序列号号很马克地址有关系吗

查看: 7087|回复: 7
安全警告 不要泄漏自己的MAC地址、IMEI号码,可能有安全隐患!
兑换券0 元
在线时间8 小时
木蚂蚁M点38
主题帖子积分
木蚂蚁初中三年级, 积分 16471, 距离下一级还需 8529 积分
木蚂蚁初中三年级, 积分 16471, 距离下一级还需 8529 积分
触控科技,其他服务器版本未安装,尚不得而知。
简单叙述: 自己的IMEI号码或MAC地址泄漏后,可能会被人恶意登陆,从而被卖掉辛辛苦苦弄到的卡片!
请管理员审核安全性,如能够公开则在游戏中公告提醒,如不能公开,则屏蔽下面内容。
本人最近出差较多,暂时没时间详细测试验证。
初步推测本游戏是记录IMEI号码和启用WIFI后扫描MAC地址来确认用户身份的,手机有IMEI唯一标识码,平板有些没有IMEI码,但是有WIFI,启用WIFI后软件可以扫描的MAC地址。
软件作者可能会贪图省事,直接使用此号码来辨别用户身份,而很多的手机、平板ROOT后实际上是可以随便修改这两个参数的,从而造成某些人反复尝试修改来碰大运登陆别人的号。。。。。。
典型案例: 手机三国,此游戏第一优先是扫描手机IMEI号码来确认用户身份,如没有扫描到IMEI,则提取MAC地址来辨别用户身份,曾经有一段时间其论坛报告有人号被人恶意洗空。平板用户可以通过修改MAC地址(也可更换不同的USB网卡)同时多开N个小号来玩。
服务器人数越来越多,生意好是必然的,从而被一些不法分子盯上也不稀奇,请软件开发商谨慎考虑此漏洞造成的损失!
解决办法建议:
追加用户帐号,密码的注册登记,追加手机号绑定功能,追加紫卡安全码操作保护。
一区 永恒之景。
兑换券16 元
在线时间0 小时
木蚂蚁M点16
主题帖子积分
木蚂蚁初中三年级, 积分 16040, 距离下一级还需 8960 积分
木蚂蚁初中三年级, 积分 16040, 距离下一级还需 8960 积分
兑换券15 元
在线时间6 小时
木蚂蚁M点9
主题帖子积分
木蚂蚁初中二年级, 积分 11918, 距离下一级还需 3082 积分
木蚂蚁初中二年级, 积分 11918, 距离下一级还需 3082 积分
内测的时候就知道了,这游戏是绑MAC的,和IMEI没关系。
现在部分手机是可以改MAC的,也就是说,只要我知道了你的MAC,你的号就是我的了,这TMD的太不安全了
兑换券4 元
在线时间8 小时
木蚂蚁M点9
主题帖子积分
木蚂蚁初中二年级, 积分 13216, 距离下一级还需 1784 积分
木蚂蚁初中二年级, 积分 13216, 距离下一级还需 1784 积分
什么情况???
兑换券0 元
在线时间0 小时
木蚂蚁M点11
主题帖子积分
木蚂蚁初中三年级, 积分 15892, 距离下一级还需 9108 积分
木蚂蚁初中三年级, 积分 15892, 距离下一级还需 9108 积分
e101.gif (1.5 KB, 下载次数: 0)
03:46 上传
兑换券0 元
在线时间107 小时
木蚂蚁M点9
主题帖子积分
木蚂蚁初中三年级, 积分 16611, 距离下一级还需 8389 积分
木蚂蚁初中三年级, 积分 16611, 距离下一级还需 8389 积分
兑换券0 元
在线时间107 小时
木蚂蚁M点9
主题帖子积分
木蚂蚁初中三年级, 积分 16611, 距离下一级还需 8389 积分
木蚂蚁初中三年级, 积分 16611, 距离下一级还需 8389 积分
兑换券0 元
在线时间10 小时
木蚂蚁M点22
主题帖子积分
木蚂蚁初中三年级, 积分 16195, 距离下一级还需 8805 积分
木蚂蚁初中三年级, 积分 16195, 距离下一级还需 8805 积分
顶起来…………
推荐版块:
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp|&nbsp&nbsp
&nbsp&nbsp&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
&nbsp&nbsp
木蚂蚁官方微信:图解修改中兴600v4MAC地址和序列号_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
图解修改中兴600v4MAC地址和序列号
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩14页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢博客访问: 1100047
博文数量: 279
博客积分: 4088
博客等级: 上校
技术积分: 2742
注册时间:
您可以在这里写上您的介绍
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
在很多系统软件的开发中,需要使用一些系统的唯一性信息。所以,得到主机的CPUID、硬盘序列号及网卡的MAC地址,就成个一件很重要的应用。
本人经过一番google即自己的钻研,基本上实现了这几个功能。需要的准备知识有:
GCC的嵌入汇编,具体的GCC嵌入汇编知识,请参考相关手册
ioctl系统调用,具体的调用方法,请查看手册页
按照网上提供的说明,CPUID并不是所有的Intel CPU都支持的。如果支持,汇编调用为:eax置,调用cpuid。
以下为实现代码(在我的CPU上,并没有得到):#define cpuid(in,a,b,c,d) asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));static intgetcpuid (char *id, size_t max){unsigned long li, maxi, eax, ebx, ecx, edx,cpuid (0, maxi, unused, unused, unused);maxi &= 0if (maxi < 3){return -1;}cpuid (3, eax, ebx, ecx, edx);snprintf (id, max, "%08lx %08lx %08lx %08lx", eax, ebx, ecx, edx);fprintf (stdout, "get cpu id: %s/n", id);return 0;}
获取硬盘序列号
这个的实现,采用的是读取/etc/mtab文件,找到/(即根目录)挂载的设备文件,然后打开它,再用系统调用ioctl来实现的。
ioctl第二个参数为HDIO_GET_IDENTITY, 获得指定文件描述符的标志号
ioctl的第三个参数为struct hd_driveid ,在linux/hdreg.h中,struct hd_driveid的声明有struct hd_driveid {u / lots of obsolete bit flags */ /* Obsolete, "physical" cyls */unsigned short reserved2; /* reserved (word 2) */ /* Obsolete, "physical" heads */unsigned short track_ /* unformatted bytes per track */unsigned short sector_ /* unformatted bytes per sector */un /* Obsolete, "physical" sectors per track */unsigned short vendor0; /* vendor unique */unsigned short vendor1; /* vendor unique */unsigned short vendor2; /* Retired vendor unique */unsigned char serial_no[20]; /* 0 = not_specified */unsigned short buf_ /* Retired */unsigned short buf_ /* Retired, 512 byte increments* 0 = not_specified*/……};,这其中,serial_no为硬盘的序列号。如果此项为0,则为没有提供。
思路明确了,以下为实现代码:static intgetdiskid (char *id, size_t max){struct hd_FILE *char line[0x100], *disk, *root, *p;fp = fopen ("/etc/mtab", "r");if (fp == NULL){fprintf (stderr, "No /etc/mtab file./n");return -1;}fd = -1;while (fgets (line, sizeof line, fp) != NULL){disk = strtok (line, " ");if (disk == NULL){}root = strtok (NULL, " ");if (root == NULL){}if (strcmp (root, "/") == 0){for (p = disk + strlen (disk) - 1; isdigit (*p); p --){*p = '/0';}fd = open (disk, O_RDONLY);}}fclose (fp);if (fd < 0){fprintf (stderr, "open hard disk device failed./n");return -1;}if (ioctl (fd, HDIO_GET_IDENTITY, &hid) < 0){fprintf (stderr, "ioctl error./n");return -1;}close (fd);snprintf (id, max, "%s", hid.serial_no);fprintf (stdout, "get hard disk serial number: %s/n", id);return 0;}
获取MAC地址
通过创建一个socket,然后bind特定的IP地址,就可以通过ioctl得到这个套按地绑定的网络接口名称。然后再通过网络接口名称,得到MAC地址。
如果ioctl的第二个参数为SIOCGIFNAME, 则获得指定网络接口的名称;如果ioctl的第二个参数为SIOCGIFHWADDR,则获得指定网络接口的MAC地址
ioctl的第三个参数为struct ifreq ,在linux/if.h头文件里,struct ifreq声明如下:struct ifreq{#define IFHWADDRLEN 6union{char ifrn_name[IFNAMSIZ]; / if name, e.g. "en0" */} ifr_union {struct sockaddr ifru_struct sockaddr ifru_struct sockaddr ifru_struct sockaddr ifru_struct sockaddr ifru_short ifru_int ifru_int ifru_struct ifmap ifru_char ifru_slave[IFNAMSIZ];
char ifru_newname[IFNAMSIZ];void * ifru_struct if_settings ifru_} ifr_},其中,ifrn_name为网络接口的名称,ifr_ifru.ifru_hwaddr为网络接口的MAC地址。 #ifndef MAX_IFINDEX# define MAX_IFINDEX 8#endifstatic intgetmacaddr (const char *ip, char *id, size_t max){int i,struct sockaddr_in *struct ifreq req[1];sockfd = socket (AF_INET, SOCK_DGRAM, 0);if (sockfd < 0){fprintf (stderr, "Unable to create socket./n");return -1;}for (i = 0; i <= MAX_IFINDEX; ++ i){req->ifr_ifindex =if (ioctl (sockfd, SIOCGIFNAME, req) < 0){fprintf (stderr, "ioctl error: %s/n", strerror (errno));}if (ioctl (sockfd, SIOCGIFADDR, req) < 0){fprintf (stderr, "ioctl interface index [%d] error: %s/n", i, strerror (errno));}loc = (struct sockaddr_in *) (&(req->ifr_ifru.ifru_addr));if (loc->sin_addr.s_addr == inet_addr (ip)){fprintf (stderr, "%s bind at %s./n", ip, req->ifr_name);}}if (i > MAX_IFINDEX){fprintf (stderr, "input IP error./n");close (sockfd);return -1;}if (ioctl (sockfd, SIOCGIFHWADDR, req) < 0){fprintf (stderr, "ioctl error: %s/n", strerror (errno));close (sockfd);return -1;}close (sockfd);snprintf (id, max, "%02X%02X%02X%02X%02X%02X",req->ifr_hwaddr.sa_data[0] & 0xff,req->ifr_hwaddr.sa_data[1] & 0xff,req->ifr_hwaddr.sa_data[2] & 0xff,req->ifr_hwaddr.sa_data[3] & 0xff,req->ifr_hwaddr.sa_data[4] & 0xff,req->ifr_hwaddr.sa_data[5] & 0xff);fprintf (stdout, "MAC address of %s: [%s]./n", req->ifr_name, id);return 0;}转载地址:
阅读(5010) | 评论(2) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
reallsc: 请问楼主,读取硬盘温度该如何做呢?.....惭愧呀!这个我也不太清楚,这篇文章是我转的。。。
请问楼主,读取硬盘温度该如何做呢?
请登录后评论。}

我要回帖

更多关于 金属机身笔记本电脑 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信