找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1864|回复: 9

恳请论坛的朋友帮我编一个Openwrt的so文件

[复制链接]
本帖最后由 lszjyj 于 2012-11-6 14:06 编辑
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <string.h>
  5. #include <pppd/pppd.h>
  6. #include <pppd/md5.h>

  7. typedef unsigned char byte;

  8. char pppd_version[] = VERSION;

  9. static char saveuser[MAXNAMELEN] = {0};
  10. static char savepwd[MAXSECRETLEN] = {0};

  11. static void getPIN(byte *userName, byte *PIN)
  12. {
  13.     int i,j;//循环变量
  14.     long timedivbyfive;//时间除以五
  15.     time_t timenow;//当前时间,从time()获得
  16.     byte RADIUS[16];//凑位字符
  17.     byte timeByte[4];//时间 div 5
  18.     byte beforeMD5[32];//时间 div 5+用户名+凑位
  19.     MD5_CTX md5;//MD5结构体
  20.     byte afterMD5[16];//MD5输出
  21.     byte MD501H[2]; //MD5前两位
  22.     byte MD501[3];
  23.     byte timeHash[4]; //时间div5经过第一次转后后的值
  24.     byte temp[32]; //第一次转换时所用的临时数组
  25.     byte PIN27[6]; //PIN的2到7位,由系统时间转换

  26.     //code
  27.     info("sxplugin : using zjxinlisx01");
  28.     strcpy(RADIUS, "zjxinlisx01");
  29.     timenow = time(NULL);
  30.     timedivbyfive = timenow / 5;

  31.     for(i = 0; i < 4; i++) {
  32.         timeByte[i] = (byte)(timedivbyfive >> (8 * (3 - i)) & 0xFF);
  33.     }
  34.     for(i = 0; i < 4; i++) {
  35.         beforeMD5[i]= timeByte[i];
  36.     }
  37.     for(i = 4; i < 16 && userName[i-4]!='@' ; i++) {
  38.         beforeMD5[i] = userName[i-4];
  39.     }
  40.     j=0;
  41.     while(RADIUS[j]!='\0')
  42.         beforeMD5[i++] = RADIUS[j++];

  43.     MD5_Init(&md5);
  44.     MD5_Update (&md5, beforeMD5, i);
  45.     printf("%d %s\n",i,beforeMD5);
  46.     MD5_Final (afterMD5, &md5);

  47.     MD501H[0] = afterMD5[0] >> 4 & 0xF;
  48.     MD501H[1] = afterMD5[0] & 0xF;

  49.     sprintf(MD501,"%x%x",MD501H[0],MD501H[1]);

  50.     for(i = 0; i < 32; i++) {
  51.         temp[i] = timeByte[(31 - i) / 8] & 1;
  52.         timeByte[(31 - i) / 8] = timeByte[(31 - i) / 8] >> 1;
  53.     }

  54.     for (i = 0; i < 4; i++) {
  55.         timeHash[i] = temp[i] * 128 + temp[4 + i] * 64 + temp[8 + i]
  56.             * 32 + temp[12 + i] * 16 + temp[16 + i] * 8 + temp[20 + i]
  57.             * 4 + temp[24 + i] * 2 + temp[28 + i];
  58.     }

  59.     temp[1] = (timeHash[0] & 3) << 4;
  60.     temp[0] = (timeHash[0] >> 2) & 0x3F;
  61.     temp[2] = (timeHash[1] & 0xF) << 2;
  62.     temp[1] = (timeHash[1] >> 4 & 0xF) + temp[1];
  63.     temp[3] = timeHash[2] & 0x3F;
  64.     temp[2] = ((timeHash[2] >> 6) & 0x3) + temp[2];
  65.     temp[5] = (timeHash[3] & 3) << 4;
  66.     temp[4] = (timeHash[3] >> 2) & 0x3F;

  67.     for (i = 0; i < 6; i++) {
  68.         PIN27[i] = temp[i] + 0x020;
  69.         if(PIN27[i]>=0x40) {
  70.             PIN27[i]++;
  71.         }
  72.     }

  73.     PIN[0] = '\r';
  74.     PIN[1] = '\n';

  75.     memcpy(PIN+2, PIN27, 6);

  76.     PIN[8] = MD501[0];
  77.     PIN[9] = MD501[1];

  78.     strcpy(PIN+10, userName);
  79. }

  80. static int pap_modifyusername(char *user, char* passwd)
  81. {
  82.     byte PIN[MAXSECRETLEN] = {0};
  83.     getPIN(saveuser, PIN);
  84.     strcpy(user, PIN);
  85.     info("sxplugin : user is %s ",user);
  86. }

  87. static int check(){
  88.     return 1;
  89. }

  90. void plugin_init(void)
  91. {
  92.     info("sxplugin : init");
  93.     strcpy(saveuser,user);
  94.     strcpy(savepwd,passwd);
  95.     pap_modifyusername(user, saveuser);
  96.     info("sxplugin : passwd loaded");
  97.     pap_check_hook=check;
  98.     chap_check_hook=check;
  99. }
复制代码
我的恩山、我的无线 The best wifi forum is right here.
啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
lsz*** + 1 太好用了

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

用的是pppd,v 1.91 个人感觉应该可以用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这是干啥用的额啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

根据时间生成的动态用户名,闪讯吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
啊!
q741451 发表于 2011-10-16 23:09

谢谢兄弟,我试试看行不行,非常感谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
2# q741451
非常好用 谢谢你了!!!兄弟!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 lszjyj 于 2011-12-11 23:04 编辑

谢谢大家
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

贴一个mipsel版的,适用于ralink芯片和BCM芯片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 lszjyj 于 2012-11-6 13:56 编辑

在吵吵博主的帮助下,编译出了bcm63xx的so文件 非常感谢吵吵博主以及热心的q741451兄弟的帮主才有今天基本全套的so插件 非常感谢。同时宣传一下吵吵博主的博客 www.chaochaoblog.com 一个非常有才的学医的准研究生 谢谢各位的支持 !


附上自己修改编译的2.4.5版本的so

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-28 15:36

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表