ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

வெளிப்புற சுய-குறியாக்க டிரைவ்களை மாற்றுவது மற்றும் ஹேக் செய்வது எனது பழைய பொழுதுபோக்கு. கடந்த காலத்தில், Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500 போன்ற மாடல்களுடன் பயிற்சி செய்ய எனக்கு வாய்ப்பு கிடைத்தது. சமீபத்தில், ஒரு சக ஊழியர் எனக்கு மற்றொரு கண்காட்சியைக் கொண்டு வந்தார்: பேட்ரியாட் (ஐகோ) SK8671, இது ஒரு பொதுவான வடிவமைப்பின் படி கட்டப்பட்டுள்ளது - ஒரு எல்சிடி காட்டி மற்றும் பின் குறியீட்டை உள்ளிடுவதற்கான விசைப்பலகை. அதிலிருந்து வெளிவந்தது அதுதான்…

1. அறிமுகம்
2. வன்பொருள் கட்டமைப்பு
– 2.1. முக்கிய பலகை
– 2.2. எல்சிடி காட்டி பலகை
– 2.3. விசைப்பலகை
– 2.4. கம்பிகளைப் பார்த்து
3. தாக்குதல் படிகளின் வரிசை
– 3.1. SPI ஃபிளாஷ் டிரைவிலிருந்து டேட்டா டம்ப் எடுக்கிறது
– 3.2. தகவல்தொடர்புகளை மோப்பம் பிடிக்கிறது

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்


1. அறிமுகம்

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்
வீடுகள்

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்
Упаковка

குறியாக்கம் செய்யப்பட்டதாகக் கூறப்படும் வட்டில் சேமிக்கப்பட்ட தரவுக்கான அணுகல் பின் குறியீட்டை உள்ளிட்ட பிறகு மேற்கொள்ளப்படுகிறது. இந்தச் சாதனத்தைப் பற்றிய சில அறிமுகக் குறிப்புகள்:

  • PIN குறியீட்டை மாற்ற, திறப்பதற்கு முன் F1ஐ அழுத்த வேண்டும்;
  • பின் குறியீடு 6 முதல் 9 இலக்கங்களைக் கொண்டிருக்க வேண்டும்;
  • 15 முறை தவறான முயற்சிகளுக்குப் பிறகு, வட்டு அழிக்கப்பட்டது.

2. வன்பொருள் கட்டமைப்பு

முதலில், சாதனம் என்ன கூறுகளைக் கொண்டுள்ளது என்பதைப் புரிந்து கொள்ள, சாதனத்தை பகுதிகளாகப் பிரிக்கிறோம். மிகவும் கடினமான பணி வழக்கைத் திறப்பது: நிறைய நுண்ணிய திருகுகள் மற்றும் பிளாஸ்டிக். வழக்கைத் திறந்த பிறகு, பின்வருவனவற்றைக் காண்கிறோம் (நான் சாலிடர் செய்த ஐந்து முள் இணைப்பிக்கு கவனம் செலுத்துங்கள்):

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

2.1 முக்கிய பலகை

முக்கிய பலகை மிகவும் எளிது:

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

அதன் மிகவும் குறிப்பிடத்தக்க பகுதிகள் (மேலிருந்து கீழாக பார்க்கவும்):

SPI ஃபிளாஷ் டிரைவ் JMS539 மற்றும் சில அமைப்புகளுக்கான ஃபார்ம்வேரைச் சேமிக்கிறது.

2.2 எல்சிடி காட்டி பலகை

எல்சிடி போர்டில் குறிப்பிடத்தக்க எதுவும் இல்லை.

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்
ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

மட்டும்:

  • அறியப்படாத தோற்றத்தின் LCD காட்டி (அநேகமாக ஒரு சீன எழுத்துரு தொகுப்புடன்); தொடர் கட்டுப்பாட்டுடன்;
  • விசைப்பலகைக்கான ரிப்பன் இணைப்பான்.

2.3 விசைப்பலகை

விசைப்பலகையை ஆய்வு செய்யும் போது, ​​விஷயங்கள் மிகவும் சுவாரசியமான திருப்பத்தை எடுக்கும்.

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

இங்கே, பின்புறத்தில், ஒரு ரிப்பன் இணைப்பான் மற்றும் சைப்ரஸ் CY8C21434 மைக்ரோகண்ட்ரோலர் PSoC 1 (இனி நாம் அதை PSoC என்று அழைப்போம்)

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

CY8C21434 M8C அறிவுறுத்தல் தொகுப்பைப் பயன்படுத்துகிறது (பார்க்க ஆவணங்கள்) [தயாரிப்பு பக்கத்தில்](http://www.cypress.com/part/cy8c21434-24ltxi) இது தொழில்நுட்பத்தை ஆதரிக்கிறது என்று சுட்டிக்காட்டப்படுகிறது கேப்சென்ஸ் (சைப்ரஸிலிருந்து தீர்வு, கொள்ளளவு விசைப்பலகைகளுக்கு). நான் சாலிடர் செய்த ஐந்து-முள் இணைப்பியை இங்கே காணலாம் - இது ISSP இடைமுகம் வழியாக வெளிப்புற புரோகிராமரை இணைப்பதற்கான ஒரு நிலையான அணுகுமுறையாகும்.

2.4 கம்பிகளைப் பார்த்து

இங்கே என்ன இணைக்கப்பட்டுள்ளது என்பதைக் கண்டுபிடிப்போம். இதைச் செய்ய, மல்டிமீட்டருடன் கம்பிகளை சோதிக்கவும்:

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

முழங்காலில் வரையப்பட்ட இந்த வரைபடத்திற்கான விளக்கங்கள்:

  • PSoC தொழில்நுட்ப விவரக்குறிப்பில் விவரிக்கப்பட்டுள்ளது;
  • அடுத்த இணைப்பு, வலதுபுறம், ISSP இடைமுகம், இது விதியின் விருப்பத்தால், இணையத்தில் அதைப் பற்றி எழுதப்பட்டதற்கு ஒத்திருக்கிறது;
  • விசைப்பலகை பலகைக்கு ரிப்பன் இணைப்பிற்கான முனையமாக வலதுபுற இணைப்பான் உள்ளது;
  • கருப்பு செவ்வகம் என்பது CN1 இணைப்பியின் வரைதல் ஆகும், இது பிரதான பலகையை LCD போர்டுடன் இணைக்க வடிவமைக்கப்பட்டுள்ளது. P11, P13 மற்றும் P4 ஆகியவை LCD போர்டில் உள்ள PSoC பின்கள் 11, 13 மற்றும் 4 உடன் இணைக்கப்பட்டுள்ளன.

3. தாக்குதல் படிகளின் வரிசை

இந்த இயக்கி என்ன கூறுகளைக் கொண்டுள்ளது என்பதை இப்போது நாம் அறிவோம், நாம் செய்ய வேண்டியது: 1) அடிப்படை குறியாக்க செயல்பாடு உண்மையில் உள்ளதா என்பதை உறுதிப்படுத்தவும்; 2) குறியாக்க விசைகள் எவ்வாறு உருவாக்கப்படுகின்றன/சேமிக்கப்படுகின்றன என்பதைக் கண்டறியவும்; 3) PIN குறியீடு எங்கு சரியாகச் சரிபார்க்கப்படும் என்பதைக் கண்டறியவும்.

இதைச் செய்ய, நான் பின்வரும் படிகளைச் செய்தேன்:

  • SPI ஃபிளாஷ் டிரைவிலிருந்து டேட்டா டம்ப் எடுத்தது;
  • PSoC ஃபிளாஷ் டிரைவிலிருந்து தரவை டம்ப் செய்ய முயற்சித்தது;
  • சைப்ரஸ் PSoC மற்றும் JMS539 இடையேயான தொடர்பு உண்மையில் விசை அழுத்தங்களைக் கொண்டுள்ளது என்பதை சரிபார்க்கப்பட்டது;
  • கடவுச்சொல்லை மாற்றும் போது, ​​SPI ஃபிளாஷ் டிரைவில் எதுவும் மேலெழுதப்படவில்லை என்பதை உறுதி செய்தேன்;
  • JMS8051 இலிருந்து 539 firmware ஐ மாற்றுவதற்கு மிகவும் சோம்பேறியாக இருந்தது.

3.1 SPI ஃபிளாஷ் டிரைவிலிருந்து டேட்டா டம்ப் எடுக்கிறது

இந்த செயல்முறை மிகவும் எளிது:

  • ஃபிளாஷ் டிரைவின் கால்களுடன் ஆய்வுகளை இணைக்கவும்: CLK, MOSI, MISO மற்றும் (விரும்பினால்) EN;
  • லாஜிக் அனலைசரைப் பயன்படுத்தி ஒரு மோப்பனுடனான தொடர்புகளை "மோப்பம்" (நான் பயன்படுத்தினேன் சலே லாஜிக் ப்ரோ 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 ஃபிளாஷ் டிரைவை எடுத்துக்கொள்வது பயனற்றதாக மாறியது:

  • பின் குறியீடு மாற்றப்படும் போது, ​​ஃபிளாஷ் டிரைவ் டம்ப் அப்படியே இருக்கும்;
  • துவக்க நிலைக்குப் பிறகு, சாதனம் SPI ஃபிளாஷ் டிரைவை அணுகாது.

3.2 தகவல்தொடர்புகளை மோப்பம் பிடிக்கிறது

ஆர்வமுள்ள நேரம்/உள்ளடக்கத்திற்கான தகவல்தொடர்புகளை சரிபார்க்க எந்த சிப் பொறுப்பாகும் என்பதைக் கண்டறிய இது ஒரு வழியாகும். நாம் ஏற்கனவே அறிந்தபடி, USB-SATA கட்டுப்படுத்தி CN1 மற்றும் இரண்டு ரிப்பன்கள் வழியாக Cypress PSoC LCD உடன் இணைக்கப்பட்டுள்ளது. எனவே, ஆய்வுகளை மூன்று தொடர்புடைய கால்களுடன் இணைக்கிறோம்:

  • P4, பொது உள்ளீடு/வெளியீடு;
  • P11, I2C SCL;
  • P13, I2C SDA.

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

பின்னர் நாம் Saleae லாஜிக் பகுப்பாய்வியைத் துவக்கி, விசைப்பலகையில் உள்ளிடவும்: "123456~". இதன் விளைவாக, பின்வரும் வரைபடத்தைப் பார்க்கிறோம்.

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

அதில் மூன்று தரவு பரிமாற்ற சேனல்களைக் காணலாம்:

  • சேனல் P4 இல் பல குறுகிய வெடிப்புகள் உள்ளன;
  • P11 மற்றும் P13 இல் - கிட்டத்தட்ட தொடர்ச்சியான தரவு பரிமாற்றம்.

சேனல் P4 இல் (முந்தைய படத்தில் நீல செவ்வகம்) முதல் ஸ்பைக்கை பெரிதாக்கும்போது, ​​பின்வருவனவற்றைக் காண்கிறோம்:

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

பி 4 இல் கிட்டத்தட்ட 70 எம்எஸ் ஒரு சலிப்பான சமிக்ஞை இருப்பதை இங்கே நீங்கள் காணலாம், இது முதலில் ஒரு கடிகார சமிக்ஞையின் பாத்திரத்தை வகிப்பதாக எனக்குத் தோன்றியது. இருப்பினும், எனது யூகத்தைச் சரிபார்த்த சிறிது நேரம் கழித்து, இது கடிகார சமிக்ஞை அல்ல, ஆனால் விசைகளை அழுத்தும் போது ட்வீட்டருக்கு வெளிவரும் ஆடியோ ஸ்ட்ரீம் என்பதைக் கண்டுபிடித்தேன். எனவே, சிக்னலின் இந்த பிரிவில் எங்களுக்கு பயனுள்ள தகவல்கள் இல்லை. இருப்பினும், PSoC ஒரு விசை அழுத்தத்தை எப்போது பதிவு செய்கிறது என்பதை அறிய இது ஒரு குறிகாட்டியாகப் பயன்படுத்தப்படலாம்.

இருப்பினும், சமீபத்திய P4 ஆடியோ ஸ்ட்ரீம் சற்று வித்தியாசமானது: இது "தவறான PIN"க்கான ஆடியோ!

கீஸ்ட்ரோக் வரைபடத்திற்குத் திரும்பி, கடைசி ஆடியோ ஸ்ட்ரீம் வரைபடத்தை பெரிதாக்குவதன் மூலம் (மீண்டும் நீல செவ்வகத்தைப் பார்க்கவும்), நாங்கள் பெறுகிறோம்:

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

இங்கே நாம் P11 இல் ஒரே மாதிரியான சமிக்ஞைகளைக் காண்கிறோம். எனவே இது கடிகார சமிக்ஞை போல் தெரிகிறது. மற்றும் P13 என்பது தரவு. பீப் முடிந்ததும் பேட்டர்ன் எப்படி மாறுகிறது என்பதைக் கவனியுங்கள். இங்கே என்ன நடக்கிறது என்பதைப் பார்ப்பது சுவாரஸ்யமாக இருக்கும்.

இரண்டு கம்பிகளுடன் பணிபுரியும் நெறிமுறைகள் பொதுவாக SPI அல்லது I2C ஆகும், மேலும் சைப்ரஸில் உள்ள தொழில்நுட்ப விவரக்குறிப்புகள் இந்த ஊசிகள் I2C உடன் ஒத்திருப்பதாகக் கூறுகிறது, இது எங்கள் விஷயத்தில் உண்மையாக இருப்பதைக் காண்கிறோம்:

ஐகோ சுய-குறியாக்க வெளிப்புற HDD டிரைவை மாற்றுதல் மற்றும் ஹேக்கிங் செய்தல். பகுதி 1: பகுதிகளாகப் பிரித்தல்

USB-SATA சிப்செட் விசையின் நிலையைப் படிக்க PSoC ஐத் தொடர்ந்து கருத்துக் கணிப்பு செய்கிறது, இது இயல்பாகவே “0” ஆகும். பின்னர், "1" விசையை அழுத்தினால், அது "1" ஆக மாறும். தவறான PIN குறியீடு உள்ளிடப்பட்டால், "~" ஐ அழுத்திய உடனேயே இறுதி பரிமாற்றம் வேறுபட்டது. இருப்பினும், தற்போது அங்கு உண்மையில் என்ன அனுப்பப்படுகிறது என்பதை நான் சரிபார்க்கவில்லை. ஆனால் இது ஒரு குறியாக்க விசையாக இருக்க வாய்ப்பில்லை என்று நான் சந்தேகிக்கிறேன். எப்படியிருந்தாலும், PSoC இன்டர்னல் ஃபார்ம்வேரை நான் எப்படி அகற்றினேன் என்பதைப் புரிந்துகொள்ள அடுத்த பகுதியைப் பார்க்கவும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்