ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

خارجي خود انڪرپٽنگ ڊرائيو کي ريورسنگ ۽ هيڪ ڪرڻ منهنجو پراڻو شوق آهي. ماضي ۾، مون کي اهڙي نموني سان مشق ڪرڻ جو موقعو مليو جيئن Zalman VE-400، Zalman ZM-SHE500، Zalman ZM-VE500. تازو ئي، هڪ ساٿي مون لاءِ هڪ ٻي نمائش کڻي آيو: Patriot (Aigo) SK8671، جيڪو هڪ عام ڊيزائن مطابق ٺهيل آهي - هڪ LCD اشاري ۽ پن ڪوڊ داخل ڪرڻ لاءِ ڪي بورڊ. ان مان اهو ئي نڪتو آهي ...

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: ٽڪرن کي ڌار ڪرڻ
سٿائي

ڊسڪ تي ذخيرو ٿيل ڊيٽا تائين رسائي، جيڪا سمجهي ويندي آهي انڪوڊ ٿيل آهي، پن ڪوڊ داخل ڪرڻ کان پوء ڪيو ويندو آهي. هن ڊوائيس تي ڪجهه تعارفي نوٽس:

  • پن ڪوڊ تبديل ڪرڻ لاءِ، ان لاڪ ڪرڻ کان اڳ توھان کي F1 کي دٻائڻو پوندو؛
  • پن ڪوڊ ۾ 6 کان 9 انگن جو هجڻ لازمي آهي؛
  • 15 غلط ڪوششن کان پوء، ڊسڪ صاف ڪيو ويو آهي.

2. هارڊويئر آرڪيٽيڪچر

پهرين، اسان ڊوائيس کي حصن ۾ ورهايو ٿا اهو سمجهڻ لاء ته اهو ڪهڙي اجزاء تي مشتمل آهي. سڀ کان وڌيڪ مشڪل ڪم ڪيس کولڻ آهي: خوردبيني اسڪرو ۽ پلاسٽڪ جو تمام گهڻو. ڪيس کولڻ کان پوء، اسان هيٺ ڏنل ڏسون ٿا (پنج پن کنیکٹر تي ڌيان ڏيو جيڪو مون سولر ڪيو):

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

2.1. مکيه بورڊ

مکيه بورڊ بلڪل سادو آهي:

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

ان جا سڀ کان وڌيڪ قابل ذڪر حصا (ڏسو مٿي کان هيٺ تائين):

  • LCD اشاري لاء connector (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: ٽڪرن کي ڌار ڪرڻ

هتي، پوئين پاسي، اسان ڏسون ٿا هڪ ربن ڪنيڪٽر، انهي سان گڏ هڪ سائپريس CY8C21434 مائڪرو ڪنٽرولر PSoC 1 (هتي اسان ان کي صرف PSoC سڏينداسين)

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

CY8C21434 M8C هدايتون سيٽ استعمال ڪري ٿو (ڏسو دستاويز). [پراڊڪٽ پيج تي]((http://www.cypress.com/part/cy8c21434-24ltxi) اهو ظاهر ڪيو ويو آهي ته اها ٽيڪنالاجي کي سپورٽ ڪري ٿي CapSense (Cypress کان حل، capacitive ڪيبورڊ لاء). هتي توهان پنج پن ڪنيڪٽر ڏسي سگهو ٿا جيڪو مون سولڊر ڪيو آهي - اهو هڪ ISSP انٽرفيس ذريعي ٻاهرين پروگرامر کي ڳنڍڻ لاءِ هڪ معياري طريقو آهي.

2.4. تارن کي ڏسڻ

اچو ته ڄاڻون ته هتي ڇا ڳنڍيل آهي. هن کي ڪرڻ لاء، صرف هڪ multimeter سان تارن جي جانچ ڪريو:

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

گھٹنے تي ٺهيل هن آريگرام جي وضاحت:

  • پي ايس او سي ٽيڪنيڪل وضاحتن ۾ بيان ڪيو ويو آهي؛
  • ايندڙ ڪنيڪٽر، ساڄي طرف هڪ، ISSP انٽرفيس آهي، جيڪو قسمت جي مرضي سان، ان سان ملندو آهي جيڪو انٽرنيٽ تي ان بابت لکيو ويو آهي؛
  • سڀ کان ساڄي ڪنيڪٽر ربن ڪنيڪٽر لاءِ ٽرمينل آهي ڪيبورڊ بورڊ ڏانهن؛
  • ڪارو مستطيل CN1 ڪنيڪٽر جو هڪ ڊرائنگ آهي، جيڪو مين بورڊ کي LCD بورڊ سان ڳنڍڻ لاءِ ٺهيل آهي. P11، P13 ۽ P4 PsoC پنن 11، 13 ۽ 4 سان ڳنڍيل آهن، LCD بورڊ تي.

3. حملي جي مرحلن جو سلسلو

هاڻي ته اسان ڄاڻون ٿا ته هي ڊرائيو ڪهڙي حصن تي مشتمل آهي، اسان کي گهرجي: 1) پڪ ڪريو ته بنيادي انڪرپشن ڪارڪردگي اصل ۾ موجود آهي؛ 2) ڳولهيو ته ڪيئن انڪرپشن چابيون ٺاهيل/محفوظ ڪيون ويون آهن؛ 3) ڳوليو جتي پن ڪوڊ چيڪ ڪيو ويندو.

هن کي ڪرڻ لاءِ مون هيٺيان قدم کنيا:

  • هڪ SPI فليش ڊرائيو مان ڊيٽا ڊمپ ورتو؛
  • PSoC فليش ڊرائيو مان ڊيٽا ڊمپ ڪرڻ جي ڪوشش ڪئي؛
  • تصديق ڪئي وئي آهي ته Cypress PSoC ۽ JMS539 جي وچ ۾ رابطي ۾ اصل ۾ ڪي اسٽروڪ شامل آهن؛
  • مون پڪ ڪيو ته پاسورڊ تبديل ڪرڻ وقت، SPI فليش ڊرائيو ۾ ڪجھ به اوور رائٽ نه ڪيو ويو آهي؛
  • JMS8051 کان 539 فرم ویئر کي ريورس ڪرڻ لاء تمام سست هو.

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 فليش ڊرائيو جو ڊمپ کڻڻ بيڪار ٿي ويو:

  • جڏهن پن ڪوڊ تبديل ڪيو ويندو آهي، فليش ڊرائيو ڊمپ ساڳيو رهي ٿو؛
  • شروعاتي اسٽيج کان پوء، ڊوائيس SPI فليش ڊرائيو تائين رسائي نٿو ڪري.

3.2. ڇڪڻ واري مواصلات

اهو ڳولڻ جو هڪ طريقو آهي جيڪو وقت / دلچسپي جي مواد لاءِ ڪميونيڪيشن چيڪ ڪرڻ لاءِ ذميوار آهي چپ. جيئن ته اسان اڳ ۾ ئي ڄاڻون ٿا، USB-SATA ڪنٽرولر سيپريس PSoC LCD سان ڳنڍيل آهي CN1 ۽ ٻه ربن ذريعي. تنهن ڪري، اسان تحقيقات کي ٽن لاڳاپيل پيرن سان ڳنڍيندا آهيون:

  • P4، عام ان پٽ / آئوٽ؛
  • P11, I2C SCL;
  • P13، I2C SDA.

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

پوءِ اسان لانچ ڪيو Saleae logic analyzer ۽ ڪيبورڊ تي داخل ٿيو: “123456~”. نتيجي طور، اسان ڏسون ٿا هيٺ ڏنل ڊراگرام.

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

ان تي اسان ٽي ڊيٽا مٽائي چينل ڏسي سگهون ٿا:

  • چينل P4 تي ڪيترائي مختصر فٽ آھن؛
  • P11 ۽ P13 تي - لڳ ڀڳ مسلسل ڊيٽا مٽائڻ.

چينل P4 تي پهرين اسپيڪ تي زوم ڪندي (اڳوڻي شڪل ۾ نيري مستطيل)، اسان هيٺيان ڏسون ٿا:

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

هتي توهان ڏسي سگهو ٿا ته P4 تي لڳ ڀڳ 70ms هڪ نراسائي سگنل آهي، جيڪو پهريون ڀيرو مون کي هڪ ڪلاڪ سگنل جو ڪردار ادا ڪرڻ لڳي. بهرحال، ڪجهه وقت گذارڻ کانپوءِ منهنجي اندازي کي جانچڻ بعد، مون دريافت ڪيو ته هي ڪلاڪ سگنل نه آهي، پر هڪ آڊيو اسٽريم آهي جيڪو ٽوئيٽر ڏانهن آئوٽ ٿئي ٿو جڏهن چاٻيون دٻايو وڃي ٿو. تنهن ڪري، سگنل جي هن حصي ۾ اسان لاء مفيد معلومات شامل نه آهي. بهرحال، اهو هڪ اشارو طور استعمال ڪري سگهجي ٿو ڄاڻڻ لاء جڏهن PSoC هڪ اهم پريس رجسٽر ڪري ٿو.

بهرحال، جديد P4 آڊيو اسٽريم ٿورو مختلف آهي: اهو آڊيو آهي ”غلط پن“ لاءِ!

ڪي اسٽروڪ گراف ڏانهن واپسي، آخري آڊيو اسٽريم گراف تي زوم ڪندي (ٻيهر نيري مستطيل ڏسو)، اسان حاصل ڪريون ٿا:

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

هتي اسان P11 تي هڪجهڙائي سگنل ڏسون ٿا. تنهنڪري اهو ڏسڻ ۾ اچي ٿو ته هي ڪلاڪ سگنل آهي. ۽ P13 ڊيٽا آهي. نوٽ ڪريو ته بيپ ختم ٿيڻ کان پوءِ نمونو ڪيئن بدلجي ٿو. اهو ڏسڻ لاء دلچسپ ٿيندو ته هتي ڇا ٿيندو.

پروٽوڪول جيڪي ٻن تارن سان ڪم ڪن ٿا عام طور تي SPI يا I2C آهن، ۽ سائپرس تي ٽيڪنيڪل وضاحتن ۾ چيو ويو آهي ته اهي پن I2C سان ملن ٿا، جيڪو اسان ڏسون ٿا اسان جي صورت ۾ صحيح آهي:

ريورسنگ ۽ هيڪنگ Aigo خود انڪرپٽنگ خارجي HDD. حصو 1: ٽڪرن کي ڌار ڪرڻ

USB-SATA chipset مسلسل PSoC کي چيڪ جي حالت پڙهڻ لاءِ پول ڪري ٿو، جيڪو ڊفالٽ طور "0" آهي. پوء، جڏهن توهان "1" کي دٻايو، اهو "1" ۾ تبديل ٿي ويندو. "~" کي دٻائڻ کان فوري طور تي فائنل ٽرانسميشن مختلف آهي جيڪڏهن غلط پن ڪوڊ داخل ڪيو ويو آهي. بهرحال، هن وقت مون چيڪ نه ڪيو آهي ته ڇا واقعي اتي منتقل ڪيو پيو وڃي. پر مون کي شڪ آهي ته اهو ممڪن ناهي ته هڪ انڪرپشن ڪيچي هجي. بهرحال، ڏسو ايندڙ سيڪشن کي سمجهڻ لاءِ ته مون ڪيئن هٽايو PSoC اندروني فرم ویئر.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو