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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 手工(代碼)分析硬盤(pán)分區(qū)表 .txt

?? 會(huì)變語(yǔ)言實(shí)現(xiàn)的一些程序
?? TXT
字號(hào):
手工(代碼)分析硬盤(pán)分區(qū)表 
    作者:wp231957 于2007-11-16上傳   

--------------------------------------------------------------------------------

By wp231957

一、WINHEX軟件
    如果你對(duì)硬盤(pán)分區(qū)表不熟悉,建議你下載一個(gè)WINHEX的軟件,利用它來(lái)輔助理解本文(本人實(shí)際上就是這么做的,一邊看書(shū),一邊打開(kāi)WINHEX,一邊調(diào)試程序)。在使用WINHEX時(shí),有一點(diǎn)需要注意一下,我們看到的最小單元就是一個(gè)BYTE,連續(xù)4個(gè)單元就是1個(gè)DWORD,不過(guò)它是倒著顯示的,也就是說(shuō)我們看到的A1B2C3D4這是一個(gè)DWORD數(shù)據(jù),那么它實(shí)際上等于D4C3B2A1H。(參考1)



二、硬盤(pán)數(shù)據(jù)存儲(chǔ)區(qū)域
    對(duì)于FAT文件系統(tǒng)(NTFS及其他文件系統(tǒng)不在本文討論的范圍內(nèi))硬盤(pán)上數(shù)據(jù)大致可以分為MBR DBR FAT DIR DATA五個(gè)區(qū)域,本文只討論MBR區(qū)。MBR區(qū)又稱(chēng)為主引導(dǎo)記錄區(qū),位于整個(gè)硬盤(pán)的0磁道 0柱面 1扇區(qū),一共512個(gè)字節(jié),其實(shí)MBR一共占用63個(gè)扇區(qū),不過(guò)通常只使用第一個(gè)扇區(qū)而已。其中,前446個(gè)字節(jié)為引導(dǎo)程序,隨后的64個(gè)字節(jié)為硬盤(pán)分區(qū)表,每個(gè)分區(qū)表描述信息占位16個(gè)字節(jié),一共可以描述4個(gè)分區(qū),最后2個(gè)字節(jié)為55H AAH 是分區(qū)有效結(jié)束標(biāo)志。關(guān)于引導(dǎo)程序我們PASS略過(guò),主要介紹隨后的分區(qū)表信息,它們每16個(gè)字節(jié)的各個(gè)字節(jié)表述含義都是一樣的。



三、關(guān)于分區(qū)數(shù)大于4
    很多情況下,我們的分區(qū)數(shù)目不止于四個(gè),但MBR中最多只能容納四個(gè),為此MS引入了虛擬MBR的概念,所謂虛擬MBR就是在硬盤(pán)分區(qū)表的后面還有很多和主引導(dǎo)扇區(qū)一樣的扇區(qū)(具體個(gè)數(shù)取決于你硬盤(pán)分區(qū)的數(shù)量),此虛擬MBR占位512個(gè)字節(jié),只不過(guò)它的引導(dǎo)程序沒(méi)有任何意義,一般為全0填充,它的分區(qū)表信息也只有2項(xiàng)(各個(gè)字節(jié)含義同主引導(dǎo)扇區(qū)),第一個(gè)部分描述本分區(qū)信息,第二個(gè)部分描述的是下一個(gè)分區(qū)的信息。如果下一個(gè)分區(qū)的信息為全0 則表示分區(qū)結(jié)束。通常情況下,主引導(dǎo)扇區(qū)的4個(gè)分區(qū)也不是全都使用的,第一個(gè)為引導(dǎo)區(qū)(通常的C盤(pán)),第2個(gè)為擴(kuò)展分區(qū),順著這個(gè)鏈就可以一直找出所有的分區(qū)。

四、關(guān)于硬盤(pán)邏輯鎖
    由于系統(tǒng)啟動(dòng)時(shí),是需要掃描這個(gè)分區(qū)鏈的,正常這個(gè)分區(qū)鏈?zhǔn)情_(kāi)鏈,也就是有開(kāi)始有結(jié)束(全0結(jié)束)。但是如果認(rèn)為的將這個(gè)分區(qū)鏈變成一個(gè)閉合的鏈,那勢(shì)必將引導(dǎo)程序陷入一個(gè)死循環(huán),引導(dǎo)程序如果不能找到全0的分區(qū)結(jié)束標(biāo)志,那么它就會(huì)一直再這個(gè)鏈上跑,并不會(huì)啟動(dòng)系統(tǒng),這就是所謂的硬盤(pán)邏輯鎖的產(chǎn)生原因。(需要注意的是,這個(gè)動(dòng)作和操作系統(tǒng)有關(guān)系。比如老的DOS系統(tǒng)中有這個(gè)掃描動(dòng)作,因此可以根據(jù)這個(gè)原理制作“硬盤(pán)鎖”。)
好了,講到這里,我們借助于WINHEX,隨便打開(kāi)一個(gè)物理硬盤(pán)(參考2),我們順著這個(gè)分區(qū)鏈就可以找出全部的分區(qū)了,并能了解該分區(qū)的一些基本信息,比如起始扇區(qū),分區(qū)類(lèi)型,分區(qū)大小等等,下面我們使用ASM代碼來(lái)描述一下如何掃描這個(gè)鏈表。為了保持程序的完整性和可讀性,不再有講解性內(nèi)容,而是以注釋的形式進(jìn)行講解。

;#Mode=CON
.586
.Model Flat, StdCall
Option Casemap :None
Include windows.inc
Include user32.inc
Include kernel32.inc
include fpu.inc
include gdi32.inc
include masm32.inc

includelib masm32.lib
includelib gdi32.lib
IncludeLib user32.lib
IncludeLib kernel32.lib
includelib fpu.lib
include macro.asm

.data
  diskname db '\\.\PHYSICALDRIVE0',0
  ctitle   db '分區(qū)號(hào)  分區(qū)首地址(扇區(qū))   分區(qū)容量(MB)',0
  cline    db '=======================================',0
  cspace   db '                 ',0
  _13  db 13,0
  _10  db 10,0
.data?
  iobuffer    db 512 dup(?)
  strbuffer   db 512 dup(?)
  fqhbuf      db 128 dup (?)
  fqaddr      db 128 dup (?)
  vmbrbuf     db 128 dup (?)
  hdisk       dd ?
  dwbytesread dd ?
  nextp dd ?
  vmbrsec dd ?
  vmbr dq ?
  vmbr2 dq ?
  fqh   dd ?
.const
  _2048 dd 2048
.CODE
START:
  mov fqh,1
  invoke StdOut,offset ctitle
  invoke StdOut,offset _13
  invoke StdOut,offset _10
  invoke StdOut,offset cline
  invoke StdOut,offset _13
  invoke StdOut,offset _10
  invoke CreateFile,addr diskname,GENERIC_READ or GENERIC_WRITE ,\
              FILE_SHARE_READ or FILE_SHARE_WRITE ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
  mov hdisk,eax 
  invoke SetFilePointer,hdisk,0,NULL,FILE_BEGIN
  invoke ReadFile,hdisk,addr iobuffer,512,addr dwbytesread,0   
;讀取MBR區(qū)(0扇區(qū))
  mov esi,offset iobuffer   
;0扇區(qū)所有的數(shù)據(jù)都在iobuffer里,我們主要操作緩沖區(qū)
  xor ebx,ebx
  .while ebx<4               
;MBR區(qū)只能有4個(gè)主引導(dǎo)區(qū),所以我們循環(huán)4次就可以了
    .if ebx>0 
      add esi,16             ;每個(gè)主分區(qū)信息占16個(gè)字節(jié),這里對(duì)下面—>
    .endif                   ;|——————————————————>
    mov eax,[esi+450]       ;—>[ESI+450]能否正確尋址,至關(guān)重要
    .if al==11 || al==12 || al==07  ;11也就是0BH ,0cH表示FAT32 07表示NTFS分區(qū)
      finit
      fild DWORD ptr[esi+458]
      fild _2048
      fdiv                    ;除以2048后,轉(zhuǎn)換為MB單位
      invoke FpuFLtoA,0,2,addr strbuffer,SRC1_FPU OR SRC2_DIMM OR STR_REG   ;調(diào)用浮點(diǎn)函數(shù)庫(kù)轉(zhuǎn)換浮點(diǎn)到字符
                                                                            ;需要引用庫(kù)includelib fpu.lib include fpu.inc
      invoke wsprintf,addr fqaddr,CTEXT('%8X'),DWORD PTR [ESI+454]
      invoke wsprintf,addr fqhbuf,CTEXT('%4d'),fqh
      invoke StdOut,offset fqhbuf
      invoke StdOut,offset fqaddr
      invoke StdOut,offset cspace
      invoke StdOut,offset strbuffer                        
      invoke StdOut,offset _13
      invoke StdOut,offset _10
      inc fqh
    .endif
    .if al==15 || al==05     ;15 or 05也就是0FH(05H) 表示擴(kuò)展分區(qū)
      mov eax,[esi+454]      
;這里取VMBR地址鏈的首地址(虛擬MBR的基地址,這2種叫法都是我自己叫的
;別人不知道正是的中文翻譯是什么)
      mov vmbrsec,eax     ;保存VMBR首地址,因?yàn)橄旅嬉?jì)算和輸出這個(gè)地址
      xor edx,edx
      shld edx,eax,9           
      shl eax,9               
;對(duì)VMBR地址進(jìn)行*512的計(jì)算,因?yàn)榻Y(jié)果大于32位,
;所以以下代碼段引進(jìn)了64位的計(jì)算 
      mov DWORD ptr vmbr,eax
      mov DWORD ptr vmbr+4,edx
      invoke SetFilePointer,hdisk,DWORD ptr vmbr,addr DWORD ptr vmbr+4,FILE_BEGIN  ;設(shè)置文件指針,因?yàn)樯婕暗?4位,請(qǐng)注意
                                                                                   ;該函數(shù)的第3個(gè)參數(shù),一定是64位中高32位
                                                                                   ;的值的指針
      invoke ReadFile,hdisk,addr iobuffer,512,addr dwbytesread,0
      jmp localsector  ;轉(zhuǎn)到掃描擴(kuò)展分區(qū)鏈的處理程序段
    .endif
    inc ebx
  .endw
localsector:         ;擴(kuò)展分區(qū)鏈處理
  .repeat
     mov esi,offset iobuffer
     finit
     fild DWORD ptr[esi+458]   ;取分區(qū)容量,單位扇區(qū)
     fild _2048
     fdiv
     invoke FpuFLtoA,0,2,addr strbuffer,SRC1_FPU OR SRC2_DIMM OR STR_REG
     mov eax,DWORD ptr [esi+470] ;
     add eax,63                  ;
     add eax,vmbrsec             ;VMBR表首地址+63后是分區(qū)的首地址
     invoke wsprintf,addr fqaddr,CTEXT('%8X'),eax
     invoke wsprintf,addr fqhbuf,CTEXT('%4d'),fqh
     invoke StdOut,offset fqhbuf
     invoke StdOut,offset fqaddr
     invoke StdOut,offset cspace
     invoke StdOut,offset strbuffer
     invoke StdOut,offset _13
     invoke StdOut,offset _10
     mov eax,DWORD ptr [esi+470];取下一個(gè)分區(qū)的VMBR的指針 
     mov nextp,eax              
;保存,以備循環(huán)終止條件使用,這個(gè)指針為0時(shí),則擴(kuò)展分區(qū)掃描結(jié)束
     push eax
     pop eax
     xor edx,edx
     shld edx,eax,9
     shl eax,9                  ;EAX*512 乘積放在EDX:EAX中 
     add eax,DWORD ptr vmbr
     adc edx,DWORD ptr vmbr+4   
;2個(gè)DQ型數(shù)據(jù)相加,表示下一個(gè)分區(qū)的指針(NEXTP*512+VMBR)
     mov DWORD  ptr vmbr2,eax    
     mov DWORD  ptr vmbr2+4,edx  ;新指針保存另一個(gè)變量中,以備下面調(diào)用
                                      ;這里絕對(duì)不能更改VMBR的值
     .break .if nextp == 0
     invoke SetFilePointer,hdisk,DWORD ptr vmbr2,addr DWORD ptr vmbr2+4,FILE_BEGIN   ;注意這里指針是VMBR2了
     invoke ReadFile,hdisk,addr iobuffer,512,addr dwbytesread,0
     inc fqh         ;分區(qū)號(hào)自增1
  .until nextp==0;如果NEXTP=0 表示分區(qū)結(jié)束,就是再也沒(méi)有分區(qū)了,程序結(jié)束
  ret
 
end START 

運(yùn)行結(jié)果:



參考:

    1.“big endian和little endian是CPU處理多字節(jié)數(shù)的不同方式。例如“漢”字的Unicode編碼是6C49。那么寫(xiě)到文件里時(shí),究竟是將6C寫(xiě)在前面,還是將49寫(xiě)在前面?如果將6C寫(xiě)在前面,就是big endian。還是將49寫(xiě)在前面,就是little endian。“endian”這個(gè)詞出自《格列佛游記》。小人國(guó)的內(nèi)戰(zhàn)就源于吃雞蛋時(shí)是究竟從大頭(Big-Endian)敲開(kāi)還是從小頭(Little-Endian)敲開(kāi),由此曾發(fā)生過(guò)六次叛亂,其中一個(gè)皇帝送了命,另一個(gè)丟了王位。
  我們一般將endian翻譯成“字節(jié)序”,將big endian和little endian稱(chēng)作“大尾”和“小尾”。
    Intel處理器采用的是“小尾”方式。http://blog.tianya.cn/blogger/post_show.asp?BlogID=182860&PostID=2114034

    2:WinHex默認(rèn)啟動(dòng)時(shí)彈出打開(kāi)向?qū)В绻麤](méi)有的話,可以從 tools 菜單中打開(kāi)。


 
 


--------------------------------------------------------------------------------
<<<上一篇  歡迎訪問(wèn)AoGo匯編小站:http://www.aogosoft.com 下一篇>>>  

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频在线免费观看| 久久久久国色av免费看影院| 精品国产一区二区三区久久影院| 国产女主播在线一区二区| 亚洲高清中文字幕| 成人免费av网站| 久久综合99re88久久爱| 日韩高清不卡在线| 国产精品夜夜嗨| 精品国产一区二区精华| 日韩精品电影在线观看| 色天使色偷偷av一区二区| 国产日韩欧美麻豆| 精品在线播放免费| 欧美日本在线播放| 亚洲一区二区美女| 91久久免费观看| 亚洲欧美自拍偷拍色图| 懂色av中文一区二区三区| 久久久影视传媒| 久久电影国产免费久久电影| 5月丁香婷婷综合| 日韩在线播放一区二区| 精品1区2区3区| 一区二区三区中文在线观看| 99re热这里只有精品视频| 国产色综合一区| 国产不卡视频一区| 国产日韩欧美高清在线| 国产成人精品免费在线| 中文字幕av一区二区三区| 国产成人在线免费| 国产三级精品视频| 成人免费视频app| 中文字幕在线观看不卡| 91丨porny丨最新| 亚洲宅男天堂在线观看无病毒| 色婷婷av一区二区三区软件| 亚洲综合一区二区三区| 欧美区一区二区三区| 免费观看久久久4p| 久久影院视频免费| 不卡电影一区二区三区| 亚洲免费观看在线观看| 欧美三级三级三级爽爽爽| 热久久久久久久| 久久理论电影网| av亚洲精华国产精华精华| 亚洲欧美日韩中文字幕一区二区三区| av在线这里只有精品| 亚洲综合色噜噜狠狠| 欧美性色aⅴ视频一区日韩精品| 婷婷国产v国产偷v亚洲高清| 精品国产免费视频| 成人高清视频在线观看| 亚洲一级电影视频| 精品免费视频.| 99国产精品久久久久久久久久| 一区二区三区蜜桃| 欧美大白屁股肥臀xxxxxx| 大胆欧美人体老妇| 亚洲一区日韩精品中文字幕| 日韩一区二区三区高清免费看看| 精品亚洲aⅴ乱码一区二区三区| 久久久久久综合| 一本久久综合亚洲鲁鲁五月天| 午夜私人影院久久久久| 国产视频一区在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 日韩亚洲欧美在线观看| 国产精品一区一区| 一二三区精品福利视频| 1000部国产精品成人观看| 欧美日韩久久一区| 国产高清不卡一区| 日韩中文字幕1| 亚洲人成影院在线观看| 久久综合狠狠综合久久综合88| 一本到一区二区三区| 久久99精品一区二区三区 | 青青青伊人色综合久久| 综合久久久久综合| 久久一区二区三区四区| 欧美日韩高清在线播放| av日韩在线网站| 国产中文一区二区三区| 午夜天堂影视香蕉久久| 亚洲视频精选在线| 国产夜色精品一区二区av| 欧美日韩国产bt| 91黄色在线观看| 成人午夜免费视频| 国产乱码精品一区二区三区五月婷| 亚洲午夜久久久久久久久久久| 国产精品女同互慰在线看| 日韩三区在线观看| 777色狠狠一区二区三区| 91免费观看视频| www.亚洲免费av| 国产suv一区二区三区88区| 久久97超碰色| 美女视频免费一区| 日韩高清欧美激情| 日韩黄色小视频| 天堂va蜜桃一区二区三区漫画版| 亚洲日本欧美天堂| 亚洲日本一区二区| 亚洲男帅同性gay1069| 欧美国产精品一区| 国产精品你懂的| 国产精品久久久久一区二区三区 | 开心九九激情九九欧美日韩精美视频电影 | 99久久久精品| 99久久精品国产毛片| 狠狠色丁香久久婷婷综| 美女爽到高潮91| 久久精品国产免费| 九九精品一区二区| 国产精品一区二区视频| 国产在线日韩欧美| 国产精品一区2区| 国产精品小仙女| 岛国精品在线观看| 99国内精品久久| 91豆麻精品91久久久久久| 精品日韩一区二区三区免费视频| 日韩一区和二区| 精品国产一区久久| 欧美韩国日本综合| 自拍偷拍国产精品| 午夜影视日本亚洲欧洲精品| 视频一区中文字幕国产| 久久精品999| 成人一区二区三区| 91黄色免费版| 日韩欧美一区在线| 国产日韩精品视频一区| 亚洲色图欧洲色图婷婷| 五月激情六月综合| 国产伦精一区二区三区| 9人人澡人人爽人人精品| 欧美日韩亚洲综合| 久久网这里都是精品| 亚洲欧洲日产国产综合网| 亚洲成人动漫在线观看| 国产乱对白刺激视频不卡| av在线播放不卡| 日韩一区二区三区在线观看| 久久女同性恋中文字幕| 一区二区三区精品在线| 麻豆91在线观看| 99精品偷自拍| 日韩三区在线观看| 亚洲视频中文字幕| 奇米影视一区二区三区| 成人精品视频.| 欧美一区二区免费观在线| 综合亚洲深深色噜噜狠狠网站| 亚洲成人免费视| 白白色 亚洲乱淫| 91精品国产综合久久精品性色| 欧美国产日韩a欧美在线观看| 日韩制服丝袜先锋影音| 91在线高清观看| 2023国产精品自拍| 午夜精品国产更新| 色综合中文字幕| 中文字幕欧美日韩一区| 久久99热这里只有精品| 欧美伊人精品成人久久综合97| 久久久久88色偷偷免费| 免费成人在线观看| 日本久久一区二区| 国产欧美日韩亚州综合 | 天天亚洲美女在线视频| 97se亚洲国产综合自在线观| 精品少妇一区二区三区视频免付费| 亚洲色图第一区| 大胆欧美人体老妇| 久久久不卡网国产精品二区| 日韩和欧美一区二区三区| 色婷婷综合在线| 中文字幕在线免费不卡| 国产91富婆露脸刺激对白| 日韩欧美国产午夜精品| 亚洲第一成人在线| 欧美亚洲一区三区| 亚洲免费观看高清完整版在线观看| 国产成人免费9x9x人网站视频| 欧美老女人在线| 亚洲国产欧美在线人成| 色婷婷久久综合| 亚洲欧洲av色图| 91啪九色porn原创视频在线观看| 国产欧美日韩麻豆91| 懂色av噜噜一区二区三区av| 久久精品一区二区| 粉嫩嫩av羞羞动漫久久久 | 首页国产丝袜综合| 欧美日韩一区二区三区在线|