Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Արտաքին ինքնագաղտնագրող կրիչներ հետ շրջելը և կոտրելը իմ հին հոբբին է: Նախկինում ես հնարավորություն եմ ունեցել պարապելու այնպիսի մոդելների հետ, ինչպիսիք են Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500: Վերջերս մի գործընկեր ինձ բերեց ևս մեկ ցուցանմուշ՝ Patriot (Aigo) SK8671, որը կառուցված է տիպիկ դիզայնի համաձայն՝ LCD ցուցիչ և PIN կոդ մուտքագրելու ստեղնաշար: Ահա թե ինչից դուրս եկավ…

1. Ներածություն
2. Սարքավորումների ճարտարապետություն
– 2.1. Հիմնական տախտակ
– 2.2. LCD ցուցիչ տախտակ
– 2.3. Ստեղնաշարի տախտակ
– 2.4. Նայելով լարերին
3. Հարձակման քայլերի հաջորդականությունը
- 3.1. Տվյալների աղբանոց վերցնելը SPI ֆլեշ կրիչից
– 3.2. Հրթիռային հաղորդակցություններ

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում


1. Ներածություն

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում
Բնակարանային պայմանները

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում
Упаковка

Սկավառակի վրա պահվող տվյալների մուտքը, որոնք ենթադրաբար կոդավորված են, իրականացվում է PIN կոդը մուտքագրելուց հետո։ Մի քանի ներածական նշում այս սարքի վերաբերյալ.

  • PIN կոդը փոխելու համար դուք պետք է սեղմեք F1 նախքան ապակողպելը;
  • PIN կոդը պետք է պարունակի 6-ից 9 թվանշան;
  • 15 սխալ փորձերից հետո սկավառակը մաքրվում է:

2. Սարքավորումների ճարտարապետություն

Նախ, մենք սարքը բաժանում ենք մասերի, որպեսզի հասկանանք, թե ինչ բաղադրիչներից է այն բաղկացած: Ամենահոգնեցուցիչ գործը գործը բացելն է՝ շատ մանրադիտակային պտուտակներ և պլաստիկ։ Գործը բացելուց հետո մենք տեսնում ենք հետևյալը (ուշադրություն դարձրեք իմ զոդած հինգ փին միակցիչին).

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

2.1. Հիմնական տախտակ

Հիմնական տախտակը բավականին պարզ է.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Դրա ամենաուշագրավ մասերը (տես վերևից ներքև).

  • LCD ցուցիչի միակցիչ (CN1);
  • թվիթեր (SP1);
  • Pm25LD010 (ճշգրտում) SPI ֆլեշ կրիչ (U2);
  • Jmicron JMS539 կարգավորիչ (ճշգրտում) USB-SATA-ի համար (U1);
  • USB 3 միակցիչ (J1):

SPI ֆլեշ կրիչը պահում է JMS539 որոնվածը և որոշ կարգավորումներ:

2.2. LCD ցուցիչ տախտակ

LCD տախտակի վրա ուշագրավ ոչինչ չկա:

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում
Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Միայն.

  • Անհայտ ծագման LCD ցուցիչ (հավանաբար չինական տառատեսակով); հաջորդական հսկողությամբ;
  • Ժապավենի միակցիչ ստեղնաշարի տախտակի համար:

2.3. Ստեղնաշարի տախտակ

Ստեղնաշարի տախտակն ուսումնասիրելիս ամեն ինչ ավելի հետաքրքիր ընթացք է ստանում:

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Այստեղ, հետևի կողմում, մենք տեսնում ենք ժապավենի միակցիչ, ինչպես նաև Cypress CY8C21434 միկրոկառավարիչ PSoC 1 (այսուհետ մենք այն պարզապես կանվանենք PSoC)

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

CY8C21434-ն օգտագործում է M8C հրահանգների հավաքածու (տես փաստաթղթեր). [ապրանքի էջում] ((http://www.cypress.com/part/cy8c21434-24ltxi) նշվում է, որ այն աջակցում է տեխնոլոգիային CapSense (լուծում Cypress-ից, կոնդենսիվ ստեղնաշարերի համար): Այստեղ դուք կարող եք տեսնել հինգ փին միակցիչը, որը ես զոդել եմ. սա ստանդարտ մոտեցում է արտաքին ծրագրավորողին ISSP ինտերֆեյսի միջոցով միացնելու համար:

2.4. Նայելով լարերին

Եկեք պարզենք, թե ինչ է կապված այստեղ: Դա անելու համար պարզապես ստուգեք լարերը մուլտիմետրով.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Ծնկների վրա գծված այս դիագրամի բացատրությունները.

  • PSoC-ը նկարագրված է տեխնիկական բնութագրում.
  • հաջորդ միակցիչը՝ աջ կողմը, ISSP ինտերֆեյսն է, որը ճակատագրի կամքով համապատասխանում է համացանցում դրա մասին գրվածին.
  • Ամենաաջ միակցիչը ժապավենի միակցիչի տերմինալն է ստեղնաշարի տախտակին;
  • Սև ուղղանկյունը CN1 միակցիչի նկարն է, որը նախատեսված է հիմնական տախտակը LCD տախտակին միացնելու համար: P11-ը, P13-ը և P4-ը միացված են PSoC 11, 13 և 4-րդ պինդերին, LCD տախտակի վրա:

3. Հարձակման քայլերի հաջորդականությունը

Այժմ, երբ մենք գիտենք, թե ինչ բաղադրիչներից է բաղկացած այս սկավառակը, մենք պետք է. 1) համոզվենք, որ գաղտնագրման հիմնական գործառույթն իրականում առկա է. 2) պարզել, թե ինչպես են ստեղծվում/պահվում գաղտնագրման բանալիները. 3) պարզել, թե որտեղ է ստուգվելու PIN կոդը:

Դա անելու համար ես կատարեցի հետևյալ քայլերը.

  • վերցրեց տվյալների աղբարկղ SPI ֆլեշ կրիչից;
  • փորձել է տվյալները թափել PSoC ֆլեշ կրիչից.
  • ստուգել է, որ Cypress PSoC-ի և JMS539-ի միջև կապն իրականում պարունակում է ստեղնաշարեր.
  • Ես համոզվեցի, որ գաղտնաբառը փոխելիս SPI ֆլեշ կրիչում ոչինչ չի վերագրվում;
  • չափազանց ծույլ էր 8051 որոնվածը փոխել JMS539-ից:

3.1. Տվյալների աղբանոց վերցնելը SPI ֆլեշ կրիչից

Այս ընթացակարգը շատ պարզ է.

  • միացրեք զոնդերը ֆլեշ կրիչի ոտքերին՝ CLK, MOSI, MISO և (ըստ ցանկության) EN;
  • «sniff» հաղորդակցություն sniffer-ի հետ տրամաբանական անալիզատորի միջոցով (ես օգտագործել եմ Saleae Logic Pro 16);
  • վերծանել SPI արձանագրությունը և արտահանել արդյունքները CSV;
  • օգտվեք decode_spi.rbարդյունքները վերլուծելու և աղբանոց ստանալու համար:

Խնդրում ենք նկատի ունենալ, որ այս մոտեցումը հատկապես լավ է աշխատում JMS539 կարգավորիչի դեպքում, քանի որ այս կարգավորիչը բեռնում է ամբողջ որոնվածը ֆլեշ կրիչից սկզբնավորման փուլում:

$ decode_spi.rb boot_spi1.csv dump
0.039776 : WRITE DISABLE
0.039777 : JEDEC READ ID
0.039784 : ID 0x7f 0x9d 0x21
---------------------
0.039788 : READ @ 0x0
0x12,0x42,0x00,0xd3,0x22,0x00,
[...]
$ ls --size --block-size=1 dump
49152 dump
$ sha1sum dump
3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump

SPI ֆլեշ կրիչից աղբավայր վերցնելով, ես եկա այն եզրակացության, որ դրա միակ խնդիրն է JMicron կառավարման սարքի որոնվածը պահելը, որը ներկառուցված է 8051 միկրոկառավարիչում: Ցավոք սրտի, SPI ֆլեշ կրիչի աղբանոց վերցնելն անօգուտ էր.

  • երբ PIN կոդը փոխվում է, ֆլեշ կրիչի աղբարկղը մնում է նույնը.
  • Նախաստորագրման փուլից հետո սարքը չի մուտք գործում SPI ֆլեշ կրիչ:

3.2. Հրթիռային հաղորդակցություններ

Սա ճանապարհներից մեկն է՝ պարզելու, թե որ չիպն է պատասխանատու հաղորդակցությունները հետաքրքրող ժամանակի/բովանդակության համար: Ինչպես արդեն գիտենք, USB-SATA կարգավորիչը միացված է Cypress PSoC LCD-ին CN1 միակցիչի և երկու ժապավենի միջոցով: Հետևաբար, մենք միացնում ենք զոնդերը երեք համապատասխան ոտքերին.

  • P4, ընդհանուր մուտք/ելք;
  • P11, I2C SCL;
  • P13, I2C SDA:

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Այնուհետև մենք գործարկում ենք Saleae տրամաբանական անալիզատորը և ստեղնաշարի վրա մուտքագրում ենք «123456~»: Արդյունքում մենք տեսնում ենք հետևյալ դիագրամը.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Դրա վրա մենք կարող ենք տեսնել տվյալների փոխանակման երեք ալիք.

  • կան մի քանի կարճ պոռթկումներ P4 ալիքում.
  • P11-ի և P13-ի վրա՝ տվյալների գրեթե շարունակական փոխանակում:

Մեծացնելով P4 ալիքի առաջին հասկը (նախորդ նկարում՝ կապույտ ուղղանկյուն), մենք տեսնում ենք հետևյալը.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Այստեղ դուք կարող եք տեսնել, որ P4-ում կա գրեթե 70 մս միապաղաղ ազդանշան, որն ինձ սկզբում թվաց, որ ժամացույցի ազդանշանի դեր է խաղում: Այնուամենայնիվ, որոշ ժամանակ ծախսելով՝ ստուգելով իմ գուշակությունը, ես հայտնաբերեցի, որ սա ժամացույցի ազդանշան չէ, այլ աուդիո հոսք, որը դուրս է գալիս թվիթերին, երբ ստեղները սեղմվում են: Հետևաբար, ազդանշանի այս հատվածն ինքնին մեզ համար օգտակար տեղեկատվություն չի պարունակում: Այնուամենայնիվ, այն կարող է օգտագործվել որպես ցուցիչ՝ իմանալու, թե երբ է PSoC-ն գրանցում ստեղնի սեղմում:

Այնուամենայնիվ, վերջին P4 աուդիո հոսքը մի փոքր այլ է. դա «անվավեր PIN»-ի ձայնն է:

Վերադառնալով ստեղնաշարի գրաֆիկին, մեծացնելով վերջին աուդիո հոսքի գրաֆիկը (նորից տես կապույտ ուղղանկյունը), մենք ստանում ենք.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

Այստեղ մենք տեսնում ենք միապաղաղ ազդանշաններ P11-ում: Այսպիսով, թվում է, թե սա ժամացույցի ազդանշանն է: Իսկ P13-ը տվյալ է: Ուշադրություն դարձրեք, թե ինչպես է օրինաչափությունը փոխվում ձայնային ազդանշանի ավարտից հետո: Հետաքրքիր կլիներ տեսնել, թե ինչ է կատարվում այստեղ։

Արձանագրությունները, որոնք աշխատում են երկու լարերի հետ, սովորաբար SPI կամ I2C են, և Cypress-ի տեխնիկական բնութագրում ասվում է, որ այս կապանքները համապատասխանում են I2C-ին, ինչը մենք տեսնում ենք, որ ճիշտ է մեր դեպքում.

Aigo-ի ինքնագաղտնագրող արտաքին HDD սկավառակի հետ շրջում և կոտրում: Մաս 1. Մասերի բաժանում

USB-SATA չիպսեթը անընդհատ հարցում է անում PSoC-ում` կարդալու բանալու վիճակը, որը լռելյայնորեն «0» է: Այնուհետև, երբ սեղմում եք «1» ստեղնը, այն փոխվում է «1»-ի: Վերջնական փոխանցումը «~» սեղմելուց անմիջապես հետո տարբերվում է, եթե մուտքագրված է սխալ PIN կոդը: Սակայն այս պահին ես չեմ ստուգել, ​​թե իրականում ինչ է այնտեղ փոխանցվում։ Բայց ես կասկածում եմ, որ դա դժվար թե գաղտնագրման բանալի լինի: Ինչևէ, տես հաջորդ բաժինը՝ հասկանալու համար, թե ինչպես եմ ես հանել PSoC ներքին որոնվածը։

Source: www.habr.com

Добавить комментарий