亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 硬盤主引導記錄.txt

?? 會變語言實現(xiàn)的一些程序
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
; 說明:硬盤主引導記錄獨立于操作系統(tǒng),但又和操作系統(tǒng)息息相關(guān)——很多時候它又是由
; 操作系統(tǒng)所提供的工具所生成(例外的情況是您使用了其他的分區(qū)工具,不過它又運行在
; 什么操作系統(tǒng)中呢?;()。
;
; 如果您安裝了Windows 98(我現(xiàn)在暫時不能接觸95下的主引導記錄,總不能用95重裝我的
; 系統(tǒng)吧?)操作系統(tǒng),那您機器上的主引導記錄已經(jīng)與以前的大有不同了,通過下面的分析
; 您一定能對Windows 98為什么要更改主引導記錄有所了解——它已經(jīng)開始支持擴展Int13h
; 了!并且這個主引導記錄的編程技巧更是我們應(yīng)該學習的。
;
; 主引導記錄包括代碼、數(shù)據(jù)兩部分。它在被BIOS中斷Int19h裝入內(nèi)存后獲得控制權(quán)。數(shù)據(jù)
; 部分最重要的當然是分區(qū)表了!徹底熟悉主引導記錄,可以幫助我們了解系統(tǒng)的引導過程,
; 處理因主引導記錄損壞所造成的無法引導故障,消除引導型計算機病毒,更使我們能通過
; 修改主引導記錄完成我們希望的工作:如多重引導,系統(tǒng)加軟鎖等...
;
; BIOS中斷總是把主引導記錄所在扇區(qū)(硬盤的0頭0道1扇區(qū))的內(nèi)容(包括代碼和數(shù)據(jù))
; 裝入內(nèi)存0000:7C00起始的區(qū)域,然后檢驗該扇區(qū)內(nèi)容的最后兩個字節(jié)是不是“AA55”,
; 如果不是,那么對不起,Int19h將不把控制權(quán)交給主引導記錄;若是,則下面的主引導記錄
; 才能獲得了控制權(quán)了(Int19通過跳轉(zhuǎn)指令交轉(zhuǎn)控制權(quán)):
;

; 反匯編結(jié)果
;
; 0000:7C00~0000:7C1A:初始化各個段寄存器、堆棧指針,最后將主引導記錄在內(nèi)存中搬家,騰出其所占內(nèi)
; 存空間以供裝入分區(qū)引導記錄。
0000:7C00 33C0       XOR    AX,AX         ;AX寄存器清0
0000:7C02 8ED0       MOV    SS,AX         ;SS=0
0000:7C04 BC007C     MOV    SP,7C00       ;裝填棧指針——SS:SP=0000:7C00
0000:7C07 FB         STI                  ;開中斷(裝填棧指針時為避免硬件中斷引起棧混亂應(yīng)關(guān)中斷)
0000:7C08 50         PUSH   AX            ;
0000:7C09 07         POP    ES            ;裝填附加數(shù)據(jù)段寄存器ES=0
0000:7C0A 50         PUSH   AX            ;
0000:7C0B 1F         POP    DS            ;裝填數(shù)據(jù)段寄存器DS=0
0000:7C0C FC         CLD                  ;規(guī)定其后的串操作為正向串操作
0000:7C0D BE1B7C     MOV    SI,7C1B       ;源指針
0000:7C10 BF1B06     MOV    DI,061B       ;目的指針
0000:7C13 50         PUSH   AX            ;
0000:7C14 57         PUSH   DI            ;看看0000:7C1A——構(gòu)造一個跳轉(zhuǎn)
0000:7C15 B9E501     MOV    CX,01E5       ;
0000:7C18 F3         REPZ                 ;
0000:7C19 A4         MOVSB                ;0000:7C1B起始的CX字節(jié)傳送至0000:061B起始的區(qū)域
0000:7C1A CB         RETF                 ;跳轉(zhuǎn)到0000:061B(這是一種技巧跳轉(zhuǎn))
; 
; 為直觀起見,下面的地址按實際運行時的地址給出。
; 0000:061B~0000:062B:對分區(qū)表進行初步檢驗,一旦檢測到某分區(qū)表項狀態(tài)字節(jié)大于等于80h,就通過(當
; 然,在此之前如果檢測到某項分區(qū)表的狀態(tài)字節(jié)小于80h,就轉(zhuǎn)錯誤處理。當然,如果四個分區(qū)項的狀態(tài)字節(jié)
; 都為零,主引導記錄就會調(diào)用BIOS-ROM的INT 18h,顯示"PRESS A KEY TO REBOOT"信息等待你的操作。
0000:061B BEBE07     MOV    SI,07BE       ;SI指向第一個分區(qū)表項,這時CX=0
0000:061E B104       MOV    CL,04         ;分區(qū)表共四個表項
0000:0620 382C       CMP    [SI],CH       ;
0000:0622 7C09       JL     062D          ;大于等于80h轉(zhuǎn)[注意JL指令:(SF xor OF)=1則轉(zhuǎn)]
0000:0624 7515       JNZ    063B          ;不為0則[SI]一定小于80h,只能轉(zhuǎn)錯誤處理了!
0000:0626 83C610     ADD    SI,+10        ;為零則檢查下一表項
0000:0629 E2F5       LOOP   0620          ;檢查下一表項
0000:062B CD18       INT    18            ;四表項的狀態(tài)字節(jié)都為0,則系統(tǒng)只好調(diào)用INT 18h了!
; 
; 0000:062D~0000:0639:檢查剩余的分區(qū)表項——狀態(tài)字節(jié)必須為零,否則顯示錯誤信息“分區(qū)表無效”然
; 后當機!拜托,微軟搞錯沒有,怎么用中文提示信息?真TM傻得可愛!
; 這里還有個小BUG,前面放行原則是只要狀態(tài)字節(jié)大于等于80h,那么如果這個字節(jié)是諸如A0h、E5h之類數(shù)值
; 呢?嘿嘿,這個引導記錄統(tǒng)統(tǒng)認為是有效的可引導分區(qū)了!
0000:062D 8B14       MOV    DX,[SI]       ;為讀分區(qū)引導記錄做準備:磁頭號→DH,驅(qū)動器號→DL
0000:062F 8BEE       MOV    BP,SI         ;SI→BP,保存可引導分區(qū)表項的指針
; 
0000:0631 83C610     ADD    SI,+10        ;其余的分區(qū)表項還要檢查檢查的
0000:0634 49         DEC    CX            ;
0000:0635 7416       JZ     064D          ;CX=0則檢查順利通過,轉(zhuǎn)繼續(xù)
0000:0637 382C       CMP    [SI],CH       ;
0000:0639 74F6       JZ     0631          ;為零,是合法表項,再查下一表項
; 
; 0000:063B~0000:064B:執(zhí)行錯誤處理——報告錯誤信息后當機
0000:063B BE1007     MOV    SI,0710       ;錯誤信息字符串偏移+1→SI
0000:063E 4E         DEC    SI            ;SI-1→SI
0000:063F AC         LODSB                ;SI+1→SI
0000:0640 3C00       CMP    AL,00         ;
0000:0642 74FA       JZ     063E          ;AL=0則表明一條錯誤信息顯示完畢,系統(tǒng)陷入一個死循環(huán)
0000:0644 BB0700     MOV    BX,0007       ;字符方式顯示
0000:0647 B40E       MOV    AH,0E         ;
0000:0649 CD10       INT    10            ;以寫電傳方式顯示信息(只顯示一個字符)
0000:064B EBF2       JMP    063F          ;顯示下一個字符,直到遇到提示信息結(jié)束為止
; 
; 0000:064D~0000:0662:判斷可引導分區(qū)的分區(qū)類型,然后轉(zhuǎn)相應(yīng)處理程序。
0000:064D 894625     MOV    [BP+25],AX    ;BP=指向第一個可引導分區(qū)表項的指針,這時AX=0000h
                                          ;使用長度最短的指令將[BP+25]起始的兩個單元清零
                                          ;這兩個單元將被用來存放中間變量
0000:0650 96         XCHG   SI,AX         ;此時SI清零的最佳指令選擇(僅1字節(jié)),將服務(wù)于0000:06B8
0000:0651 8A4604     MOV    AL,[BP+04]    ;取分區(qū)類型(本例是“06”嘍——FAT16主DOS分區(qū))
0000:0654 B406       MOV    AH,06         ;為擴展INT 13h無法使用做好更改分區(qū)類型的準備
0000:0656 3C0E       CMP    AL,0E         ;0Eh:需要用擴展INT 13h訪問的FAT16主DOS分區(qū)
0000:0658 7411       JZ     066B          ;0Eh類型的分區(qū)轉(zhuǎn)066Bh
0000:065A B40B       MOV    AH,0B         ;
0000:065C 3C0C       CMP    AL,0C         ;0Ch:需要用擴展INT 13h訪問的FAT32分區(qū)
0000:065E 7405       JZ     0665          ;0Ch類型的分區(qū)轉(zhuǎn)0665h先行預處理
0000:0660 3AC4       CMP    AL,AH         ;0Bh:用傳統(tǒng)INT 13h就可以訪問的FAT32分區(qū)
0000:0662 752B       JNZ    068F          ;其他類型的分區(qū)轉(zhuǎn)068Fh
; 
; 0000:0664~0000:06A1:根據(jù)分區(qū)類型和分區(qū)表表項內(nèi)容進行讀取分區(qū)引導記錄前的處理工作
0000:0664 40         INC    AX            ;★★★0Bh類型的分區(qū)由此開始處理,此條指令用意是清ZF位
0000:0665 C6462506   MOV    BYTE PTR [BP+25],06 ;★★★0Ch類型的分區(qū)由此開始處理
                                          ;為什么取值06,一時沒有自圓我說的解釋,請耐心幾天吧。
0000:0669 7524       JNZ    068F          ;請注意上面指令對ZF位的影響:0Bh類型分區(qū)轉(zhuǎn),0Ch則不轉(zhuǎn)
; 0000:066B~0000:068C這段代碼僅當分區(qū)類型是0Ch、0Eh才有獲得執(zhí)行的機會
0000:066B BBAA55     MOV    BX,55AA       ;★★★0Eh類型的分區(qū)由此開始處理
0000:066E 50         PUSH   AX            ;
0000:066F B441       MOV    AH,41         ;擴展INT 13h功能,檢測BIOS是否已經(jīng)支持擴展INT13h
0000:0671 CD13       INT    13            ;入口參數(shù):BX=55AAh,DL=驅(qū)動器號,AH=41h
0000:0673 58         POP    AX            ;執(zhí)行完恢復AX為060Eh
0000:0674 7216       JB     068C          ;不支持則轉(zhuǎn)
0000:0676 81FB55AA   CMP    BX,AA55       ;
0000:067A 7510       JNZ    068C          ;擴展INT13h不可用也轉(zhuǎn)
0000:067C F6C101     TEST   CL,01         ;測試擴展盤訪問是否被支持
0000:067F 740B       JZ     068C          ;不支持還轉(zhuǎn)
; 因為擴展INT13h方式讀盤與標準INT13h方式讀盤有很大差別,所以0000:0686處指令修改其后的代碼以保證按
; 照擴展讀方式讀分區(qū)引導扇區(qū)時能正確跳轉(zhuǎn)到相應(yīng)的處理程序中。
0000:0681 8AE0       MOV    AH,AL         ;分區(qū)類型→AH
0000:0683 885624     MOV    [BP+24],DL    ;保存驅(qū)動器號→[BP+24]
0000:0686 C706A106EB1E MOV    WORD PTR [06A1],1EEB ;修改0000:06A1處代碼為"JMP 06C1"
0000:068C 886604     MOV    [BP+04],AH    ;注意:如果擴展INT13h不能使用則A改分區(qū)類型為06,但如果
                                          ;擴展INT13h能使用,則仍保持原分區(qū)類型不變
0000:068F BF0A00     MOV    DI,000A       ;★★★其它類型分區(qū)由此開始處理。此條指令初始化計數(shù)器
0000:0692 B80102     MOV    AX,0201       ;AH:讀操作,AL:讀取1個扇區(qū)的內(nèi)容
0000:0695 8BDC       MOV    BX,SP         ;SP=7C00→BX,指定分區(qū)引導記錄裝入內(nèi)存的位置偏移
0000:0697 33C9       XOR    CX,CX         ;CX清零
0000:0699 83FF05     CMP    DI,+05        ;注意50000:069C 7F03       JG     06A1          ;大于則轉(zhuǎn)去讀由分區(qū)表指定的分區(qū)引導扇區(qū)
0000:069E 8B4E25     MOV    CX,[BP+25]    ;小于則證明所讀分區(qū)表指定的引導扇區(qū)無合法的引導記錄,
                                          ;改按???再讀,畢竟多一種選擇多一次機會嘛!;)
; 以下標有①②者請注意它們的地址都是一樣的,就是說實際運行中只可能是二者之一,但為了分析之方便,我
; 把兩者都列了出來以供對比,閱讀時千萬別看成是兩條指令了啊!
①0000:06A1 034E02     ADD    CX,[BP+02]    ;獲取分區(qū)引導扇區(qū)所在的柱面號和物理扇區(qū)號
②0000:06A1 EB1E       JMP    06C1          ;如果分區(qū)類型是0Ch、0Eh而且擴展讀能使用則執(zhí)行該指令
; 
; 0000:06A4:將可引導分區(qū)的分區(qū)引導記錄裝入內(nèi)存指定區(qū)域

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区免费大片| 欧美中文字幕亚洲一区二区va在线| 中文字幕一区二区5566日韩| 欧美日韩在线播放一区| 国产一区二三区| 亚洲一二三专区| 中文天堂在线一区| 日韩一区二区三区视频| 在线精品视频免费播放| 成人免费毛片片v| 久久成人精品无人区| 亚洲va欧美va人人爽| 国产精品护士白丝一区av| 日韩写真欧美这视频| 欧美视频第二页| 久久精品视频在线免费观看| 91麻豆精品91久久久久久清纯| 99久久精品国产网站| 国产一区二区三区久久久| 日本不卡视频一二三区| 性做久久久久久免费观看| 亚洲精选视频在线| 中文字幕一区二区三区精华液 | 成人免费高清视频| 精品中文字幕一区二区小辣椒| 亚洲成a人片综合在线| 一区二区三区欧美日韩| 综合久久给合久久狠狠狠97色 | 91精品国产综合久久精品麻豆| 在线观看亚洲精品| 色综合久久久久综合体桃花网| 成人激情文学综合网| 国产精品99久久不卡二区| 国产伦精品一区二区三区免费迷 | 日本韩国一区二区三区| 91一区二区在线| 91香蕉视频污在线| 99vv1com这只有精品| 99re这里只有精品6| 白白色亚洲国产精品| 成人动漫av在线| 成人精品电影在线观看| 风间由美一区二区三区在线观看| 国产91丝袜在线播放| 国产91丝袜在线18| 成人av免费在线观看| av高清不卡在线| 在线免费观看日本欧美| 欧美日韩亚洲综合一区 | 欧美电影精品一区二区| 欧美大黄免费观看| 久久日韩粉嫩一区二区三区| 国产欧美一区二区精品秋霞影院| 国产精品女人毛片| 亚洲欧洲综合另类在线| 亚洲国产乱码最新视频| 另类小说综合欧美亚洲| 国产精品一二三四区| 不卡一区二区中文字幕| 在线一区二区三区四区五区| 欧美老肥妇做.爰bbww视频| 欧美mv日韩mv国产网站app| 国产亚洲一区二区在线观看| 自拍偷在线精品自拍偷无码专区| 亚洲国产精品一区二区久久恐怖片 | 黄色日韩网站视频| 成人手机电影网| 欧美亚洲国产一区在线观看网站 | 精品国精品国产| 国产精品久久久久婷婷| 亚洲成人免费视| 激情五月婷婷综合| 国产乱码一区二区三区| 男女视频一区二区| 图片区小说区区亚洲影院| 亚州成人在线电影| 国内一区二区在线| 成人久久久精品乱码一区二区三区| 国产最新精品精品你懂的| 国产麻豆一精品一av一免费| 99久久精品国产一区二区三区 | 日韩视频不卡中文| 欧美变态凌虐bdsm| 久久久亚洲精华液精华液精华液| 久久久三级国产网站| 亚洲综合在线视频| 99精品国产一区二区三区不卡| 色综合天天狠狠| 亚洲一区二区在线播放相泽| 亚洲乱码日产精品bd| 粉嫩绯色av一区二区在线观看| 精品1区2区3区| 粉嫩av一区二区三区粉嫩 | 日韩一区二区在线看| 欧美一区二区在线观看| 欧美日韩一区在线| 久久久久成人黄色影片| 亚洲18色成人| 91精品国产综合久久国产大片| 在线播放欧美女士性生活| 91影视在线播放| 成人黄色国产精品网站大全在线免费观看 | 毛片不卡一区二区| 不卡一区在线观看| 精品国产乱子伦一区| 性做久久久久久免费观看 | 欧美军同video69gay| 国产精品色哟哟| 黄色资源网久久资源365| 欧美男同性恋视频网站| 亚洲欧美日韩中文字幕一区二区三区 | 国产婷婷一区二区| 久久精品国产成人一区二区三区| 日本久久一区二区| 中文字幕中文字幕在线一区| 国产一区二区不卡在线| 欧美一区二区精品在线| 亚洲国产精品久久一线不卡| 99精品一区二区| 中文字幕av不卡| 国产精品主播直播| 亚洲精品一区二区三区蜜桃下载| 亚洲成av人片观看| 欧美日韩中文字幕精品| 亚洲欧洲性图库| 成人手机电影网| 国产精品美女久久久久aⅴ国产馆| 国产精品资源站在线| 国产无人区一区二区三区| 欧美一区二区三级| 欧美a级理论片| 日韩三级av在线播放| 日本中文字幕一区二区视频| 欧美精品99久久久**| 日韩有码一区二区三区| 欧美日韩国产美女| 香蕉av福利精品导航| 欧美欧美欧美欧美| 琪琪一区二区三区| 欧美岛国在线观看| 国产一区二区三区免费播放| 国产亚洲成aⅴ人片在线观看| 久久se精品一区二区| 精品成人在线观看| 成人永久免费视频| 中文字幕中文字幕一区二区 | 欧美精品久久一区二区三区| 日韩1区2区3区| 26uuuu精品一区二区| 懂色av中文字幕一区二区三区 | 国产丝袜美腿一区二区三区| 成人一区在线看| 亚洲欧美国产毛片在线| 91精品国产黑色紧身裤美女| 精品中文av资源站在线观看| 精品sm捆绑视频| 成人污污视频在线观看| 亚洲精品国产视频| 欧美日韩在线播放三区| 精品一区二区在线视频| 国产精品卡一卡二| 欧美日韩中文字幕一区| 精品一区二区三区在线播放视频| 久久精品人人做人人爽97| 成人黄色片在线观看| 亚洲成年人影院| 久久先锋影音av鲁色资源| 在线播放91灌醉迷j高跟美女 | 国产成人精品三级麻豆| 一区二区三区鲁丝不卡| 欧美一区二区免费观在线| 国产精品1区2区3区| 亚洲一区二区中文在线| 精品久久久久久久久久久院品网 | 欧美综合天天夜夜久久| 老司机精品视频一区二区三区| 国产欧美日韩中文久久| 欧美在线啊v一区| 国产精品一区免费视频| 亚洲男人的天堂av| 亚洲精品在线电影| 91久久线看在观草草青青| 麻豆91在线看| 亚洲人成精品久久久久久| 日韩精品中午字幕| 色婷婷av久久久久久久| 老司机一区二区| 亚洲尤物视频在线| 久久久久国产精品麻豆ai换脸 | 大白屁股一区二区视频| 视频在线观看国产精品| 亚洲日本在线天堂| 久久久久国产免费免费| 欧美精三区欧美精三区| 91亚洲资源网| 国产精品1区2区| 六月丁香婷婷久久| 亚洲丰满少妇videoshd| 中文字幕一区av| 久久精品视频在线看|