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 баскычын басышыңыз керек;
  • ПИН-код 6дан 9га чейинки санды камтышы керек;
  • 15 туура эмес аракеттен кийин диск тазаланат.

2. Аппараттык архитектура

Биринчиден, биз аппаратты бөлүктөргө бөлөбүз, ал кандай компоненттерден турат. Эң түйшүктүү маселе - бул ишти ачуу: көптөгөн микроскопиялык бурамалар жана пластик. Корпусту ачып, биз төмөнкүлөрдү көрүп жатабыз (мен ширеткен беш пин туташтыргычка көңүл буруңуз):

Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү

2.1. Башкы такта

Негизги такта абдан жөнөкөй:

Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү

Анын эң көрүнүктүү бөлүктөрү (жогорудан төмөн карай):

  • ЖК көрсөткүчү үчүн туташтыргыч (CN1);
  • твиттер (SP1);
  • Pm25LD010 (спецификация) SPI флэш-диск (U2);
  • Jmicron JMS539 контроллери (спецификация) USB-SATA (U1) үчүн;
  • USB 3 туташтыргычы (J1).

SPI флэш-диск JMS539 үчүн микропрограмманы жана кээ бир орнотууларды сактайт.

2.2. LCD көрсөткүч тактасы

ЖК тактасында көрүнүктүү эч нерсе жок.

Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү
Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү

Бир гана:

  • Белгисиз келип чыгышы ЖК көрсөткүч (кыязы, кытай шрифт топтому менен); ырааттуу башкаруу менен;
  • клавиатура тактасы үчүн лента туташтыргычы.

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 туташтыргычынын сүрөтү, негизги тактаны ЖК тактасына туташтыруу үчүн иштелип чыккан. P11, P13 жана P4 ЖК тактасындагы PSoC 11, 13 жана 4 пиндерине туташтырылган.

3. Чабуул кадамдарынын ырааттуулугу

Эми бул диск кандай компоненттерден тураарын билгенден кийин, биз төмөнкүлөрдү аткарышыбыз керек: 1) негизги шифрлөө функциясынын чындыгында бар экенине ынануу; 2) шифрлөө ачкычтары кантип түзүлөөрүн/сакталгандыгын билүү; 3) ПИН код так кайда текшерилерин табыңыз.

Бул үчүн мен төмөнкү кадамдарды жасадым:

  • SPI флэш-дискинен маалымат таштандысын алды;
  • PSoC флэш-дискинен маалыматтарды таштоого аракет кылган;
  • Cypress PSoC менен JMS539 ортосундагы байланыш чындыгында басылган баскычтарды камтыганын текшерди;
  • Мен сырсөздү өзгөртүүдө SPI флэш-дискине эч нерсе жазылбаганына ынандым;
  • 8051 микропрограммасын JMS539дан өзгөртүү үчүн өтө жалкоо болгон.

3.1. SPI флэш-дискинен маалымат таштандысын алуу

Бул жол-жобосу абдан жөнөкөй:

  • флеш-дисктин буттарына зонддорду туташтырыңыз: CLK, MOSI, MISO жана (милдеттүү эмес) EN;
  • Логикалык анализатордун жардамы менен жыттоочу менен байланышты "жыттоо" (мен колдондум 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 флэш-дискинен таштанды алып, мен анын жалгыз милдети 8051 микроконтроллерге орнотулган JMicron башкаруу түзүлүшүнүн микропрограммасын сактоо деген тыянакка келдим. Тилекке каршы, 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 чипсети демейки боюнча "0" болгон ачкычтын абалын окуу үчүн PSoCди дайыма сурамжылоодо. Андан кийин, сиз "1" баскычын басканда, ал "1" болуп өзгөрөт. PIN код туура эмес киргизилсе, “~” басылгандан кийин дароо акыркы берүү башкача болот. Бирок, учурда мен ал жерде чындап эмне берилип жатканын текшере элекмин. Бирок мен бул шифрлөө ачкычы болушу мүмкүн эмес деп ойлойм. Баары бир, PSoC ички микропрограммасын кантип алып салганымды түшүнүү үчүн кийинки бөлүмдү караңыз.

Source: www.habr.com

Комментарий кошуу