淘宝上倒卖新浪微盘事件来龙去脉——谈谈巧用IMEI
这是一个老黄历的事件,曾记得淘宝上的卖家卖10元卖50g网络硬盘,并且卖的相当的火,一个月就卖了500个账号。由于我也是那个事件的亲身经历者之一,这里就看到了IMEI号在项目中防止作弊是何其的重要。
是不是,觉得我说的什么云里雾里的东西吧。好吧,我这里就说整个事件的前因后果把。是这样子,那个时候,新浪的微盘还不是很火的时候,当然了新浪微盘一直都没有真正火爆过,他为了提高他的装机量,他的注册用户量。那个时候,htc的手机还是异常的火爆,他们同htc搞活动,要求内置微盘的客户端了,而htc则要求新浪微盘送他们的用户50g的微盘的空间了。这一切倒影是理所当然。 但作为微盘的开发者们,没有在没有htc用户刷硬盘空间时候给予了足够的判断了。于是,每个htc硬盘可以绑定无数个硬盘空间以后。殊不知,人心隔肚皮,被有些人到淘宝上卖账号,10元50g硬盘。这样显然对新浪是一笔很大的浪费。但开发者,找了很多,以为是黑客攻击了,后来找啊找啊,原来是没有加IMEI判断,有了这个IMEI,就能判断每个手机。 这个IMEI是每个手机唯一标示号。那个IMEI能巧用到那个方面。
IMEI号判断真伪机
根据机身后面电池位和包装盒上的IMEI码来辨别也是一个重要的方法,IMEI包含手机型号核准码同出厂序号,同型号手机核准号码一定一样,但出厂序号就永远不会一样。IM EI一般由15个数目字组成,按*#06#就会显示出来,格式是123456-78-901234-5。
123456=TYPEAPPR O VAL CODE,即设备型号核准号码。
78 =FINAL ASSEM BLY CODE,即最后装配号码。
901234=SERIALN U M BER,即出厂序号。
5=SPAR E N U M BER,即备用号码。
其中的78两位可以用来鉴别真假。因为一般来说正行手机的装配点都是在国内,所以只要最后装配点在国内的一般都是正行。以下是部分牌子手机的IM EI78位对照表:
西门子:37
诺基亚:40、48、60、62、80、81、92、93
摩托罗拉:80、81、82、83-天津,92、93-杭州东信
爱立信:62-北京,63-南京
松下:62-北京
三星:89、90、92-韩国
飞利浦:69-深圳
IMEI判断产地
1 public static String getDeviceId(Context context) { 2 3 TelephonyManager telephonyManager = (TelephonyManager) context 4 .getSystemService(Context.TELEPHONY_SERVICE); 5 String phone_imei = telephonyManager.getDeviceId(); 6 if (!TextUtils.isEmpty(phone_imei)) { 7 //如果存在,直接返回 8 return phone_imei; 9 } else { 10 //如果不存在,获取设备ID。手机恢复出厂设置后,ID会重置。 11 String android_id = Secure.getString(context.getContentResolver(), 12 Secure.ANDROID_ID); 13 if (!TextUtils.isEmpty(android_id)) { 14 return android_id; 15 } 16 17 return "63838sdivks666ina456786pkss"; 18 } 19 }
这个IMEI号,对我们微盾项目又什么作用了,解密密钥 = 固定字符串 + 设备IMEI号码, 每个手机的IMEI不同了,提高破解难度,提高安全性。
这是我对IMEI号的一点了解,恳求大家斧正。