找回密码
 注册

QQ登录

只需一步,快速开始

查看: 43112|回复: 44

中兴ZXV10 W300D全破解记录

[复制链接]
发表于 2012-3-21 01:22:05 | 显示全部楼层 |阅读模式
本帖最后由 uu8101 于 2012-3-21 02:55 编辑

[缘由]
前不久装电信宽带,送了一个W300D的猫及iTV(中兴B700 V2A机顶盒),本来没什么问题的。但我家电视在客厅那边,而猫在客厅这边,电信工作人员给拖一根网线穿过客厅,很不爽。于是从taobao上买了个W200C的无线网卡,插上去。结果东也要密码,西也要密码,而电信工作人员死活不给,于是。。。自己动手,丰衣足食。感谢google,感谢internet,感谢贡献知识的人,让我能够一步步达到我的目标。而写这篇帖子的目的有二:一是因为我找了很久,没有找到专门针对W300D的破解,共享出来利己利人;二是留着存档,以后自己可以查阅。

[iTV]
插上无线网卡后,google之,共用密码6321,按网上搜索方法设置完毕,连接猫,居然连接不上,NND。于是再google之,找到超级用户密码,居然登陆成功了。进去之后,首先按其它教程将里面所有连接全部清空,再新建,其实就建立两个:一个internet和一个itv的桥接,主要是本地的VPI/VCI知道就OK。成都的internet是1/33,iTV是8/43。把SSID1绑定到iTV上,其它的绑定到internet上,再连接,iTV没问题了。but。。。笔记本和手机由于SSID1绑定到itv上了,这边连接不上了,怒!

[多开SSID]
因为W300D虽然支持4个SSID两个LAN,但4个SSID只开了一个。。。最先想通过网页去调整,用firefox+firebug将页面里面隐藏的元素显示出来,提交,虽然可以看到有设置SSID数量的地方,并且我手工加上了SSID2/3/4,提交后又复原了,NND。(PS:通过这种方法还是可以改SSID1的隐藏设置,比方说支持用户数,优先级等,可以提交成功)。[具体的firebug调整方法后面我会详述。]
没办法,好象除了TTL之外,无法了。taobao买了个usb-ttl小板,带快递费共16元,甚至我还买了个万用表,用来确定gnd/tx/rx针脚(网上没找着W300D的资料,自己摸索来,没办法)。到货后,开整:

[拆机]

小白猫还是很小巧可爱di...而且功能也很强大,但电信为毛要屏蔽掉它强大的功能呢?不解。。。

先拆螺丝,再拆机,注意卡子。

螺丝在标签下面

梅花螺丝拧下,注意卡子,拆开即可。

我用万用表确定的GND/TX/RX连线。因为不是学电子的,而且万用表也好多年没用过了,若有错误,请高手指正。

连接到usb-ttl小板。

[嵌入式linux]
我对linux还算熟悉,但嵌入式linux第一次用,好象限制不少唉。。。

电脑上用putty连接到com口,启动猫,root/root用户密码登陆之。。。

进来了。。。

先看一下cpu, mtd之类的信息

然后直奔主题进入/etc目录,可以看到db_default_cfg.xml就在那里,不来不去

我最先以为整个/etc目录是可写的,结果我错了,仔细研究了一下,整个/目录挂的文件系统是squashfs,好象不可写的,虽然我后面翻阅资料查到可以将/挂为rw,但还是写不进去东西,这是一个遗憾,因为不能写/etc,就不能更改rc和init.norm等启动文件,甚至连telnetd也开不起来(这个后面我再详说)

先tftp把配置文件弄到电脑上。用网线(无线也可以,只要你可以连接)把电脑接到猫上,在电脑上开tftp server,然后在putty终端输入

  1. cd /etc
  2. tftp -l ./db_default_cfg.xml -p 192.168.1.2
复制代码
192.168.1.2是我电脑的ip

取回文件后,找个你习惯的编辑器打开。
-1. 如果你用那个通用的超级用户密码登陆不进去的话,这儿是机会了哈,打开文件后,搜索UserInfo,里面有超级用户和普通用户的用户名称和密码。。。
  1.         <Tbl name="UserInfo" RowCount="2">
  2.                 <Row No="0">
  3.                         <DM name="ViewName" val="IGD.UserIF.UserInfo1"/>
  4.                         <DM name="Type" val="1"/>
  5.                         <DM name="Enable" val="1"/>
  6.                         <DM name="Username" val="telecomadmin"/>
  7.                         <DM name="Password" val="nE7jA%5m"/>
  8.                         <DM name="Right" val="1"/>
  9.                 </Row>
  10.                 <Row No="1">
  11.                         <DM name="ViewName" val="IGD.UserIF.UserInfo2"/>
  12.                         <DM name="Type" val="1"/>
  13.                         <DM name="Enable" val="1"/>
  14.                         <DM name="Username" val="useradmin"/>
  15.                         <DM name="Password" val="useradmin"/>
  16.                         <DM name="Right" val="2"/>
  17.                 </Row>
  18.         </Tbl>
复制代码
-2. 开多SSID,这个是我的目的。搜索SSID,很快就能找到相应的配置:

WLANBase是基本配置,对应于页面上的这个界面:

是不是觉得配置文件里面内容多了许多?其实页面上也存在,只是被隐藏了而已,后面用firebug可以看到。。
后面的WLANCfg就是对于每个SSID的配置了,共有四个,但只开了一个,我们把它们都打开。。。并且我很讨厌ChinaNet那个前缀,也删除之。。。至于后面的WPA密码什么的在这儿就不调整了,后面在页面上再改吧,更直观。
  1.         <Tbl name="WLANCfg" RowCount="4">
  2.                 <Row No="0">
  3.                         <DM name="ViewName" val="IGD.LD1.WLAN1"/>
  4.                         <DM name="LANDViewName" val="IGD.LD1"/>
  5.                         <DM name="InstExist" val="1"/>
  6.                         <DM name="Enable" val="1"/>
  7.                         <DM name="ESSID" val="LiD1"/>
  8.                         <DM name="ESSIDPrefix" val=""/>
  9.                         <DM name="Priority" val="1"/>
  10.                         <DM name="ACLPolicy" val="0"/>
  11.                         <DM name="BeaconType" val="2"/>
  12.                         <DM name="ESSIDHideEnable" val="0"/>
  13.                         <DM name="BeaconEnabled" val="1"/>
  14.                         <DM name="WEPAuthMode" val="2"/>
  15.                         <DM name="WEPLevel" val="1"/>
  16.                         <DM name="WEPKeyIndex" val="1"/>
  17.                         <DM name="WPAEncryptType" val="1"/>
  18.                         <DM name="WPAAuthMode" val="0"/>
  19.                         <DM name="11iEncryptType" val="1"/>
  20.                         <DM name="11iAuthMode" val="0"/>
  21.                         <DM name="WPAGroupRekey" val="600"/>
  22.                         <DM name="WPAEAPServerIp" val="192.168.1.1"/>
  23.                         <DM name="WPAEAPSecret" val="12345678"/>
  24.                         <DM name="MaxUserNum" val="32"/>
  25.                         <DM name="VapIsolationEnable" val="0"/>
  26.                         <DM name="BasicEncryptionModes" val="0"/>
  27.                 </Row>
  28.                 <Row No="1">
  29.                         <DM name="ViewName" val="IGD.LD1.WLAN2"/>
  30.                         <DM name="LANDViewName" val="IGD.LD1"/>
  31.                         <DM name="InstExist" val="1"/>
  32.                         <DM name="Enable" val="1"/>
  33.                         <DM name="ESSID" val="LiD2"/>
  34.                         <DM name="ESSIDPrefix" val=""/>
  35.                         <DM name="Priority" val="1"/>
  36.                         <DM name="ACLPolicy" val="0"/>
  37.                         <DM name="BeaconType" val="2"/>
  38.                         <DM name="ESSIDHideEnable" val="0"/>
  39.                         <DM name="BeaconEnabled" val="1"/>
  40.                         <DM name="WEPAuthMode" val="2"/>
  41.                         <DM name="WEPLevel" val="1"/>
  42.                         <DM name="WEPKeyIndex" val="1"/>
  43.                         <DM name="WPAEncryptType" val="1"/>
  44.                         <DM name="WPAAuthMode" val="0"/>
  45.                         <DM name="11iEncryptType" val="1"/>
  46.                         <DM name="11iAuthMode" val="0"/>
  47.                         <DM name="WPAGroupRekey" val="600"/>
  48.                         <DM name="WPAEAPServerIp" val="192.168.1.1"/>
  49.                         <DM name="WPAEAPSecret" val="12345678"/>
  50.                         <DM name="MaxUserNum" val="32"/>
  51.                         <DM name="VapIsolationEnable" val="0"/>
  52.                         <DM name="BasicEncryptionModes" val="0"/>
  53.                 </Row>
  54.                 <Row No="2">
  55.                         <DM name="ViewName" val="IGD.LD1.WLAN3"/>
  56.                         <DM name="LANDViewName" val="IGD.LD1"/>
  57.                         <DM name="InstExist" val="1"/>
  58.                         <DM name="Enable" val="1"/>
  59.                         <DM name="ESSID" val="LiD3"/>
  60.                         <DM name="ESSIDPrefix" val=""/>
  61.                         <DM name="Priority" val="1"/>
  62.                         <DM name="ACLPolicy" val="0"/>
  63.                         <DM name="BeaconType" val="2"/>
  64.                         <DM name="ESSIDHideEnable" val="0"/>
  65.                         <DM name="BeaconEnabled" val="1"/>
  66.                         <DM name="WEPAuthMode" val="2"/>
  67.                         <DM name="WEPLevel" val="1"/>
  68.                         <DM name="WEPKeyIndex" val="1"/>
  69.                         <DM name="WPAEncryptType" val="1"/>
  70.                         <DM name="WPAAuthMode" val="0"/>
  71.                         <DM name="11iEncryptType" val="1"/>
  72.                         <DM name="11iAuthMode" val="0"/>
  73.                         <DM name="WPAGroupRekey" val="600"/>
  74.                         <DM name="WPAEAPServerIp" val="192.168.1.1"/>
  75.                         <DM name="WPAEAPSecret" val="12345678"/>
  76.                         <DM name="MaxUserNum" val="32"/>
  77.                         <DM name="VapIsolationEnable" val="0"/>
  78.                         <DM name="BasicEncryptionModes" val="0"/>
  79.                 </Row>
  80.                 <Row No="3">
  81.                         <DM name="ViewName" val="IGD.LD1.WLAN4"/>
  82.                         <DM name="LANDViewName" val="IGD.LD1"/>
  83.                         <DM name="InstExist" val="1"/>
  84.                         <DM name="Enable" val="1"/>
  85.                         <DM name="ESSID" val="LiD4"/>
  86.                         <DM name="ESsidPrefix" val=""/>
  87.                         <DM name="Priority" val="1"/>
  88.                         <DM name="ACLPolicy" val="0"/>
  89.                         <DM name="BeaconType" val="2"/>
  90.                         <DM name="ESSIDHideEnable" val="0"/>
  91.                         <DM name="BeaconEnabled" val="1"/>
  92.                         <DM name="WEPAuthMode" val="2"/>
  93.                         <DM name="WEPLevel" val="1"/>
  94.                         <DM name="WEPKeyIndex" val="1"/>
  95.                         <DM name="WPAEncryptType" val="1"/>
  96.                         <DM name="WPAAuthMode" val="0"/>
  97.                         <DM name="11iEncryptType" val="1"/>
  98.                         <DM name="11iAuthMode" val="0"/>
  99.                         <DM name="WPAGroupRekey" val="600"/>
  100.                         <DM name="WPAEAPServerIp" val="192.168.1.1"/>
  101.                         <DM name="WPAEAPSecret" val="12345678"/>
  102.                         <DM name="MaxUserNum" val="32"/>
  103.                         <DM name="VapIsolationEnable" val="0"/>
  104.                         <DM name="BasicEncryptionModes" val="0"/>
  105.                 </Row>
  106.         </Tbl>
复制代码
大概就这样吧,再通过tftp传上去。传之前需要先复制一份,名称为db_user_cfg.xml。在putty里面,执行如下命令:

  1. cd /proc/cfg
  2. tftp -r db_default_cfg.xml -g 192.168.1.2
  3. tftp -r db_user_cfg.xml -g 192.168.1.2
  4. reboot
复制代码
重启。。。firefox用超级用户登陆192.168.1.1,发现tr069它们又回来了,那是因为默认配置里面这个没有修改,木关系,重做一遍就OK了。。。如果想简便,直接在配置文件里面搜索之改好就成。

成都的如上设置(自动拨号功能也加上了哈),其它地方的类似,注意调整自己的VPI/VCI就好。至于端口绑定看你自己兴趣,我把SSID4留给了iTV,其它的全绑定给了LAN和SSID1/2/3。下面开始整WLAN。。。

[firebug修改WLAN配置]

进入基本配置页面,打开firebug,选择查看页面代码,会发现很多style="display:none"的项,鼠标在style上点击右键,删除style,看看,对应的元素是否出来了?这样保存是会成功的。基本配置里面隐藏的东西大概有国家设置,还有一些什么阙值设置,搞不懂,明白的可以试一下。
SSID设置,这才是重头:

显示这个看看。。。

哈哈,SSID选择出来了,选择对应的SSID可以设置对应的SSID,但需要注意,选择后页面会刷新,这个项又会隐藏,木关系,再次firebug打开显示就可以了,设置的内容也会写到对应的SSID里面去(虽然有些标签名是SSID1,但只要SSID下拉框里面的值是对的就OK)。。。

这个页面隐藏的项有些还是有用的,比方说最大用户数,优先级等,自己试去。。。
你会问密码在哪儿设置呢,别急,下面就是:

和上一步一样,把SSID选择先调出来。。。选择对应的SSID就可以设置了。

貎似目的已经达到了。。

[问题及讨论]
1、telnet和FTP的问题
  1.         <Tbl name="FTPServerCfg" RowCount="1">
  2.                 <Row No="0">
  3.                         <DM name="FtpEnable" val="1"/>
  4.                         <DM name="ServerPort" val="21"/>
  5.                         <DM name="WanIfEnable" val="0"/>
  6.                         <DM name="FtpAnon" val="0"/>
  7.                         <DM name="WanID0" val=""/>
  8.                         <DM name="WanID1" val=""/>
  9.                         <DM name="WanID2" val=""/>
  10.                         <DM name="WanID3" val=""/>
  11.                         <DM name="WanID4" val=""/>
  12.                         <DM name="WanID5" val=""/>
  13.                         <DM name="WanID6" val=""/>
  14.                         <DM name="WanID7" val=""/>
  15.                         <DM name="MaxClient" val="3"/>
  16.                         <DM name="MaxPerIp" val="3"/>
  17.                         <DM name="MaxRate" val="250000"/>
  18.                 </Row>
  19.         </Tbl>
  20.         <Tbl name="FTPUser" RowCount="1">
  21.                 <Row No="0">
  22.                         <DM name="ViewName" val="IGD.FTPUSER0"/>
  23.                         <DM name="Username" val="admin"/>
  24.                         <DM name="Password" val="admin"/>
  25.                         <DM name="Location" val="/mnt"/>
  26.                         <DM name="UserRight" val="3"/>
  27.                 </Row>
  28.         </Tbl>
  29.         <Tbl name="TelnetCfg" RowCount="1">
  30.                 <Row No="0">
  31.                         <DM name="TS_Enable" val="1"/>
  32.                         <DM name="Wan_Enable" val="0"/>
  33.                         <DM name="Lan_Enable" val="1"/>
  34.                         <DM name="TS_Port" val="23"/>
  35.                         <DM name="TS_UName" val="root"/>
  36.                         <DM name="TS_UPwd" val="root"/>
  37.                         <DM name="Max_Con_Num" val="5"/>
  38.                         <DM name="ProcType" val="0"/>
  39.                 </Row>
  40.         </Tbl>
复制代码
把telnet和ftp的enable都打开了,但还是登陆不上去,why?
研究了一下rc和init.norm(debug也是一样)

很明显,启动里面没有让telnetd启动,而/etc目录又是不可写的,所以telnet无法登陆。我直接在putty上运行
  1. telnetd&
复制代码
这样是没什么问题的。。。。有兄弟想到解决办法请告知。FTP没试,估计类似。
2、/目录可写的问题

如图所示,/var和/mnt挂的是tmpfs,所以这两个可写;/proc挂的是proc,象我们用tftp也能写进去,但/挂的是squashfs,挂的是可读,我试着用

将其挂为rw,但实际上还是写不进去。我查阅了这个文件系统相关的资料,通过unionfs可以写到特定目录,但这个系统本身不支持unionfs,怎么处理?因为/etc是挂在/目录下的,不能写就不能调整。知道的朋友请告知。
3、关于页面上display:none的问题
通过firebug或者是chrome自带的调试工具都可以显示出来,但这样太不灵活了。能否想办法把它配置为直接显示出来?我查过配置文件,没有找到对应的开关。只有一个SSID2可以显示在左栏的选项,但没啥用处。个人感觉肯定有那么一个开关,关键是配置在什么地方?有知道的高手告知。

~~~~~~~~~~~~~~~~~~~~~~~~~~~全文完~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

本帖子中包含更多资源

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

×

评分

参与人数 1威望 +2 猫粮 +6 贡献 +2 收起 理由
YES东 + 2 + 6 + 2 很给力!

查看全部评分

发表于 2012-3-21 10:39:26 | 显示全部楼层
写得相当详细 不过我的W300D怎么是BCM6328的呢?
 楼主| 发表于 2012-3-21 10:50:32 | 显示全部楼层
这个我也不清楚。可能是地方不一样或者版本不一样吧。我的是W300D V2.0的硬件,V2.0.00_E的软件版本号。
发表于 2012-3-21 15:20:55 | 显示全部楼层
这个型号的没有见过。为什么只有2个LAN 口      
 楼主| 发表于 2012-3-21 23:43:32 | 显示全部楼层
我觉得可能是被阉割过了吧,我邻居的是H108L,感觉和我这个内核上一模一样,连路由界面也基本一样;但他的就有4个LAN口,4个SSID,还带1个USB。。。
发表于 2012-3-22 11:42:50 | 显示全部楼层
占位收藏,谢谢楼主。
发表于 2012-3-22 12:13:29 | 显示全部楼层
记号~看看
发表于 2012-3-23 20:55:42 | 显示全部楼层
技术贴 支持
发表于 2012-3-24 19:57:24 | 显示全部楼层
太强悍了,幸好的我不是这款机,要不我肯定搞不定
发表于 2012-3-28 18:51:46 | 显示全部楼层
squashfs是压缩过的,只读文件系统,要修改,只有把固件备份出来,解压后修改,再打包刷回去

点评

别说的那么专业呀,具体的操作方法和流程是怎么样的呀??  详情 回复 发表于 2014-4-14 19:13
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2024-4-29 00:02 , Processed in 0.028279 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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