etcz 发表于 2008-12-9 21:50:46

中兴H608B猫,html.mz文件内ftp结构探讨!!

中兴H608B猫,html.mz文件内ftp结构如下:请高手指教看能否直接修改
/tools/updatea_t.gch?<table width="620" height="240" border="0" cellpadding="0" cellspacing="0" valign="center">
<tr>
<td height="100" >&nbsp;</td>
</tr>
<tr height="25">
<td align="center" valign="center">
<font class="myTitle" id="re_info">&?ug06;</font><br>
</td>
</tr>
<tr>
<td height="30" align="center" valign="center">
<font class="myTitle" id="re_info" style="color:#CC0000">&?ug07;</font>
<font class="myTitle" id="re_info">&?ug08;</font><br>
</td>
</tr>
<tr>
<td height="100" >&nbsp;</td>
</tr>
</table>
<%
var UpdateDirectory= get_config("UpdateDirectory");
var UpdateMenu= get_config("UpdateMenu");
VAR posturupdate =
"getpage.gch?pid=1002&submenu="+UpdateMenu+
"&nosubmenu=0&nextpage="+UpdateDirectory+"/updatea_t.gch"
"&title=&?c090;&path=&?p54;&nextgch="+UpdateDirectory+"/updatea_gch.gch&nextjs="+UpdateDirectory+"/updatea_js.gch&act=2&kind=update";
%>
<form NAME="rSubmit" method="POST" action = "<%=posturupdate;%>">
</form>

etcz 发表于 2008-12-9 21:51:42

第二部分

/tools/update_gch.gch?%
var _enftp = request("_enftp");
var _ACTION = request("_ACTION");
var OAM_FTPENABLE = get_config("OAM_FTPENABLE");
var MOD_SERVERMANAGE_ID = get_config("MOD_SERVERMANAGE_ID");
if(_ACTION == "submit")
{
var trans_id = Begin_Trans();
var sav = start_save();
add_save(sav, OAM_FTPENABLE, _enftp);
done_save(sav, trans_id, MOD_SERVERMANAGE_ID, 0);
End_Trans(trans_id);
}
IMPORT FILE "DoSave.gch";

etcz 发表于 2008-12-9 21:53:04

第三部分

/tools/update_js.gch`var kkkk = 0;
var iiii = 0 ;
<%
IMPORT FILE "Tools/syscmds_js.gch";
var UpdateDirectory= get_config("UpdateDirectory");
var UpdateMenu= get_config("UpdateMenu");
var SoftwareVersion = get_config("SoftwareVersion");
%>
function myDoLoad()
{
sys_myDoLoad();
}
function get_enable_ftp()
{
if(document.getElementById("_enftp").value == "1")
document.getElementById("enftp").checked = true;
else if(document.getElementById("_enftp").value == "0")
document.getElementById("enftp").checked = false;
}
function enable_ftp()
{
if(document.getElementById("enftp").checked == true)
{
document.getElementById("_enftp").value = "1";
}
else
document.getElementById("_enftp").value = "0";
document.getElementById("_ACTION").value = "submit";
document.getElementById("fSubmit").submit();
}
function do_restart()
{
document.getElementById("errtitle").innerHTML = "Note";
ShowError(null, "&?e161;");
setTimeout("document.getElementById('rSubmit').submit()", 2000);
setTimeout("document.getElementById('rSubmit').submit()", 120000);
}
function do_change()
{
var url = "getpage.gch?pid=1002&submenu=<%=UpdateMenu;%>&nosubmenu=3&nextpage=<%=UpdateDirectory;%>/updatea_t.gch&title=&?c090;&path=&?p54;&nextgch=<%=UpdateDirectory;%>/updatea_gch.gch&nextjs=<%=UpdateDirectory;%>/updatea_js.gch&act=2&kind=update";
location.href = url;
}
<% VAR act = request("action"); %>
<% if (act IS NULL) { %>
var dots = 1;
var sum = 0 ;
var v = 0;
function myUpgradeStep()
{
var t = "&?ug04;";
var i;
for (i = 0; i < dots; i++)
t += ".";
document.getElementById("ftitle").innerHTML = t;
dots++;
if (dots > 12)
dots = 1;
setTimeout("myUpgradeStep()", 1000);
}
function gettimestr(num)
{
if (num < 10)
return ("0" + num);
else
return num;
}
function getcurtime()
{
var now = new Date();
var timestr = "";
timestr += now.getYear();
timestr += gettimestr(now.getMonth() + 1);
timestr += gettimestr(now.getDate());
timestr += gettimestr(now.getHours());
timestr += gettimestr(now.getMinutes());
timestr += gettimestr(now.getSeconds());
return timestr;
}
function myUploadFile()
{
var doload_flag = 0 ;
var file =        document.getElementById("UploadFile").value;
if (file.trim() == "")
{
ShowError(null, "&?e162;");
return;
}
var ver = "<%=SoftwareVersion;%>ver";
var lowerCaseVer = ver.toLowerCase();

if ((file.match(lowerCaseVer)) == lowerCaseVer)
{
doload_flag = 1;
}
else if ( file.match("config.bin") == "config.bin")
{
doload_flag = 1;
}
if(doload_flag != 1)
{
document.getElementById("errtitle").innerHTML = "Note";
ShowError(null, "&?e163;");
return;
}
document.getElementById("curdate").value = getcurtime();

if(document.getElementById("ztebavo"))
document.getElementById("ztebavo").href = "#";
if(document.getElementById("Wizard"))
document.getElementById("Wizard").href = "#";
if(document.getElementById("asetup"))
document.getElementById("asetup").href = "#";
if(document.getElementById("aadvanced"))
document.getElementById("aadvanced").href = "#";
if(document.getElementById("asecurity"))
document.getElementById("asecurity").href = "#";
if(document.getElementById("avoip"))
document.getElementById("avoip").href = "#";
if(document.getElementById("astatus"))
document.getElementById("astatus").href = "#";
if(document.getElementById("a_lgt"))
document.getElementById("a_lgt").href = "#";
if(document.getElementById("atools0"))
document.getElementById("atools0").href = "#";
if(document.getElementById("atools1"))
document.getElementById("atools1").href = "#";
if(document.getElementById("atools2"))
document.getElementById("atools2").href = "#";
if(document.getElementById("atools3"))
document.getElementById("atools3").href = "#";
if(document.getElementById("atools4"))
document.getElementById("atools4").href = "#";
if(document.getElementById("atools5"))
document.getElementById("atools5").href = "#";
if(document.getElementById("atools6"))
document.getElementById("atools6").href = "#";
if(document.getElementById("atools7"))
document.getElementById("atools7").href = "#";
if(document.getElementById("atools8"))
document.getElementById("atools8").href = "#";
if(document.getElementById("atools9"))
document.getElementById("atools9").href = "#";
if(document.getElementById("ilang1"))
document.getElementById("ilang1").onclick = "";
if(document.getElementById("ilang2"))
document.getElementById("ilang2").onclick = "";

if(document.getElementById("upload"))
document.getElementById("upload").disabled = true;
if(document.getElementById("config"))
document.getElementById("config").disabled = true;
if(document.getElementById("upgrade"))
document.getElementById("upgrade").style.visibility = "visible";
dots = 0;
myUpgradeStep();
setTimeout("doUploadFile()", 1000);
}
function doUploadFile()
{
document.getElementById("fUpload").submit();
}
<% } else { if (act == "2" || act == "3") { %>
function myDoContinue()
{
document.getElementById("reboot").disabled = true;
document.getElementById("fSubmit").bcontinue.disabled = true;
document.getElementById("fSubmit").brestart.disabled = true;
document.getElementById("fSubmit").submit();
}
function myDoRestart()
{
<% if (act == "3") { %>
document.getElementById("fSubmit").bcontinue.disabled = true;
<% } %>
document.getElementById("fSubmit").brestart.disabled = true;
document.getElementById("fSubmit").action = "getpage.gch?pid=100";
document.getElementById("fSubmit").submit();
}
<% } if (act == "1" || act == "2") { %>
function myDoRelogin()
{
setTimeout("myDoSubmit()", 40000);
}
function myDoSubmit()
{
document.getElementById("fSubmit").submit();
}
<% } if (act == "2") { %>
var sys_href = "#";
var ie5 = (document.getElementById("fView")&&document.getElementsByTagName);
var step = 0;
function setSB(v, el, inforEl, message)
{
if (ie5 || document.readyState == "complete")
{
filterEl = el.children;
valueEl = el.children;
if (filterEl.style.pixelWidth > 0)
{
var filterBackup = filterEl.style.filter;
filterEl.style.filter = "";
filterEl.style.filter = filterBackup;
}
filterEl.style.width = v + "%";
valueEl.innerHTML = v + "%";
inforEl.innerHTML = message;
}
}
function setSBByStep(v, el, inforEl, message)
{
if (ie5 || document.readyState == "complete")
{
step = step + v;
filterEl = el.children;
valueEl = el.children;
if (filterEl.style.pixelWidth > 0)
{
var filterBackup = filterEl.style.filter;
filterEl.style.filter = "";
filterEl.style.filter = filterBackup;
}
filterEl.style.width = step + "%";
valueEl.innerHTML = step + "%"
inforEl.innerHTML = message;
}
}
function upgradeProgress()
{
var t;
var i;
var temp;
document.getElementById("upgrade111").style.visibility = "visible";
<%VAR ftype = request("file");%>

if (iiii >= 100)
{
do_change();
<% if (ftype == "2") { %>

document.getElementById("fSubmit").brestart.disabled = false;
<% } else { %>

document.getElementById("fSubmit").brestart.disabled = false;
<% } %>
}
else
{
<%
VAR to;
VAR total ;
switch (ftype)
{
case "1":
{
                                        to = 1000;
total = 2 ;
break;
}
case "2":
                                {
if(SoftwareVersion IS NOT NULL && SoftwareVersion == "I21x")
{
to = 600;
total = 60;
}
else
{
to = 900;
total = 90;
}
break;
}
}
%>
kkkk = kkkk + <%=to;%>;
iiii = kkkk/<%=total;%> *100 /1000;
t = iiii + "%" ;
document.getElementById("ftitle22").innerHTML = t;
setTimeout("upgradeProgress()", <%=to;%>);
}
}
<% }} %>
function Dofresh()
{
<%
VAR posturl =
"getpage.gch?pid=1002&submenu="+UpdateMenu+
"&nosubmenu=0&nextpage="+UpdateDirectory+"/updatea_t.gch"
"&title=&?c090;&path=&?p54;&nextgch="+UpdateDirectory+"/updatea_gch.gch&nextjs="+UpdateDirectory+"/updatea_js.gch&kind=update";
%>
var url = "<%=posturl;%>";
location.href = url ;
}

etcz 发表于 2008-12-9 21:56:21

第四部分

</td>
</tr>
<tr>
<td width="157" class="myCommTD" height="25">
<p align="right"><font size="2" color="#FFFFFF"><b>使能FTP</b></font></td>
<td width="7" class="myCommTD">  </td>
<td width="474"> </td>
</tr>
<tr>
<td width="164" colspan="2" background="images/left.gif">
<p align="right"><font size="2"><b>    </b></font></td>
<td width="474"> </td>
<tr>
<td width="164" colspan="2" background="images/left.gif"></td>
<td width="474" align="center">
<!--menu start-->
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr align="left">
<td height="10" class="myText"><p>       使能FTP:
    <input type="checkbox"name="enftp" id="enftp" onClick="enable_ftp();">
</td>
</tr>
</table>
</td>
</tr>
</tr>
<tr>
<td width="157" class="myCommTD" height="25">
<p align="right"><font size="2" color="#FFFFFF"><b>版本日期</b></font></td>
<td width="7" class="myCommTD">  </td>
<td width="474"> </td>
</tr>
<tr>
<td width="164" colspan="2" background="images/left.gif">
<p align="right"><font size="2"><b>    </b></font></td>
<td width="474"> </td>
<tr>
<td width="164" colspan="2" background="images/left.gif"></td>
<td width="474" align="center">

貔貅 发表于 2008-12-9 23:57:47

自己驾FTP么?

我的是H108B,跟你这个差不多吧应该

我还没开始研究怎么驾FTP呢,应该不难吧

etcz 发表于 2008-12-10 01:08:24

回复 5# 貔貅 的帖子

其实2个设备的html文件应该是一样的。
因为,我在我这个h608b上的html文件里面发现有很多if 语句中都含有“h108b”
估计是一样的

xyn 发表于 2008-12-10 17:40:08

修改是可以的,但也是有限的.
每个页面对应三个文件:*_t.gch ; *_js.gch ; *_gch.gch
第一个是页面显示内容,第二个是javascript第三个是后台处理.
前两个做局部修改比较容易,但限于也面的局部调整,第三个才真正涉及配置内容的读写
*_save()涵数涉及底层接口,没有资料比较难改.
所以,通过此法打开隐藏功能没太大问题,但要增加新功能还是有难度的.关键是不知下层
到底有那些支持.

etcz 发表于 2008-12-10 21:41:14

感谢大大。。。。。。。。。

hua519 发表于 2009-6-21 13:53:02

使用那个连接开启“FTP使能”后,FTP是可以用了,但是不能设置一个访问的用户名和密码吗,这也太简单了,如果用在公司里就谁都能找开了,有没有办法设置个密码啊?

01z8z0 发表于 2009-9-25 17:07:43

我们如何打包阿?
页: [1] 2
查看完整版本: 中兴H608B猫,html.mz文件内ftp结构探讨!!