2019 թվականն էր։ Մեր լաբորատորիան ստացավ QUANTUM FIREBALL Plus KA սկավառակ՝ 9.1 ԳԲ տարողությամբ, ինչը այնքան էլ տարածված չէ մեր ժամանակներում։ Ըստ սկավառակի սեփականատիրոջ՝ խափանումը տեղի է ունեցել դեռևս 2004 թվականին՝ սնուցման ձախողման պատճառով, որն իր հետ տարել է կոշտ սկավառակը և համակարգչի այլ բաղադրիչներ։ Այնուհետև եղել են այցելություններ տարբեր ծառայություններ՝ սկավառակը վերանորոգելու և տվյալները վերականգնելու փորձերով, որոնք անհաջող են եղել։ Որոշ դեպքերում նրանք խոստանում էին, որ դա էժան կլինի, բայց երբեք խնդիրը չլուծեցին, որոշ դեպքերում դա չափազանց թանկ էր, և հաճախորդը չէր ցանկանում վերականգնել տվյալները, բայց ի վերջո սկավառակը անցավ բազմաթիվ սպասարկման կենտրոններով: Այն մի քանի անգամ կորել է, բայց շնորհիվ այն բանի, որ սեփականատերը նախապես հոգացել է սկավառակի վրա տարբեր սթիքերներից տեղեկատվությունը ձայնագրելու մասին, նրան հաջողվել է ապահովել, որ իր կոշտ սկավառակը վերադարձվի որոշ սպասարկման կենտրոններից։ Քայլերն առանց հետքի չանցան, զոդման բազմաթիվ հետքեր մնացին սկզբնական կարգավորիչի տախտակի վրա, և տեսողականորեն զգացվեց նաև SMD տարրերի բացակայությունը (առաջ նայելով, ասեմ, որ սա այս սկավառակի ամենաքիչ խնդիրն է):
Բրինձ. 1 HDD Quantum Fireball Plus KA 9,1 ԳԲ
Առաջին բանը, որ մենք պետք է անեինք, դոնորների արխիվում փնտրելն էր այս դրայվի նման հնագույն երկվորյակ եղբորը` աշխատող կարգավորիչ տախտակով: Երբ այս որոնումն ավարտվեց, հնարավոր դարձավ լայնածավալ ախտորոշիչ միջոցառումներ իրականացնել։ Շարժիչի ոլորունները կարճ միացման համար ստուգելուց և համոզվելուց հետո, որ կարճ միացում չկա, մենք տեղադրում ենք տախտակը դոնորային շարժիչից մինչև հիվանդի շարժիչ: Մենք հոսանք ենք կիրառում և լսում ենք լիսեռի սովորական ձայնը, որը պտտվում է վերև, անցնում է ստուգաչափման թեստ՝ բեռնելով որոնվածը, և մի քանի վայրկյան անց սկավառակը գրանցումների միջոցով հայտնում է, որ պատրաստ է արձագանքել ինտերֆեյսի հրամաններին:
Բրինձ. 2 DRD DSC ցուցիչները ցույց են տալիս հրամաններ ստանալու պատրաստակամությունը:
Մենք կրկնօրինակում ենք որոնվածի մոդուլների բոլոր պատճենները: Մենք ստուգում ենք որոնվածի մոդուլների ամբողջականությունը: Մոդուլների ընթերցման հետ կապված խնդիրներ չկան, սակայն հաշվետվությունների վերլուծությունը ցույց է տալիս, որ կան տարօրինակություններ:
Բրինձ. 3. Գոտու աղյուսակ.
Ուշադրություն ենք դարձնում գոտիական բաշխման աղյուսակին և նշում, որ բալոնների թիվը 13845 է։
Բրինձ. 4 P-ցուցակ (առաջնային ցուցակ – արտադրական ցիկլի ընթացքում ներկայացված թերությունների ցանկ):
Մենք ուշադրություն ենք հրավիրում թերությունների չափազանց փոքր քանակի և դրանց գտնվելու վայրի վրա: Մենք նայում ենք գործարանային թերության թաքցման մատյան մոդուլին (60ժ) և գտնում ենք, որ այն դատարկ է և չի պարունակում մեկ գրառում: Ելնելով դրանից՝ կարելի է ենթադրել, որ նախորդ սպասարկման կենտրոններից մեկում հնարավոր է, որ որոշ մանիպուլյացիաներ արվել են սկավառակի սպասարկման տարածքի հետ, և պատահաբար կամ միտումնավոր գրվել է օտար մոդուլ կամ բնօրինակի թերությունների ցանկը։ մեկը մաքրվել է. Այս ենթադրությունը ստուգելու համար մենք Data Extractor-ում առաջադրանք ենք ստեղծում՝ «ստեղծել հատված առ հատված պատճեն» և «ստեղծել վիրտուալ թարգմանիչ» տարբերակները միացված են:
Բրինձ. 5 Առաջադրանքի պարամետրեր:
Առաջադրանքը ստեղծելուց հետո մենք դիտում ենք բաժանման աղյուսակի գրառումները զրո հատվածում (LBA 0)
Բրինձ. 6 Հիմնական boot record և partition աղյուսակ:
0x1BE օֆսեթում կա մեկ մուտք (16 բայթ): Բաժանման վրա ֆայլային համակարգի տեսակը NTFS է, տեղաշարժված է 0x3F (63) հատվածների սկզբին, բաժանման չափը 0x011309A3 (18) հատվածներ:
Ոլորտի խմբագրում բացեք LBA 63-ը:
Բրինձ. 7 NTFS բեռնման հատված
Համաձայն NTFS բաժանման բեռնման հատվածի տեղեկատվության՝ կարող ենք ասել հետևյալը. ծավալում ընդունված հատվածի չափը 512 բայթ է (0x0 (0) բառը գրված է 0200x512B օֆսեթով), կլաստերի հատվածների թիվը՝ 8 (0x0 բայթը գրված է օֆսեթով 0x08D), կլաստերի չափը 512x8=4096 բայթ է, առաջին MFT գրառումը գտնվում է սկավառակի սկզբից 6 հատվածի օֆսեթում (291x519 քառապատիկ բառ 0x30 օֆսեթում: 0 00C 00 00 (00) առաջին MFT կլաստերի համարը: Ոլորտի համարը հաշվարկվում է բանաձևով` Կլաստերի համարը * կլաստերի հատվածների թիվը + 00 հատվածի սկզբին հաշվանցել 0+00= 00):
Անցնենք 6 հատվածին։
Բրինձ. 8
Բայց այս հատվածում պարունակվող տվյալները բոլորովին տարբերվում են MFT ռեկորդից։ Թեև սա վկայում է սխալների սխալ ցուցակի պատճառով հնարավոր սխալ թարգմանության մասին, այն չի ապացուցում այս փաստը: Հետագա ստուգման համար մենք կկարդանք սկավառակը 10 հատվածով երկու ուղղություններով 000 հատվածների համեմատ: Եվ հետո մենք կփնտրենք կանոնավոր արտահայտություններ մեր կարդացածի մեջ:
Բրինձ. 9 Առաջին MFT ձայնագրությունը
6 հատվածում մենք գտնում ենք առաջին MFT ռեկորդը: Նրա դիրքը հաշվարկվածից տարբերվում է 291 հատվածով, և այնուհետև շարունակաբար հետևում է 551 գրառումներից բաղկացած խումբ (32-ից մինչև 16): Հերթափոխային աղյուսակում մուտքագրենք 0 հատվածի դիրքը և առաջ շարժվենք 15 հատվածով։
Բրինձ. 10
Թիվ 16 ռեկորդի դիրքը պետք է լինի 12 օֆսեթում, սակայն MFT ռեկորդի փոխարեն այնտեղ գտնում ենք զրոներ: Նմանատիպ խուզարկություն կատարենք հարակից տարածքում։
Բրինձ. 11 MFT մուտք 0x00000011 (17)
Հայտնաբերվել է MFT-ի մեծ բեկոր՝ սկսած 17 ռեկորդից՝ 53 գրառում երկարությամբ)՝ 646 հատվածի տեղաշարժով։ 17 դիրքի համար հերթափոխի աղյուսակում դրեք +12 հատվածի տեղաշարժ:
Որոշելով MFT բեկորների դիրքը տարածության մեջ՝ մենք կարող ենք եզրակացնել, որ դա նման չէ պատահական ձախողման և MFT բեկորների սխալ հաշվանցումների գրանցման: Սխալ թարգմանիչով տարբերակը կարելի է համարել հաստատված։
Շարժման կետերը հետագայում տեղայնացնելու համար մենք կսահմանենք հնարավոր առավելագույն տեղաշարժը: Դա անելու համար մենք որոշում ենք, թե որքանով է տեղաշարժված NTFS բաժանման վերջի նշիչը (բեռնման հատվածի պատճենը): Նկար 7-ում, 0x28 օֆսեթում, քառաբառը 0x00 00 00 00 01 13 09 A2 (18) հատվածների բաժանման չափի արժեքն է: Եկեք դիսկի սկզբից բուն բաժանման օֆսեթը ավելացնենք նրա երկարությանը, և կստանանք վերջի NTFS մարկերի օֆսեթը 024 + 866= 18: Ինչպես և սպասվում էր, boot սեկտորի պահանջվող պատճենը չկար: Շրջակա տարածքը որոնելիս այն հայտնաբերվել է +024 հատվածների աճող տեղաշարժով վերջին MFT հատվածի համեմատ:
Բրինձ. 12 NTFS բեռնման հատվածի պատճենը
Մենք անտեսում ենք բեռնման հատվածի մյուս պատճենը 18 օֆսեթով, քանի որ այն կապված չէ մեր բաժանման հետ: Նախորդ գործողությունների հիման վրա պարզվել է, որ բաժնում ներառված են հեռարձակման մեջ «հայտնված» 041 հատվածներ, որոնք ընդլայնել են տվյալները։
Մենք կատարում ենք սկավառակի ամբողջական ընթերցում, որը թողնում է 34 չկարդացված հատված: Ցավոք, անհնար է հուսալիորեն երաշխավորել, որ դրանք բոլորը P-ցուցակից հանված թերություններ են, բայց հետագա վերլուծության ժամանակ խորհուրդ է տրվում հաշվի առնել նրանց դիրքորոշումը, քանի որ որոշ դեպքերում հնարավոր կլինի հուսալիորեն որոշել հերթափոխի կետերը: հատվածի ճշգրտությունը, և ոչ թե ֆայլը:
Բրինձ. 13 Սկավառակի ընթերցման վիճակագրություն:
Մեր հաջորդ խնդիրն է լինելու հաստատել տեղաշարժերի մոտավոր վայրերը (այն ֆայլի ճշգրտությամբ, որտեղ դրանք տեղի են ունեցել): Դա անելու համար մենք կսկանավորենք բոլոր MFT գրառումները և կկառուցենք ֆայլերի տեղակայման շղթաներ (ֆայլի բեկորներ):
Բրինձ. 14 Ֆայլերի կամ դրանց բեկորների տեղակայման շղթաներ:
Հաջորդը, ֆայլից ֆայլ շարժվելով, մենք փնտրում ենք այն պահը, երբ ակնկալվող ֆայլի վերնագրի փոխարեն կլինեն այլ տվյալներ, և ցանկալի վերնագիրը կգտնվի որոշակի դրական տեղաշարժով: Եվ երբ մենք ճշգրտում ենք հերթափոխի կետերը, մենք լրացնում ենք աղյուսակը: Այն լրացնելու արդյունքը կլինի ֆայլերի ավելի քան 99% առանց վնասների:
Բրինձ. 15 Օգտվողի ֆայլերի ցանկ (այս սքրինշոթը հրապարակելու համար հաճախորդից համաձայնություն է ստացվել)
Առանձին ֆայլերում կետային տեղաշարժեր հաստատելու համար կարող եք լրացուցիչ աշխատանք կատարել և, եթե գիտեք ֆայլի կառուցվածքը, գտնել ընդգրկումներ, որոնք կապված չեն դրա հետ: Բայց այս առաջադրանքում դա տնտեսապես իրագործելի չէր։
Հ.Գ. Ուզում եմ դիմել նաև իմ գործընկերներին, որոնց ձեռքում էր նախկինում այս սկավառակը։ Խնդրում ենք զգույշ եղեք սարքի որոնվածի հետ աշխատելիս և պահեստավորեք ծառայության տվյալները՝ նախքան որևէ բան փոխելը, և միտումնավոր մի խորացրեք խնդիրը, եթե չկարողացաք հաճախորդի հետ համաձայնության գալ աշխատանքի վերաբերյալ:
Source: www.habr.com