• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    發現之旅(1):VB最簡單的磁盤直讀的代碼

    發布: 2007-5-25 09:18 | 作者: guoyong_cy | 來源: programfan.com | 查看: 49次 | 進入軟件測試論壇討論

    領測軟件測試網 copy right guoyong_cy (2006)

    精通API的朋友可能都知道CreateFile可以用來打開很多東西,比如說硬盤之類,而且在用它們的時候可能對一大堆函數和參數已經傷透了腦筋。猜想vb自帶的語句"Open"也是由createfile編寫的,但不知道有多少人想到用open 來打開硬盤?。ń涍^網上查找,沒有一句類似的代碼)
    (以下代碼在win2000、Fat16,32文件系統、VisualBasic6.0測試成功,window98肯定不行,其他系統沒試過)
    因為本人一直都用windows98,最近剛裝了個2000,就測試用open來實現邏輯盤直讀(光盤和其他東西也可以,不過有時要出問題)。注:其實這里并不是直接訪問硬盤(win2000等是不允許應用程序這樣做的),還是通過了文件系統,只不過文件和我們通常見到的不同而已。
    其中一代碼基本如下
    dim MyN(511) as byte
    Open "\\.\c:" for binary as #1
    open "\\.\h:" for binary as #2
      do while not eof(1)'實際上這句在這里沒什么用
        get #1,,MyN
        put #2,,MyN
      loop
    close
    請在以上適當位置加上doevents和控制退出的代碼
    其中MyN的長度必須是512的倍數,讀取起始位置必須是512倍數+1(C語言中就是512倍數)
    以上代碼實現將c盤的東西直接讀出并寫到h盤
    (本代碼將把h盤原來數據清空,請小心測試,責任自負)
    對于系統可讀取的盤(已經格式化過了的),用open幾乎可以做任何操作,甚至在win2000下把系統盤(c:)寫掉(請不要用此來搞破壞活動哈)。
    如果寫入的數據都是0,那么該盤將成為“沒格式化的盤”,有點象低格,在這種情況下只要close掉文件,用open將不能再打開,而改用createfile仍然可以操作
    用本語句已經實現恢復格式化前盤上的數據、格式化盤(因為只用open沒法讀取扇區和磁道數,只有自己設定值,而且前提是盤上已經有了FAT)、恢復已刪除的文件、刪除正在運行的程序文件、光盤直讀,相信還可以做其他事,當然做個病毒也可以, 呵呵。有興趣的朋友可以測試一下看能不能打開其他設備。
    本來想用Open做個在win2000下的類似ghost的東西,卻發現支持文件長度只有Long,暈,暫時還沒想到辦法(不過還是用c語言做安全,用這個系統可能要報廢)目前在這方面的處理上我傾向于用open,畢竟用createfile太繁了,還要配合一堆函數和參數,實在沒辦法再考慮它吧!

    本主題取名為“發現之旅”,故希望大家把自己發現特別的代碼發表出來,互相學習!另外這些文章開頭都是VB,只是因為這里人最多,初學者也最多,為了提高大家對編程的興趣,所以在這里發。用其他語言也很容易實現。
    (盤、最簡單、直讀、Open、\\.\、CreateFile、DeviceIoControl、VB格式化盤)

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>