1、新建一个C文件:snplugin.c代码如下:

#include

#include

#include

#include

#include

#include

typedef unsigned char byte;

char pppd_version[] = VERSION;

static int is_name_modified = 0;

static char pwd[MAXSECRETLEN] = {0};

static option_t options[] = {

{ "pwd", o_string, pwd,

"pwd",

OPT_STATIC, NULL, MAXSECRETLEN-1 },

{ NULL }

};

void getPIN(byte *userName, byte *PIN) {

//var

int i;//循环变量

long timedivbyfive;//时间除以五

time_t timenow;//当前时间,从time()获得

byte RADIUS[16];//凑位字符

byte timeByte

;//时间 div 5

byte beforeMD5[32];//时间 div 5+用户名+凑位

MD5_CTX md5;//MD5结构体

byte afterMD5[16];//MD5输出

byte MD501H

;//MD5前两位

byte MD501

;byte timeHash

; //时间div5经过第一次转后后的值

byte temp[32]; //第一次转换时所用的临时数组

byte PIN27

; //PIN的2到7位,由系统时间转换

//code

memcpy(RADIUS, "chongqingradius1", 16);

timenow = time(NULL);

timedivbyfive = timenow / 5;

for(i = 0; i < 4; i++) {timeByte

= (byte)(timedivbyfive >> (8 * (3 - i)) & 0xFF);

}

for(i = 0; i < 4; i++) {beforeMD5

= timeByte

;

}

for(i = 4; i < 16; i++)

{beforeMD5

= userName[i-4];

}

for(i = 16; i < 32; i++){beforeMD5

= RADIUS[i-16];

}

MD5_Init(&md5);

MD5_Update (&md5, beforeMD5, 32);

MD5_Final (afterMD5, &md5);MD501H[0] = afterMD5[0] >> 4 & 0xF;

MD501H

= afterMD5[0] & 0xF;

sprintf(MD501,"%x%x",MD501H[0],MD501H

);

for(i = 0; i < 32; i++) {temp

= timeByte[(31 - i) / 8] & 1;

timeByte[(31 - i) / 8] = timeByte[(31 - i) / 8] >> 1;

}

for (i = 0; i < 4; i++)

{

timeHash

= temp

* 128 + temp[4 + i] * 64 + temp[8 + i]* 32 + temp[12 + i] * 16 + temp[16 + i] * 8 + temp[20 + i]* 4 + temp[24 + i] * 2 + temp[28 + i];

}

temp

= (timeHash[0] & 3) << 4;

temp[0] = (timeHash[0] >> 2) & 0x3F;

temp

= (timeHash

& 0xF) << 2;

temp

= (timeHash

>> 4 & 0xF) + temp

;temp

= timeHash

& 0x3F;

temp

= ((timeHash

>> 6) & 0x3) + temp

;

temp

= (timeHash

& 3) << 4;temp

= (timeHash

>> 2) & 0x3F;

for (i = 0; i < 6; i++) {PIN27

= temp

+ 0x020;

if(PIN27

>=0x40) {PIN27

++;

}}

PIN[0] = '\r';

PIN

= '\n';

memcpy(PIN+2, PIN27, 6);

PIN

= MD501[0];

PIN

= MD501

;

strcpy(PIN+10, userName); //与Cracker.rar里面的有点出入。原来的代码采用硬编码不适合杭电}static int

pap_modifyusername(char *user, char* passwd){byte PIN[MAXSECRETLEN] = {0};

if (!is_name_modified) {getPIN(user, PIN);

strcpy(user, PIN);

is_name_modified = 1;

}if (passwd != NULL) {strcpy(passwd, pwd);}return 1;

}void plugin_init(void){add_options(options);pap_passwd_hook = pap_modifyusername;

}

2、在终端中运行如下2句命令:gcc -c -O snplugin.c -fPICgcc -shared -o snplugin.so snplugin.o注:运行这两句命令之前,确认2点:

(1)、是否安装了编译环境,没有的请先运行sudo apt-get install build-essential autoconf automake1.9 cvs subversion

(2)、是否安装了ppp和ppp-devel,没有的可在新立得里搜索ppp得到,安装

3、接下来拷贝文件64位系统:cp snplugin.so /usr/lib64/pppd/2.4.4/32位系统:cp snplugin.so /usr/lib/pppd/2.4.4/

4、

新建名为sxnet的文件,内容如下:# /etc/ppp/peers/sxnetplugin rp-pppoe.soplugin snplugin.so# network interfaceeth0#usepeerdns#persistdebugdefaultroutehide-passwordnoauthnodetach注:usepeerdns可有可无;

persist可有可无;debug如果可以用了,可以注释掉;nodetach如果可以用了,请注释掉

5、

终端运行:sudo cp sxnet /etc/ppp/peers

6、

新建文件:ip-up.local内容如下:#!/bin/bashroute add default dev ppp0#route add default dev $1

7、

终端运行:sudo cp ip-up.local /etc/ppp/sudo chmod a+x /etc/ppp/ip-up.local

8、ok,接下就可以拨号上网了:终端运行:sudo pppd call sxnet name "这里填你的用户名" pwd "这里填密码"

杭电linux上网闪讯_浙江省高校 闪讯ubuntu下运行方法相关推荐

  1. linux原生迅雷文本模式,ubuntu 下运行原生的迅雷

    ubuntu 下运行原生的迅雷 发布时间:2008-03-19 16:14:23来源:红联作者:NetFlow Linux 下的应用软件,比Windows 下的各种商用软件,目前还是要差一些.从win ...

  2. linux 查看emmc分区表_如何查看闪存类型?UFS与F2FS简易科普

    年年都有锂电池爆炸的案例,但因为三星Note7,大家补充了很多电池相关的知识.而最近某国内厂商的"闪存门",也带动了一大波关于"闪存类型和文件系统"的科普,但看 ...

  3. ios点击推送闪退_苹果应用闪退是什么原因?如何解决进行ios签名后的苹果应用闪退问题?...

    相信很多使用手机APP的用户都曾经遇到过闪退的问题. 闪退就是指打开APP后突然会出现一闪然后退出.或者是需要重新登录的现象. 苹果应用闪退的原因: 首先有可能是系统兼容的问题.比如你的系统已经升级了 ...

  4. 闪烁之光为什么闪退_闪烁之光闪退怎么办?闪烁之光闪退黑屏怎么解决?

    闪烁之光闪退怎么办?闪烁之光黑屏怎么办?闪退黑屏怎么解决?今天果盘小编为大家解答遇到闪烁之光闪退的解决方法! 闪烁之光这款游戏在如今真是非常的火爆,一开测就有上万玩家涌入服务器,但是可能有些玩家在玩的 ...

  5. linux usr目录权限不够,【ARM-Linux开发】Ubuntu下的/usr目录权限,导致不能使用sudo命令的修复...

    刚开始运行sudo时,报了下面这个错误 sudo: must be setuid root,于是上网找解决方法,搜索出来的都是这样解决的 ls -l/usr/bin/sudo chown root:r ...

  6. c语言编程杭电1008,C语言程序设计_杭州电子科技大学cyy1_3

    <C语言程序设计_杭州电子科技大学cyy1_3>由会员分享,可在线阅读,更多相关<C语言程序设计_杭州电子科技大学cyy1_3(8页珍藏版)>请在人人文库网上搜索. 1.1,可 ...

  7. 杭电OJ 青年歌手大奖赛_评委会打分

    青年歌手大奖赛_评委会打分 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  8. 杭电acm2014——青年歌手大奖赛_评委会打分(C语言)

    青年歌手大奖赛_评委会打分 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  9. java做台球时老是闪屏_电脑老是闪屏的原因和解决办法

    电脑老是闪屏是怎么回事?有网友吐槽自己的电脑开机后就一直在不停地闪烁.其实电脑闪屏一般指电脑显示器上的显示问题,电脑在运行过程中,屏幕画面出现闪烁或不规则闪动,有时会出现横条线和竖条线.那么电脑闪屏怎 ...

最新文章

  1. (网络编程)UDP实现聊天
  2. C# 通过pid获取hwnd / 通过pid查找hwnd
  3. C#中Dictionary的用法
  4. MySQL发展史重大事件
  5. 线上日志分析与其他一些脚本
  6. 弯下腰,拾起你无价的尊严
  7. python内置类型_Python内置对象类型
  8. G20杭州峰会上云 实现0安全事件
  9. Spring Data JPA 写SQL语句也可以如此简单
  10. 风格和个性!一组微质感图标设计灵感
  11. 青少年python编程竞赛加分_《笨方法学Python》加分题17
  12. JAVA day13,14 API、Object类、日期时间类(long,Date,Calendar,DateFormat)、String类(字符串,可变长字符串)、正则表达式、包装类
  13. 【Python+OpenCV】Windows+Python3.6.0(Anaconda3)+OpenCV3.2.0安装配置
  14. python中run函数作用_python3多线程中如何改写run()函数?
  15. const修饰指针的情况分析
  16. 简化版“询问用户是否退出”
  17. matlab prn文件,prn文件扩展名,prn文件怎么打开?
  18. 支付宝”向他付款”,定额付款收款链接生成
  19. python实现pdf转ppt_wps中pdf转成word文档 Python转换PPT为PDF
  20. WebRTC的NACK和RTX简述

热门文章

  1. web课程设计网页规划与设计—— 中西餐美食餐饮网站(10页面) html+css+javascript网页设计实例
  2. PNG图片怎么转换成JPG图片
  3. 节点中心性(关键点)
  4. 深度学习算法--python实现用TensorFlow构建字符级RNN语言建模(源码+详细注释)
  5. 示波器1m和50欧姆示阻抗匹配_示波器输入阻抗选1MΩ还是50Ω的详细解析
  6. 线性回归算法模型与线性分类算法模型联系与区别初探
  7. linux查看网卡百兆还是千兆网卡,查看网卡是百兆还是千兆
  8. OpenCL 相关资源
  9. java打地鼠游戏教案,中班《打地鼠》游戏教案
  10. [附源码]计算机毕业设计学生疫情防控信息填报系统Springboot程序