chenyf2001 发表于 2009-9-28 01:51:30

(原创)华为HG522-C的SSID2的开关及加密改名教程

本帖最后由 chenyf2001 于 2009-9-28 02:13 编辑

本人只在自己的HG522上成功,别的机器没试过,如你按以下修改,本人概不付责。
以下修改必须配合spy4win软件,教程如下:

开启关闭SSID2及改名:
先用超级管理员登陆,打开网络页面的WLAN配置页面,
在地址栏输入http://192.168.1.1/html/network/wlan.asp回车, 如下图:




用一个小软件SKY4Win的“分析IE页面”功能,将小人头拖到上面这个页,


然后查看源文件得到网页源代码,
在function SubmitForm()函数体内最开始增加"ssidIdx = 1;"语句.
以下为改后的函数:
function SubmitForm()
{
    ssidIdx = 1;
    var Form = new webSubmitForm();
    var enable = getCheckVal('wlEnbl');
    Form.addParameter('x.WLANConfiguration.1.X_CT-COM_APModuleEnable',enable);
    var wlandomain = 'InternetGatewayDevice.LANDevice.1.WLANConfiguration.'
                      +(ssidIdx + 1);
    if(state == 1 && enable == 1)
    {
      if (addParameter(Form) == false)
      {
            return;
      }
      var SecurMode = getSelectVal('wlSecurMode');
      if (SecurMode == 'None')
      {
            Form.setAction('setcfg.cgi?x=InternetGatewayDevice.LANDevice.1'
                        + '&y=' + wlandomain
                        + '&RequestFile=html/network/wlan.asp');
      }
      else if (SecurMode == 'Basic')
      {
            Form.setAction('setcfg.cgi?x=InternetGatewayDevice.LANDevice.1'
                        + '&y=' + wlandomain + '&k1=' + '&k2='
                        + '&k3=' + '&k4='//+ '&p=' + wlandomain
                        + '&RequestFile=html/network/wlan.asp');
      }
      else if (SecurMode == 'WPA' || SecurMode == '11i')
      {
            Form.setAction('setcfg.cgi?x=InternetGatewayDevice.LANDevice.1'
                        + '&y=' + wlandomain + '&k=' + wlandomain //+ '&p=' + wlandomain
                        + '&RequestFile=html/network/wlan.asp');
      }
    }
    else
    {
      Form.setAction('setcfg.cgi?x=InternetGatewayDevice.LANDevice.1'
                  + '&y='+ wlandomain
                  + '&RequestFile=html/network/wlan.asp');
    }
    Form.submit();
    setDisable('btnOK',1);
}

然后复制function SubmitForm()函数到SKY4Win"其他"页面里,

选择JScript,然后运行脚本,回头到网页上修改,



注意名称最好用ChinaNet-itv,"SSID使能"打勾为开启SSID2,加密等同SSID1设置。


以下为改后图片:
开SSID2:



加密SSID2


关SSID2:


软件下载:


转载请注明出处,谢谢。

chenyf2001 发表于 2009-9-28 01:58:10

修改SSID1名称(可以不用ChinaNet开头):
基本操作同上,只是在输入JScript,脚本函数为输入function addParameter(Form)函数,但要删除以下语句
    if (ssidIdx == 0)
    {
      var the_substring = ssid.substring(0, 9);
      if (the_substring != 'ChinaNet-')
      {
            alert('SSID1 "' + getValue('wlSsid') + '" 应该包含字符串"ChinaNet-"');
            setCheck('wlEnbl',1);
            wlClickEnble(getElById('wlEnbl'));
            return false;
      }
    }
以下为改后的语句:
function addParameter(Form)
{
    var url = '';
    var temp = '';

    Form.usingPrefix('y');
    Form.addParameter('Standard',getSelectVal('wlgMode'));
    Form.addParameter('Enable',getCheckVal('enableSsid'));
    Form.addParameter('Channel',getSelectVal('wlChannel'));
    Form.addParameter('MaxBitRate',getSelectVal('wlRate'));
    Form.addParameter('X_CT-COM_SSIDHide',getCheckVal('wlHide'));
//Start of add by y67514:X_CT-COM_PowerValue规范要求只读,页面显示可写
    Form.addParameter('X_CT-COM_Powerlevel',getSelectVal('wlTxPwr'));
//End of add by y67514:X_CT-COM_PowerValue规范要求只读,页面显示可写


    var ssid = getValue('wlSsid');
    if (ssid == '' )
    {
      alert('SSID为空。');
         setCheck('wlEnbl',1);
         wlClickEnble(getElById('wlEnbl'));
         return false;
    }
    if (ssid.length > 32)
    {
      alert('SSID "' + getValue('wlSsid') + '" 应小于32个字符。');
         setCheck('wlEnbl',1);
         wlClickEnble(getElById('wlEnbl'));
      return false;
    }
    if (isValidAscii(ssid) != '')
    {
      alert("SSID 有无效字符 '" + isValidAscii(wlSsid.value) + "'。");
      setCheck('wlEnbl',1);
      wlClickEnble(getElById('wlEnbl'));
      return false;
    }
    if (ssid.charAt(ssid.length - 1) == ' ' )
    {
      alert("SSID 不能以空字符结束。");
      setCheck('wlEnbl',1);
      wlClickEnble(getElById('wlEnbl'));
      return false;
    }
    Form.addParameter('SSID',ssid);
//Start of delete by y67514:X_CT-COM_PowerValue规范要求只读,页面显示可写
/*
    var wlTxPwr = getSelectVal(sId)getValue('wlTxPwr');
    if(wlTxPwr <1 || wlTxPwr > 5)
    {
      alert('发射功率级别范围应该在1到5之间.');
      setCheck('wlEnbl',1);
         wlClickEnble(getElById('wlEnbl'));
      return false;
    }
    Form.addParameter('X_CT-COM_Powerlevel',wlTxPwr);
*/
//End of delete by y67514:X_CT-COM_PowerValue规范要求只读,页面显示可写
    //security
    var AuthMode = getSelectVal('wlSecurMode');
    Form.addParameter('BeaconType',AuthMode);
    Form.endPrefix();
    if (AuthMode == 'None')
    {
      Form.addParameter('y.BasicEncryptionModes','None');
      Form.addParameter('y.BasicAuthenticationMode','OpenSystem');
      return true;
    }
    else if (AuthMode == 'Basic')
    {
      var wepauthtype = getSelectVal('wlWep');
      if ( (wepauthtype == 'OpenSystem')
         ||(wepauthtype == 'SharedKey')
         ||(wepauthtype == 'Both'))
      {
            var KeyBit = getSelectVal('wlKeyBit');
            var index = parseInt(getSelectVal('wlKeyIndex'));
            var wlKeys = getElById('wlKeys');
            var val = wlKeys.value;
            if ( val == '')
            {
                alert('密匙的值不能为空。');
                setCheck('wlEnbl',1);
                wlClickEnble(getElById('wlEnbl'));
                return false;
            }
            var vKey = 0;
            for (vKey = 0; vKey < 4; vKey++)
            {
                val = wlKeys.value;
                if ( val != '' )
                {
                  if ( KeyBit == '128' )
                  {
                        if (isValidKey(val, 13) == false )
                        {
                            alert('密匙 "' + val + '" 无效,请输入 13位 ASCII字符或 26位16进制数作为一个 128-bit WEP 认证密匙。');
                            setCheck('wlEnbl',1);
                            wlClickEnble(getElById('wlEnbl'));
                            return false;
                        }
                  }
                  else
                  {
                        if ( isValidKey(val, 5) == false )
                        {
                            alert('密匙 "' + val + '" 无效,请输入 5位ASCII字符或 10位16进制数作为一个 64-bit WEP 认证密匙。');
                            setCheck('wlEnbl',1);
                            wlClickEnble(getElById('wlEnbl'));
                            return false;
                        }
                  }
                }
            }
            Form.addParameter('y.WEPEncryptionLevel',(KeyBit-24)+'-bit');
            Form.addParameter('y.WEPKeyIndex',index);
            //Form.endPrefix();

            for (l = 1; l <= 4; l++)
            {//alert(l)
                Form.addParameter('k' + l +'.InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.WEPKey.' + l + '.' + 'WEPKey',
                wlKeys.value);
            }
      }
      Form.addParameter('y.BasicEncryptionModes','WEPEncryption');
      Form.addParameter('y.BasicAuthenticationMode',wepauthtype);
      return true;
    }
    else if (AuthMode == 'WPA' || AuthMode == '11i')
    {
      value = getValue('wlWpaPsk');
      if (isValidWPAPskKey(value) == false )
      {
            alert('WPA 预认证共享密钥应为8到63位 ASCII字符或者64位16进制数。');
            setCheck('wlEnbl',1);
            wlClickEnble(getElById('wlEnbl'));
            return false;
      }
      // Form.endPrefix();
      // loc += '&wlWpaPsk=' + encodeUrl(wlWpaPsk.value);Form.endPrefix();
      Form.addParameter('k.PreSharedKey.1.PreSharedKey',value);
      // Form.usingPrefix('y');
      if (AuthMode == 'WPA')
      {//IEEE11iEncryptionModesWPAEncryptionModes
            Form.addParameter('y.WPAEncryptionModes',getSelectVal('wlWpa'));
      }
      elseif (AuthMode == '11i')
      {
            Form.addParameter('y.IEEE11iEncryptionModes',getSelectVal('wlWpa'));
      }
    }

    // Form.endPrefix();

    return true;
    // Form.addParameter('Enable',getCheckVal('wlEnbl'));
    //Form.endPrefix()
}

chenyf2001 发表于 2009-9-28 02:14:31

没人顶自己顶。

fhqthdxk 发表于 2009-9-28 02:46:49

半夜三更一好贴呀,,,顶,,,

chenyf2001 发表于 2009-9-28 03:07:05

谢谢,理论上可以开4个SSID,我没有试,有兴趣的可以试一下,嘿嘿

无星无雨 发表于 2009-9-28 09:04:11

好贴!

不过我不用HG522的无线,只用它连IPTV!

bmccc 发表于 2009-9-28 12:31:26

chenyf2001 发表于 2009-9-28 12:43:05

6# 无星无雨
这个方法你也可以给Itv加加密啊,不然Itv有不少人连接的。

chenyf2001 发表于 2009-9-28 12:53:08

多SSID修改应该在function SubmitForm()函数体内最开始增加"ssidIdx = X;"语句.,这句很重要,
X=要开的SSID-1,如想开SSID2,哪么X=2-1,没有测试,有兴趣的兄弟可以测试一下

chenyf2001 发表于 2009-9-29 02:06:28

已试验,开多SSID未成功,只有开SSID1和SSID2
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: (原创)华为HG522-C的SSID2的开关及加密改名教程