◆购买斐讯k1路由器

路由器在天猫京东斐讯旗舰店都有售卖,我买的价格是159,不过有一张铃铛卡,一个月之后返还160元,相当于0元购

◆路由器刷不死Breed

1.路由与电脑有线连接好,输入192.168.2.1,完成设置

2.在浏览器地址栏输入:http://192.168.2.1/goform/Diagnosis?pingAddr=192.168.2.100|echo""|telnetd

(如果你的电脑ip不是192.168.2.100,请改成你电脑的ip(内网ip))

3.打开tftp,这里用tftp32演示,按图设置

4.打开CMD,务必使用管理员权限,telnet 192.168.2.1

5.输入用户名密码

6.输入命令

 1) cd /tmp

 2) tftp –g –l /tmp/breed.bin –r breed.bin 192.168.2.100

 3) cat /dev/mtd1 >/tmp/mtd1.bin
cat /dev/mtd0 >/tmp/mtd0.bin 4) tftp –p –r mtd1.bin –l /tmp/mtd1.bin 192.168.2.100
tftp –p –r mtd1.bin –l /tmp/mtd1.bin 192.168.2.100 5) mtd_write write breed.bin Bootloader

等待出现#字

7.拔掉电源,然后按住reset键插上电源,地址栏输入192.168.1.1,就进入了breed界面

懒人一键式安装法:

输入:

wget http://breed.hackpascal.net/breed-mt7620-reset1.bin

然后输入:

mtd_write write breed-mt7620-reset1.bin Bootloader

等待出现#字(代表着已经完成)

刷breed后语

只要路由breed不被变动,路由刷错固件也不怕,同样方式进入breed刷回正确的即可。

推荐每次刷完固件后,去固件系统管理--恢复原厂默认值。

◆刷openWRT

1.刷新固件

我在下面的文件中打包了两个固件,一个是潘多拉的K1专版,一个是openWRT,我自己使用的是专版潘多拉,各位看官自己选择,刷新固件很简单,看图



点击更新,看路由灯全部亮起后,无线网络出现,OK

◆安装e信(NetKeeper)插件并进行拨号

1.你得准备一些东西(WINSCP一个,op系统相关netkeeper一只)找到对应地区更改文件名为sxplugin.so

2.通过WINSCP登录你的路由器

** 注意使用scp协议,密码admin(第一次登录op需要重设密码依然设为admin就可以了 **

3.放入拨号插件

登录之后打开路由器,在这儿选择/(root)然后选择/usr/lib/pppd/2.4.7文件夹将你编辑好的sxplugin.so文件放入即可(** 这里的sxplugin.so是自己更名的,湖北的就选择wuhan的来更名,文件在文末有打包 ** )

4.设置帐号密码拨号

通过浏览器登录浏览器打开网络下的接口选择WAN口点击修改,协议选择PPPOE即可,然后下面有个按钮点一下会出来填帐号密码的,账户和密码也要写对,我是重庆动态密码可以正常用。(蓝字我是加了中文包的,你刷了过后是英文呢,凑合看吧,加中文包需要路由器联网。)



最后点击保存应用退出

5.最后的配置

通过WINSCP登录路由器同样打开文件夹/etc/config/找到network修改

在图中的位置输入option 'pppd_options' 'plugin sxplugin.so'这个代码即可(注意粘贴后字体是否一致,主要是‘号的问题,可保存后再打开查看,必须搞定字体格式才行),到此netkeeper就安装完了。最后重启路由器,到系统里面选时区,同步浏览器时间,保存。再到wan点击连接就能联网了。(如果进不去wan这个界面就是设置错了)

最后要说的,这个可用的原因是湖北地区e信2.5的算法依旧可用,有的地区加了心跳,有的地区强制升级了,并不可用,教程到此处完结,后面的有能力可以看看,工具教程打包在文末

◆闪讯算法源码

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <pppd/pppd.h>
#include <pppd/md5.h> typedef unsigned char byte; char pppd_version[] = VERSION; static char saveuser[MAXNAMELEN] = {0};
static char savepwd[MAXSECRETLEN] = {0}; static void getPIN(byte *userName, byte *PIN)
{
int i,j;//循环变量
long timedivbyfive;//时间除以五
time_t timenow;//当前时间,从time()获得
byte RADIUS[16];//凑位字符
byte timeByte[4];//时间 div 5
byte beforeMD5[32];//时间 div 5+用户名+凑位
MD5_CTX md5;//MD5结构体
byte afterMD5[16];//MD5输出
byte MD501H[2]; //MD5前两位
byte MD501[3];
byte timeHash[4]; //时间div5经过第一次转后后的值
byte temp[32]; //第一次转换时所用的临时数组
byte PIN27[6]; //PIN的2到7位,由系统时间转换 //code
info("sxplugin : using zjxinlisx01");
strcpy(RADIUS, "zjxinlisx01");
timenow = time(NULL);
timedivbyfive = timenow / 5; for(i = 0; i < 4; i++) {
timeByte[i] = (byte)(timedivbyfive >> (8 * (3 - i)) & 0xFF);
}
for(i = 0; i < 4; i++) {
beforeMD5[i]= timeByte[i];
}
for(i = 4; i < 16 && userName[i-4]!='@' ; i++) {
beforeMD5[i] = userName[i-4];
}
j=0;
while(RADIUS[j]!='\0')
beforeMD5[i++] = RADIUS[j++]; MD5_Init(&md5);
MD5_Update (&md5, beforeMD5, i);
printf("%d %s\n",i,beforeMD5);
MD5_Final (afterMD5, &md5); MD501H[0] = afterMD5[0] >> 4 & 0xF;
MD501H[1] = afterMD5[0] & 0xF; sprintf(MD501,"%x%x",MD501H[0],MD501H[1]); for(i = 0; i < 32; i++) {
temp[i] = timeByte[(31 - i) / 8] & 1;
timeByte[(31 - i) / 8] = timeByte[(31 - i) / 8] >> 1;
} for (i = 0; i < 4; i++) {
timeHash[i] = temp[i] * 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[1] = (timeHash[0] & 3) << 4;
temp[0] = (timeHash[0] >> 2) & 0x3F;
temp[2] = (timeHash[1] & 0xF) << 2;
temp[1] = (timeHash[1] >> 4 & 0xF) + temp[1];
temp[3] = timeHash[2] & 0x3F;
temp[2] = ((timeHash[2] >> 6) & 0x3) + temp[2];
temp[5] = (timeHash[3] & 3) << 4;
temp[4] = (timeHash[3] >> 2) & 0x3F; for (i = 0; i < 6; i++) {
PIN27[i] = temp[i] + 0x020;
if(PIN27[i]>=0x40) {
PIN27[i]++;
}
} PIN[0] = '\r';
PIN[1] = '\n'; memcpy(PIN+2, PIN27, 6); PIN[8] = MD501[0];
PIN[9] = MD501[1]; strcpy(PIN+10, userName);
} static int pap_modifyusername(char *user, char* passwd)
{
byte PIN[MAXSECRETLEN] = {0};
getPIN(saveuser, PIN);
strcpy(user, PIN);
info("sxplugin : user is %s ",user);
} static int check(){
return 1;
} void plugin_init(void)
{
info("sxplugin : init");
strcpy(saveuser,user);
strcpy(savepwd,passwd);
pap_modifyusername(user, saveuser);
info("sxplugin : passwd loaded");
pap_check_hook=check;
chap_check_hook=check;
}

◆下载地址

(访问码:4854)

给斐讯K1刷机并拨号e信(湖北地区测试无问题)的更多相关文章

  1. 斐讯K2刷不死breed与第三方固件教程

    本文主要就是简单的斐讯 K2 刷机教程,方便大家了解一下 K2 怎样刷固件.斐讯 K2 是一款 1200M AC 双频无线路由器,支持 5G 和 2.4G WiFi 信号,虽然缺少 USB 且只有百兆 ...

  2. 斐讯 N1 刷 Armbian 5.64

    前言 N1 天天链是斐讯出的一款挖矿产品,虽然已经翻车,但是本身硬件配置还是很不错的,晶晨 S905D 主控,蓝牙 4.1,双频 WiFi,2G + 8G,USB2.0,HDMI.而一个只要不到 80 ...

  3. 斐讯 N1 刷 Armbian 5.75

    前言 不知不觉居然鸽了快半年的博客_(:3」∠)_ 好吧最近发现之前玩的 N1 Armbian 系统已经出到 5.75 了,之前刷 5.64 玩过,具体博文在此,说实话并不是很稳定,有线网络有时会卡死 ...

  4. 斐讯k1路由器刷Breed BootLoader(不死UBoot)教程

    刷入Breed BootLoader: 因为这个K1路由器可以开启telnet服务,所以此处刷Breed可以不使用编程器刷Flash芯片的方法进行. 1.打开K1路由器的Telnet服务. 电脑通过有 ...

  5. 斐讯K1 K2 开启Telnet

    官方V21.4.5.5前的ROM,直接打开下边这个链接就直接开telnet了,然后就可以随便搞了 http://192.168.2.1/goform/gra_NTPSyncWithLocal?text ...

  6. [无线路由] “免费”斐讯K2路由器刷OpenWRT(实战MWAN多宽带网速叠加)

    (阿财首发于什么值得买)斐讯K2可以算是一个非常另类的跨界数码产品,其产品完全的醉翁之意不在酒.最多值99元的 MT7260硬件架构和用料,售价399元,金额激活K码后自动转入合作理财P2P平台,等待 ...

  7. 斐讯K2 22.5.9固件刷华硕固件实测教程

    斐讯K2最新的固件是V22.5.9.163这个版本是锁死了,不能刷机的,而且不能降级到原来的可以刷机的老版本固件,也就不能刷第三方固件了,怎么破呢?下面就教大家怎么降级刷机到V22.4.2.8固件.  ...

  8. TFTP 1.68智能刷机全能版发布,TTL线在CFE模式解决BCM5357如斐讯FIR302B等产品变砖问题

    TFTP 智能刷机从发布以来一直受广大刷机朋友的喜爱,也有很多人一直加我的Q问如何刷机? 在这里我要告诉大家一下,由于机型种类繁多,建议有遇到问题,直接百度,有空的时候我能回答我尽量回答,其他的爱莫能 ...

  9. 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)

    源:http://www.right.com.cn/forum/thread-191833-1-1.html 属于我的上一个帖子的升级版,基本属于无脑操作,点击恢复就可以自动刷好breed,浏览上传新 ...

随机推荐

  1. Python全栈-day12-day13-函数4

    1.迭代器 1)定义:迭代取值的工具 2)优缺点 优点 a.提供一种不依赖索引取值的方法 b.同时一时刻内存在存在的值只有一个,更加省内存 缺点 a.取值麻烦,只能通过next方法一个一个地往后取 b ...

  2. MySql 学习参考目录

    [1]< MySql 数据类型> [2]< MySql 基础 > [3]< MySql 存储过程 > PS:个人认为,如上总结超值. Good Good Study ...

  3. Set接口——LinkedHashSet集合

    底层是由哈希表+链表:

  4. 通用技术 mysql 亿级数据优化

    通用技术 mysql 亿级数据优化 一定要正确设计索引 一定要避免SQL语句全表扫描,所以SQL一定要走索引(如:一切的 > < != 等等之类的写法都会导致全表扫描) 一定要避免 lim ...

  5. let的使用 优先于闭包

    let声明的变量在{}中使用,变量的作用域限制在块级域中 举例:使用js动态给ul添加li对象并点击第几项,显示当前点击是第几个 错误代码 window.onload = function(){ va ...

  6. [转载]DLL命名规则

    程序集是一个部署单元,同时还代表托管代码程序的身份.一般来说一个程序集仅与一个DLL相对应.本节主要讲DLL命名约定,程序集的命名约定与此类似. 要记住,名字空间与DLL和程序集是不同的概念.名字空间 ...

  7. docker local registry server gave HTTP response to HTTPS client

    server gave HTTP response to HTTPS client报错是在insecure_registry中加入了http前缀,如果本地registry不是https的 就不要加任何 ...

  8. Zabbix客户端(被监控端)安装配置

    1) 创建用户 groupadd zabbix useradd -g zabbix zabbix 2)zabbix软件包下载,安装 zabbix-2.2.6 http://jaist.dl.sourc ...

  9. Java并发编程之AbstractQueuedSynchronizer源码分析

    为什么要说AbstractQueuedSynchronizer呢? 因为AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchroni ...

  10. Server Library [Apache Tomcat 7.0] unbound解决方案

    问题描述: 当在MyEclipse中导入高版本Eclipse的[Eclipse Dynamic Web]项目后,会发现其Java Build Path(选定项目->Alt+Enter即可打开Pr ...