ProHoster > Blog > башкаруу > Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү
Aigo өзүн-өзү шифрлөөчү тышкы HDD дискин кайра жана бузуп. 1-бөлүк: Бөлүктөргө бөлүү
Сырткы өзүн-өзү шифрлөөчү дисктерди кайра өзгөртүү жана бузуп алуу менин эски хоббим. Мурда мен Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500 сыяктуу моделдер менен машыгууга мүмкүнчүлүк алдым. Жакында эле бир кесиптешим мага дагы бир экспонат алып келди: типтүү дизайн боюнча курулган Patriot (Aigo) SK8671 - LCD индикатор жана PIN кодду киргизүү үчүн клавиатура. Андан чыккан нерсе...
Шифрленген деп болжолдонгон дискте сакталган маалыматтарга кирүү PIN-кодду киргизгенден кийин ишке ашырылат. Бул түзмөк боюнча бир нече кириш эскертүүлөр:
PIN кодду өзгөртүү үчүн, кулпусун ачуудан мурун F1 баскычын басышыңыз керек;
ПИН-код 6дан 9га чейинки санды камтышы керек;
15 туура эмес аракеттен кийин диск тазаланат.
2. Аппараттык архитектура
Биринчиден, биз аппаратты бөлүктөргө бөлөбүз, ал кандай компоненттерден турат. Эң түйшүктүү маселе - бул ишти ачуу: көптөгөн микроскопиялык бурамалар жана пластик. Корпусту ачып, биз төмөнкүлөрдү көрүп жатабыз (мен ширеткен беш пин туташтыргычка көңүл буруңуз):
2.1. Башкы такта
Негизги такта абдан жөнөкөй:
Анын эң көрүнүктүү бөлүктөрү (жогорудан төмөн карай):
SPI флэш-диск JMS539 үчүн микропрограмманы жана кээ бир орнотууларды сактайт.
2.2. LCD көрсөткүч тактасы
ЖК тактасында көрүнүктүү эч нерсе жок.
Бир гана:
Белгисиз келип чыгышы ЖК көрсөткүч (кыязы, кытай шрифт топтому менен); ырааттуу башкаруу менен;
клавиатура тактасы үчүн лента туташтыргычы.
2.3. Клавиатура тактасы
Клавиатура тактасын карап жатканда, нерселер кызыктуураак бурулат.
Бул жерде, арткы жагынан биз лента туташтыргычын, ошондой эле Cypress CY8C21434 микроконтроллерин PSoC 1 (мындан ары биз аны жөн гана PSoC деп атайбыз) көрүп жатабыз.
CY8C21434 M8C нускама топтомун колдонот (караңыз документтештирүү). [продукт бетинде]((http://www.cypress.com/part/cy8c21434-24ltxi) технологияны колдой тургандыгы белгиленген CapSense (Cypress'тин чечими, сыйымдуулук баскычтоптор үчүн). Бул жерде сиз мен ширеткен беш пин туташтыргычты көрө аласыз - бул ISSP интерфейси аркылуу тышкы программистти туташтыруу үчүн стандарттуу ыкма.
2.4. Зымдарды карап
Келгиле, бул жерде эмне байланышы бар экенин карап көрөлү. Бул үчүн, жөн гана зымдарды мультиметр менен текшериңиз:
тизеге тартылган бул диаграмма үчүн түшүндүрмөлөр:
PSoC техникалык спецификацияда сүрөттөлөт;
кийинки туташтыргыч, оң жактагы - ISSP интерфейси, тагдырдын каалоосу боюнча, ал жөнүндө Интернетте жазылгандарга дал келет;
Эң оң жактагы туташтыргыч - бул клавиатура тактасына лента туташтыргычы үчүн терминал;
Кара тик бурчтук - бул CN1 туташтыргычынын сүрөтү, негизги тактаны ЖК тактасына туташтыруу үчүн иштелип чыккан. P11, P13 жана P4 ЖК тактасындагы PSoC 11, 13 жана 4 пиндерине туташтырылган.
3. Чабуул кадамдарынын ырааттуулугу
Эми бул диск кандай компоненттерден тураарын билгенден кийин, биз төмөнкүлөрдү аткарышыбыз керек: 1) негизги шифрлөө функциясынын чындыгында бар экенине ынануу; 2) шифрлөө ачкычтары кантип түзүлөөрүн/сакталгандыгын билүү; 3) ПИН код так кайда текшерилерин табыңыз.
Бул үчүн мен төмөнкү кадамдарды жасадым:
SPI флэш-дискинен маалымат таштандысын алды;
PSoC флэш-дискинен маалыматтарды таштоого аракет кылган;
Cypress PSoC менен JMS539 ортосундагы байланыш чындыгында басылган баскычтарды камтыганын текшерди;
Мен сырсөздү өзгөртүүдө SPI флэш-дискине эч нерсе жазылбаганына ынандым;
8051 микропрограммасын JMS539дан өзгөртүү үчүн өтө жалкоо болгон.
Логикалык анализатордун жардамы менен жыттоочу менен байланышты "жыттоо" (мен колдондум Saleae Logic Pro 16);
SPI протоколун чечмелөө жана натыйжаларды CSVге экспорттоо;
пайдаланып decode_spi.rbнатыйжаларды талдоо жана таштанды алуу.
Эскерте кетсек, бул ыкма JMS539 контроллерунда өзгөчө жакшы иштейт, анткени бул контроллер инициализация стадиясында флэш-дисктен бардык микропрограмманы жүктөйт.
SPI флэш-дискинен таштанды алып, мен анын жалгыз милдети 8051 микроконтроллерге орнотулган JMicron башкаруу түзүлүшүнүн микропрограммасын сактоо деген тыянакка келдим. Тилекке каршы, SPI флэш-дискинин таштандысын алуу пайдасыз болуп чыкты:
PIN-код өзгөртүлгөндө, флэш-дисктин таштандысы ошол бойдон калат;
Инициализация этабынан кийин түзмөк SPI флэш-дискине кирбейт.
3.2. Жыттоо байланыштары
Бул кызыккан убакыт/мазмун боюнча байланыштарды текшерүү үчүн кайсы чип жооптуу экенин аныктоонун бир жолу. Белгилүү болгондой, USB-SATA контроллери Cypress PSoC LCD менен CN1 туташтыргычы жана эки лента аркылуу туташтырылган. Ошентип, биз зонддорду үч тиешелүү бутка туташтырабыз:
P4, жалпы киргизүү/чыгарма;
P11, I2C SCL;
P13, I2C SDA.
Андан кийин биз Saleae логикалык анализаторун ишке киргизип, клавиатурага киргизебиз: "123456~". Натыйжада, биз төмөнкү диаграмманы көрөбүз.
Анда биз үч маалымат алмашуу каналын көрө алабыз:
P4 каналында бир нече кыска жарылуулар бар;
P11 жана P13 боюнча - дээрлик үзгүлтүксүз маалымат алмашуу.
P4 каналындагы биринчи тикти чоңойтуп (мурунку сүрөттө көк тик бурчтук), биз төмөнкүлөрдү көрөбүз:
Бул жерде сиз P4де дээрлик 70 мс монотондуу сигнал бар экенин көрө аласыз, ал мага адегенде саат сигналынын ролун ойногондой сезилди. Бирок, өзүмдүн болжолумду текшергенден кийин, мен бул саат сигналы эмес, баскычтар басылганда твитерге чыга турган аудио агым экенин билдим. Демек, сигналдын бул бөлүгүнүн өзү биз үчүн пайдалуу маалыматты камтыбайт. Бирок, аны PSoC баскыч басууну качан каттаарын билүү үчүн индикатор катары колдонсо болот.
Бирок, акыркы P4 аудио агымы бир аз башкача: бул "жараксыз PIN" үчүн аудио!
Баскычтарды басуу графигине кайрылып, акыркы аудио агымынын графигине кичирейтүү (кайра көк тик бурчтукту караңыз), биз:
Бул жерде биз P11 боюнча монотондуу сигналдарды көрөбүз. Демек, бул саат сигналы окшойт. Ал эми P13 маалымат болуп саналат. Бип бүткөндөн кийин үлгү кандай өзгөргөнүнө көңүл буруңуз. Бул жерде эмне болуп жатканын көрүү кызыктуу болмок.
Эки зым менен иштеген протоколдор, адатта, SPI же I2C болуп саналат жана Cypress'теги техникалык спецификацияда бул төөнөгүчтөр I2Cге туура келет деп айтылат, бул биздин учурда чындык:
USB-SATA чипсети демейки боюнча "0" болгон ачкычтын абалын окуу үчүн PSoCди дайыма сурамжылоодо. Андан кийин, сиз "1" баскычын басканда, ал "1" болуп өзгөрөт. PIN код туура эмес киргизилсе, “~” басылгандан кийин дароо акыркы берүү башкача болот. Бирок, учурда мен ал жерде чындап эмне берилип жатканын текшере элекмин. Бирок мен бул шифрлөө ачкычы болушу мүмкүн эмес деп ойлойм. Баары бир, PSoC ички микропрограммасын кантип алып салганымды түшүнүү үчүн кийинки бөлүмдү караңыз.