本發(fā)明屬于信息安全及數(shù)據(jù)恢復(fù)領(lǐng)域,涉及西數(shù)硬盤的rom文件中數(shù)據(jù)體壓縮,尤其涉及一種將解壓縮的數(shù)據(jù)體壓縮的方法。
背景技術(shù):
::1、硬盤是高度復(fù)雜尖端的裝置,它結(jié)合了電磁、機(jī)械和電子方面的技術(shù),以非常高的密度存儲(chǔ)信息。硬盤技術(shù)使個(gè)人電腦、電影點(diǎn)播、數(shù)字錄像機(jī)(dvr)和數(shù)字音樂(lè)點(diǎn)唱機(jī)的開發(fā)成為可能,并大大促進(jìn)了數(shù)字相機(jī)和攝像機(jī)的普及。此外,互聯(lián)網(wǎng)上的所有的信息都可以存在硬盤上。2、西數(shù)是數(shù)據(jù)存儲(chǔ)業(yè)的排頭兵,硬盤業(yè)的領(lǐng)頭羊。西數(shù)硬盤的市場(chǎng)占有量也相當(dāng)大。其中,采用marvell一直是主控領(lǐng)域的佼佼者,sata時(shí)代的王者,性能和穩(wěn)定性都很好。而采用marvell主控的西數(shù)硬盤的占有率也很高。3、但是,由于marvell主控的西數(shù)硬盤在出現(xiàn)故障后不能讀寫數(shù)據(jù)。因此,如果不能對(duì)故障硬盤進(jìn)行恢復(fù),則會(huì)造成用戶數(shù)據(jù)的丟失。但要修復(fù)故障硬盤,必須獲取硬盤的rom文件,而rom文件中有效的數(shù)據(jù)部分是管理頭及數(shù)據(jù)體,其中,部分rom文件是加鎖的rom文件,如果不能解鎖,即使獲取到rom文件中管理頭及數(shù)據(jù)體,也不能修復(fù)故障硬盤。4、題為《一種獲取rom文件中管理頭及數(shù)據(jù)體的方法》、申請(qǐng)?zhí)枮?02311580695.0、申請(qǐng)日期為2023年11月24日的發(fā)明申請(qǐng)公開了獲取rom文件中管理頭及數(shù)據(jù)體的方法。但是,在獲取管理頭及數(shù)據(jù)體后,需要對(duì)解壓縮的數(shù)據(jù)體重新進(jìn)行壓縮,否則,就不能更新并重構(gòu)用以修復(fù)故障硬盤所需的rom文件,因而不能恢復(fù)marvell主控的西數(shù)硬盤。5、現(xiàn)有技術(shù)中,針對(duì)marvell主控的西數(shù)硬盤,目前尚無(wú)一種將解壓縮的數(shù)據(jù)體壓縮的方法。技術(shù)實(shí)現(xiàn)思路1、本技術(shù)針對(duì)現(xiàn)有的技術(shù)問(wèn)題,提供一種將解壓縮的數(shù)據(jù)體壓縮的方法,用以修復(fù)故障硬盤所需的rom文件,從而達(dá)到恢復(fù)marvell主控的西數(shù)硬盤的目的。2、本技術(shù)將題為《一種獲取rom文件中管理頭及數(shù)據(jù)體的方法》、申請(qǐng)?zhí)枮?02311580695.0、申請(qǐng)日期為2023年11月24日的發(fā)明申請(qǐng),以及題為《一種獲取西數(shù)marvell硬盤中rom文件的解密數(shù)據(jù)體集合的方法》、申請(qǐng)?zhí)枮?02410475841.1、申請(qǐng)日期為2024年04月19日的發(fā)明申請(qǐng)的全部?jī)?nèi)容通過(guò)引用納入本發(fā)明申請(qǐng)中。3、本技術(shù)所提供的方法包括以下步驟:4、s100:初始化數(shù)據(jù)、設(shè)置數(shù)據(jù)、輸入源數(shù)據(jù)及源數(shù)據(jù)字節(jié)長(zhǎng)度,其中,5、源數(shù)據(jù)是采用獲取西數(shù)marvell硬盤中rom文件的解密數(shù)據(jù)體集合的方法而獲取的數(shù)據(jù);6、初始化數(shù)據(jù)包括:初始化目標(biāo)數(shù)據(jù),目標(biāo)索引作為目標(biāo)數(shù)據(jù)的偏移量并賦初值為0;7、以目標(biāo)索引作為偏移量,以目標(biāo)數(shù)據(jù)的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為源數(shù)據(jù)字節(jié)長(zhǎng)度,目標(biāo)索引自加4;8、初始化數(shù)據(jù)還包括對(duì)如下數(shù)據(jù)初始化:9、數(shù)據(jù)i、數(shù)據(jù)h、數(shù)據(jù)l、數(shù)據(jù)m、數(shù)據(jù)n、數(shù)據(jù)j、數(shù)據(jù)k、數(shù)據(jù)x、10、數(shù)據(jù)y;11、設(shè)置數(shù)據(jù)包括對(duì)如下數(shù)據(jù)設(shè)置:12、數(shù)據(jù)a、數(shù)據(jù)b、數(shù)據(jù)c、數(shù)據(jù)d、數(shù)據(jù)e、數(shù)據(jù)f、數(shù)據(jù)g;13、s200:將源數(shù)據(jù)0x00字節(jié)至0x3c字節(jié)的內(nèi)容,拷貝至起始地址為0xfc4的數(shù)據(jù)d中;14、0x1001加源數(shù)據(jù)0x00字節(jié)的內(nèi)容的和,再乘以4的積,作為偏移量,以數(shù)據(jù)b的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0xfc4;15、以數(shù)據(jù)c的起始地址為首地址,向后偏移0x3f10字節(jié)并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0x1001加源數(shù)據(jù)0x00字節(jié)的內(nèi)容的和;16、s300:判斷數(shù)據(jù)m是否大于數(shù)據(jù)i,如果是,執(zhí)行步驟s400,否則,執(zhí)行步驟s500;17、s400:數(shù)據(jù)i的值賦給數(shù)據(jù)m;18、s500:判斷數(shù)據(jù)m是否大于2,如果是,執(zhí)行步驟s600,否則,執(zhí)行步驟s700;19、s600:采用第一方法且輸入數(shù)據(jù)i-a等于數(shù)據(jù)n,執(zhí)行步驟s800;20、采用第二方法且輸入數(shù)據(jù)ii-a賦值為數(shù)據(jù)m加0xfd;21、s700:以數(shù)據(jù)j作為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并將尋址的1字節(jié)的內(nèi)容賦值給輸入數(shù)據(jù)i-a,再采用第一方法;22、s800:判斷是否滿足數(shù)據(jù)h小于數(shù)據(jù)m且數(shù)據(jù)k大于0,如果是,執(zhí)行步驟s900,否則,執(zhí)行步驟sc00;23、s900:數(shù)據(jù)k自減1;24、以數(shù)據(jù)l作為偏移量,以源數(shù)據(jù)的起始地址為首地址,向后偏移并將尋址的1字節(jié)內(nèi)容賦值給數(shù)據(jù)p;25、以數(shù)據(jù)o作為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并將尋址的1字節(jié)內(nèi)容賦值為數(shù)據(jù)p;26、數(shù)據(jù)l自加1;27、sa00:判斷數(shù)據(jù)o是否小于0x3b,如果是,執(zhí)行步驟sb00,否則,執(zhí)行步驟sc00;28、sb00:以數(shù)據(jù)o加0x1000的和作為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并將尋址的1字節(jié)內(nèi)容賦值為數(shù)據(jù)p;29、數(shù)據(jù)o加1之和,與0xfff進(jìn)行與運(yùn)算,其結(jié)果賦值給數(shù)據(jù)o;30、數(shù)據(jù)j加1之和,與0xfff進(jìn)行與運(yùn)算,其結(jié)果賦值給數(shù)據(jù)j;31、采用第三方法且輸入數(shù)據(jù)iii-a賦值為數(shù)據(jù)j;32、數(shù)據(jù)h自加1;33、sc00:判斷數(shù)據(jù)h是否小于數(shù)據(jù)m,如果是,執(zhí)行步驟sd00,否則,執(zhí)行步驟sh00;34、sd00:數(shù)據(jù)o加1之和,與0xfff進(jìn)行與運(yùn)算,其結(jié)果賦值給數(shù)據(jù)o;35、數(shù)據(jù)j加1之和,與0xfff進(jìn)行與運(yùn)算,其結(jié)果賦值給數(shù)據(jù)j;36、數(shù)據(jù)i自減1;37、se00:判斷數(shù)據(jù)i是否不等于0,如果是,執(zhí)行步驟sf00,否則,執(zhí)行步驟sg00;38、sf00:采用第三方法且輸入數(shù)據(jù)iii-a賦值為數(shù)據(jù)j;39、sg00:數(shù)據(jù)h自加1;40、sh00:判斷數(shù)據(jù)i是否等于0,如果是,執(zhí)行步驟sj00,否則,執(zhí)行步驟s800;41、sj00:判斷數(shù)據(jù)x是否等于0x80000000,如果是,執(zhí)行步驟sl00,否則,執(zhí)行步驟sk00;42、sk00:以目標(biāo)索引為偏移量,以目標(biāo)數(shù)據(jù)的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為數(shù)據(jù)y;43、目標(biāo)索引自加4;44、數(shù)據(jù)x賦值為0x80000000,數(shù)據(jù)y賦值為0;45、sl00:輸出目標(biāo)索引作為壓縮數(shù)據(jù)體的字節(jié)長(zhǎng)度;輸出目標(biāo)數(shù)據(jù)作為壓縮數(shù)據(jù)體。46、優(yōu)選地,初始化數(shù)據(jù)包括如下步驟:47、數(shù)據(jù)i賦值為0x3c;48、數(shù)據(jù)h、數(shù)據(jù)o、數(shù)據(jù)m、數(shù)據(jù)n、數(shù)據(jù)y均賦值為0;49、數(shù)據(jù)l賦值為0x3c;50、數(shù)據(jù)j賦值為0xfc4;51、數(shù)據(jù)k賦值為源數(shù)據(jù)字節(jié)長(zhǎng)度減去0x3c;52、數(shù)據(jù)x賦值為0x80000000。53、優(yōu)選地,設(shè)置數(shù)據(jù)包括以下步驟:54、a.設(shè)置數(shù)據(jù)a,用以生成加密數(shù)據(jù)的輔助運(yùn)算,包括以下步驟:55、a0:下標(biāo)a、下標(biāo)b均賦初值為0;56、a1:以下標(biāo)a乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為1;57、以0x1884加下標(biāo)a的和乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為下標(biāo)a加上0x273的和;58、以0x139c加下標(biāo)a的和乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為下標(biāo)a;59、a2:下標(biāo)a自加1;60、a3:判斷下標(biāo)a是否不等于0x13a,如果是,執(zhí)行步驟a1,否則,執(zhí)行步驟a4;61、a4:下標(biāo)a賦值為0x13a;62、a5:設(shè)置數(shù)據(jù)a:63、以下標(biāo)b乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將獲取尋址的連續(xù)4字節(jié)內(nèi)容作為被加數(shù);64、以下標(biāo)b加1的和再乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將獲取尋址的連續(xù)4字節(jié)內(nèi)容作為加數(shù);65、以下標(biāo)a乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為被加數(shù)加加數(shù)的和;66、以0x1884加下標(biāo)a的和再乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為下標(biāo)b;67、以0x9d0加下標(biāo)b的和再乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為下標(biāo)a;68、以0x9d4加下標(biāo)b的和再乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為下標(biāo)a;69、a6:下標(biāo)a自加1,下標(biāo)b自加2;70、a7:判斷下標(biāo)a是否小于或等于0x272,如果是,執(zhí)行步驟a5,否則,執(zhí)行步驟a8;71、a8:以數(shù)據(jù)a的起始地址為首地址,向后偏移0x9cc字節(jié)并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0x7fffffff;72、以數(shù)據(jù)a的起始地址為首地址,向后偏移0x1398字節(jié)并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0x0;73、輸出數(shù)據(jù)a;74、b.設(shè)置數(shù)據(jù)b,用以生成加密數(shù)據(jù)的輔助運(yùn)算,包括以下步驟:75、b0:下標(biāo)a賦初值為0x1001;76、b1:以下標(biāo)a乘以4的積為偏移量,以數(shù)據(jù)b的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0x1000;77、b2:下標(biāo)a自加1;78、b3:判斷下標(biāo)a是否不等于0x1101,如果是,執(zhí)行步驟a1,否則,結(jié)束數(shù)據(jù)b的設(shè)置流程并輸出數(shù)據(jù)b;79、c.設(shè)置數(shù)據(jù)c,用以生成加密數(shù)據(jù)的輔助運(yùn)算,包括以下步驟:80、c0:下標(biāo)a賦初值為0x0;81、c1:以下標(biāo)a乘以4的積為偏移量,以數(shù)據(jù)c的起始地址為首地址,向后偏移并將尋址的連續(xù)4字節(jié)內(nèi)容賦值為0x1000;82、c2:下標(biāo)a自加1;83、c3:判斷下標(biāo)a是否不等于0x1000,如果是,執(zhí)行步驟c1,否則,結(jié)束數(shù)據(jù)c的設(shè)置流程并輸出數(shù)據(jù)c;84、d.設(shè)置數(shù)據(jù)d,用以臨時(shí)存放數(shù)據(jù),當(dāng)計(jì)算加密數(shù)據(jù)時(shí)從該數(shù)據(jù)中取值,包括以下步驟:85、設(shè)置數(shù)據(jù)d的字節(jié)長(zhǎng)度為0x103c字節(jié),從首地址起連續(xù)填入0xfc4個(gè)0x20;86、e.設(shè)置數(shù)據(jù)f、數(shù)據(jù)g:從pc-3000portable-iii?003396軟件中獲取數(shù)據(jù)f、數(shù)據(jù)g,用以生成加密數(shù)據(jù)的輔助運(yùn)算。87、優(yōu)選地,第一方法包括以下步驟:88、i-1:輸入數(shù)據(jù)并賦初值:89、輸入數(shù)據(jù)i-a,數(shù)據(jù)i-b、數(shù)據(jù)i-c均賦初值為0;90、i-2:以i-a乘以4的積加0x139c的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)4字節(jié)內(nèi)容并賦值給數(shù)據(jù)i-d;91、i-3:數(shù)據(jù)i-b右移1bit位;92、i-4:判斷數(shù)據(jù)i-d與0x01進(jìn)行與運(yùn)算的結(jié)果是否等于0x01,如果是,執(zhí)行步驟i-5,否則,執(zhí)行步驟i-6;93、i-5:數(shù)據(jù)i-b自加0x80000000;94、i-6:數(shù)據(jù)i-c自加1;95、i-7:以i-d乘以4的積加0x9d0的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)4字節(jié)內(nèi)容并賦值給數(shù)據(jù)i-d;96、i-8:判斷數(shù)據(jù)i-d是否等于0x272,如果是,執(zhí)行步驟i-9,否則,執(zhí)行步驟i-7;97、i-9:采用第四方法且輸入數(shù)據(jù)iv-a賦值為數(shù)據(jù)i-d、輸入值數(shù)據(jù)iv-b賦值為數(shù)據(jù)i-b;98、i-a:采用第五方法且輸入數(shù)據(jù)v-a賦值為數(shù)據(jù)i-a。99、優(yōu)選地,第二方法包括以下步驟:100、ii-1:輸入數(shù)據(jù)ii-a;101、ii-2:生成數(shù)據(jù)iv-a:將數(shù)據(jù)ii-a的值右移6bit位所生成的值作為偏移量,以數(shù)據(jù)f的起始地址為首地址,向后偏移并將獲取尋址的1字節(jié)的內(nèi)容賦值給數(shù)據(jù)iv-a;102、ii-3:生成數(shù)據(jù)iv-b:將數(shù)據(jù)ii-a的值右移6bit位所生成的值作為偏移量,以數(shù)據(jù)g的起始地址為首地址,向后偏移并將獲取尋址的1字節(jié)的內(nèi)容,所獲取的1字節(jié)的內(nèi)容左移24bit位所生成的值賦值給數(shù)據(jù)iv-b;103、ii-4:采用當(dāng)前的數(shù)據(jù)iv-a及數(shù)據(jù)iv-b并執(zhí)行第四方法;104、ii-5:再次生成數(shù)據(jù)iv-a:數(shù)據(jù)iv-a賦值為0x06;105、ii-6:再次生成數(shù)據(jù)iv-b:數(shù)據(jù)ii-a與0x3f進(jìn)行與運(yùn)算后的結(jié)果,再左移0x1a?bit位所生成的值,將所生成的值賦值給數(shù)據(jù)iv-b;106、ii-7:采用當(dāng)前的數(shù)據(jù)iv-a及數(shù)據(jù)iv-b,執(zhí)行第四方法。107、優(yōu)選地,第三方法包括以下步驟:108、iii-1:輸入數(shù)據(jù)iii-a;109、iii-2:以數(shù)據(jù)iii-a為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并獲取尋址的1字節(jié)內(nèi)容,所獲取1字節(jié)內(nèi)容加0x1001之和賦值給數(shù)據(jù)iii-b;110、iii-3:數(shù)據(jù)iii-c賦初值為1;111、iii-4:以數(shù)據(jù)iii-a加數(shù)據(jù)iii-c的和為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并獲取尋址的1字節(jié)內(nèi)容并賦值給數(shù)據(jù)iii-d;112、以數(shù)據(jù)iii-b加數(shù)據(jù)iii-c的和為偏移量,以數(shù)據(jù)d的起始地址為首地址,向后偏移并獲取尋址的1字節(jié)內(nèi)容并賦值給數(shù)據(jù)iii-e;113、iii-5:判斷數(shù)據(jù)iii-d是否等于數(shù)據(jù)iii-e,如果是,執(zhí)行步驟iii-6,否則,執(zhí)行步驟iii-8;114、iii-6:數(shù)據(jù)iii-c自加1;115、iii-7:判斷數(shù)據(jù)iii-c是否等于0x3b,如果是,執(zhí)行步驟iii-8,否則,執(zhí)行步驟iii-4;116、iii-8:判斷數(shù)據(jù)iii-d是否等于數(shù)據(jù)iii-e,如果是,執(zhí)行步驟iii-9,否則,執(zhí)行步驟iii-a;117、iii-9:數(shù)據(jù)iii-c賦值為0x3c;118、iii-a:判斷數(shù)據(jù)iii-c是否大于數(shù)據(jù)m,如果是,執(zhí)行步驟iii-b,119、否則,結(jié)束第三方法的流程;120、iii-b:數(shù)據(jù)iii-a減數(shù)據(jù)iii-b的差,與0xfff進(jìn)行與運(yùn)算后的結(jié)果,再減0x01的差,賦值給數(shù)據(jù)n,并將當(dāng)前數(shù)據(jù)iii-c賦值給數(shù)據(jù)m。121、優(yōu)選地,第四方法包括以下步驟:122、iv-1:輸入數(shù)據(jù)iv-a、數(shù)據(jù)iv-b,數(shù)據(jù)iv-c賦值為0x80000000;123、iv-2:數(shù)據(jù)iv-c與數(shù)據(jù)iv-b進(jìn)行與運(yùn)算,判斷與運(yùn)算結(jié)果是否等于0,如果是,執(zhí)行步驟iv-4,否則,執(zhí)行步驟iv-3;124、iv-3:數(shù)據(jù)x與數(shù)據(jù)y進(jìn)行或運(yùn)算的結(jié)果賦值給數(shù)據(jù)y;125、iv-4:數(shù)據(jù)iv-c右移1bit位,數(shù)據(jù)x右移1bit位;126、iv-5:判斷數(shù)據(jù)x是否等于0,如果是,執(zhí)行步驟iv-6,否則,執(zhí)行步驟iv-7;127、iv-6:以目標(biāo)索引為偏移量,以目標(biāo)數(shù)據(jù)的起始地址為首地址,向后偏移并尋址連續(xù)的4字節(jié)內(nèi)容,將所尋址的4字節(jié)內(nèi)容賦值為數(shù)據(jù)y;128、數(shù)據(jù)x賦值為0x80000000,數(shù)據(jù)y賦值為0;129、iv-7:數(shù)據(jù)iv-a自減1;130、iv-8:判斷數(shù)據(jù)iv-a是否等于0,如果是,執(zhí)行步驟iv-9,否則,執(zhí)行步驟iv-2;131、iv-9:結(jié)束第四方法的流程。132、優(yōu)選地,第五方法包括以下步驟:133、v-0:輸入數(shù)據(jù)v-a;134、v-1:以數(shù)據(jù)v-a乘以4的積再加0x139c的和,作為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取連續(xù)的4字節(jié)內(nèi)容,將所獲取的4字節(jié)內(nèi)容賦值給數(shù)據(jù)v-a;135、v-2:以數(shù)據(jù)v-a乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并將連續(xù)的4字節(jié)內(nèi)容加1,并將連續(xù)的4字節(jié)內(nèi)容加1后的結(jié)果賦值給數(shù)據(jù)v-b;136、v-3:以數(shù)據(jù)v-a加1的和再乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;137、v-4:判斷數(shù)據(jù)v-b是否大于步驟v-3所獲取的4字節(jié)內(nèi)容,如果是,執(zhí)行步驟v-5,否則,執(zhí)行步驟v-9;138、v-5:數(shù)據(jù)v-a加2的和賦值給數(shù)據(jù)v-c;139、v-6:以數(shù)據(jù)v-c乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;140、v-7:判斷數(shù)據(jù)v-b是否大于步驟v-6所獲取的4字節(jié)內(nèi)容,如果是,執(zhí)行步驟v-8,否則,執(zhí)行步驟v-9;141、v-8:數(shù)據(jù)v-c自加1,執(zhí)行步驟v-6;142、v-9:數(shù)據(jù)v-c自減1;143、v-a:執(zhí)行第一互換:144、v-a-1:以數(shù)據(jù)v-a乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;145、v-a-2:以數(shù)據(jù)v-c乘以4的積為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;146、v-a-3:針對(duì)數(shù)據(jù)a,將步驟v-a-1及步驟v-a-2所獲取的連續(xù)的4字節(jié)內(nèi)容互換;147、v-b:執(zhí)行第二互換:148、v-b-1:以數(shù)據(jù)v-a乘以4的積再加0x139c的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;149、v-b-2:以數(shù)據(jù)v-c乘以4的積再加0x139c的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;150、v-b-3:針對(duì)數(shù)據(jù)a,將步驟v-b-1及步驟v-b-2所獲取的連續(xù)的4字節(jié)內(nèi)容互換;151、v-c:執(zhí)行第三互換:152、v-c-1:以數(shù)據(jù)v-a乘以4的積再加0x1884的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;153、v-c-2:以數(shù)據(jù)v-c乘以4的積再加0x1884的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容;154、v-c-3:針對(duì)數(shù)據(jù)a,將步驟v-c-1及步驟v-c-2所獲取的連續(xù)的4字節(jié)內(nèi)容互換;155、v-d:將數(shù)據(jù)v-a賦值為數(shù)據(jù)v-c;156、v-e:以數(shù)據(jù)v-a乘以4的積再加0x9d0的和為偏移量,以數(shù)據(jù)a的起始地址為首地址,向后偏移并獲取尋址的連續(xù)的4字節(jié)內(nèi)容,將所獲取的4字節(jié)內(nèi)容賦值給數(shù)據(jù)v-a;157、v-f:判斷數(shù)據(jù)v-a是否不等于0,如果是,執(zhí)行步驟v-2,否則,執(zhí)行步驟v-g;158、v-g:結(jié)束第五方法的流程。159、本發(fā)明具有以下有益效果:160、1、無(wú)需額外的硬件設(shè)備,恢復(fù)故障硬盤的成本低廉。161、2、解決了現(xiàn)有技術(shù)中尚無(wú)一種將解壓縮的數(shù)據(jù)體壓縮的方法的技術(shù)問(wèn)題。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12