ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > Aigo స్వీయ-ఎన్క్రిప్టింగ్ బాహ్య HDD డ్రైవ్ను రివర్స్ చేయడం మరియు హ్యాకింగ్ చేయడం. పార్ట్ 1: భాగాలుగా విడదీయడం
Aigo స్వీయ-ఎన్క్రిప్టింగ్ బాహ్య HDD డ్రైవ్ను రివర్స్ చేయడం మరియు హ్యాకింగ్ చేయడం. పార్ట్ 1: భాగాలుగా విడదీయడం
బాహ్య స్వీయ-ఎన్క్రిప్టింగ్ డ్రైవ్లను రివర్స్ చేయడం మరియు హ్యాక్ చేయడం నా పాత అభిరుచి. గతంలో, నేను Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500 వంటి మోడళ్లతో సాధన చేసే అవకాశం వచ్చింది. ఇటీవలే, ఒక సహోద్యోగి నాకు మరొక ప్రదర్శనను తీసుకువచ్చాడు: పేట్రియాట్ (ఐగో) SK8671, ఇది సాధారణ డిజైన్ ప్రకారం నిర్మించబడింది - LCD సూచిక మరియు పిన్ కోడ్ను నమోదు చేయడానికి కీబోర్డ్. అందులోంచి బయటపడింది అదే…
డిస్క్లో నిల్వ చేయబడిన డేటాకు యాక్సెస్, ఇది గుప్తీకరించబడింది, ఇది PIN కోడ్ను నమోదు చేసిన తర్వాత నిర్వహించబడుతుంది. ఈ పరికరంలో కొన్ని పరిచయ గమనికలు:
PIN కోడ్ని మార్చడానికి, మీరు అన్లాక్ చేయడానికి ముందు F1ని నొక్కాలి;
PIN కోడ్ తప్పనిసరిగా 6 నుండి 9 అంకెలను కలిగి ఉండాలి;
15 తప్పు ప్రయత్నాల తర్వాత, డిస్క్ క్లియర్ చేయబడింది.
2. హార్డ్వేర్ ఆర్కిటెక్చర్
ముందుగా, పరికరం ఏ భాగాలను కలిగి ఉందో అర్థం చేసుకోవడానికి మేము పరికరాన్ని భాగాలుగా విడదీస్తాము. చాలా దుర్భరమైన పని కేసును తెరవడం: చాలా మైక్రోస్కోపిక్ స్క్రూలు మరియు ప్లాస్టిక్. కేసును తెరిచిన తరువాత, మేము ఈ క్రింది వాటిని చూస్తాము (నేను కరిగిన ఐదు-పిన్ కనెక్టర్పై శ్రద్ధ వహించండి):
2.1 ప్రధాన బోర్డు
ప్రధాన బోర్డు చాలా సులభం:
దాని అత్యంత ముఖ్యమైన భాగాలు (పై నుండి క్రిందికి చూడండి):
SPI ఫ్లాష్ డ్రైవ్ JMS539 మరియు కొన్ని సెట్టింగ్ల కోసం ఫర్మ్వేర్ను నిల్వ చేస్తుంది.
2.2 LCD సూచిక బోర్డు
LCD బోర్డులో చెప్పుకోదగినది ఏమీ లేదు.
మాత్రమే:
తెలియని మూలం యొక్క LCD సూచిక (బహుశా చైనీస్ ఫాంట్ సెట్తో); వరుస నియంత్రణతో;
కీబోర్డ్ బోర్డు కోసం రిబ్బన్ కనెక్టర్.
2.3 కీబోర్డ్ బోర్డ్
కీబోర్డ్ బోర్డుని పరిశీలిస్తున్నప్పుడు, విషయాలు మరింత ఆసక్తికరమైన మలుపు తీసుకుంటాయి.
ఇక్కడ, వెనుక వైపు, మేము రిబ్బన్ కనెక్టర్తో పాటు సైప్రస్ CY8C21434 మైక్రోకంట్రోలర్ PSoC 1ని చూస్తాము (ఇకపై మనం దీనిని PSoC అని పిలుస్తాము)
CY8C21434 M8C సూచనల సమితిని ఉపయోగిస్తుంది (చూడండి డాక్యుమెంటేషన్) [ఉత్పత్తి పేజీ]లో(http://www.cypress.com/part/cy8c21434-24ltxi) ఇది సాంకేతికతకు మద్దతు ఇస్తుందని సూచించబడింది క్యాప్సెన్స్ (కెపాసిటివ్ కీబోర్డుల కోసం సైప్రస్ నుండి పరిష్కారం). ఇక్కడ మీరు నేను విక్రయించిన ఐదు-పిన్ కనెక్టర్ను చూడవచ్చు - ఇది ISSP ఇంటర్ఫేస్ ద్వారా బాహ్య ప్రోగ్రామర్ను కనెక్ట్ చేయడానికి ఒక ప్రామాణిక విధానం.
2.4 వైర్లు చూస్తున్నారు
ఇక్కడ ఏమి కనెక్ట్ చేయబడిందో తెలుసుకుందాం. దీన్ని చేయడానికి, మల్టీమీటర్తో వైర్లను పరీక్షించండి:
మోకాలిపై గీసిన ఈ రేఖాచిత్రం కోసం వివరణలు:
PSoC సాంకేతిక వివరణలో వివరించబడింది;
తదుపరి కనెక్టర్, కుడి వైపున, ISSP ఇంటర్ఫేస్, ఇది విధి యొక్క ఇష్టానికి అనుగుణంగా, ఇంటర్నెట్లో దాని గురించి వ్రాసిన దానికి అనుగుణంగా ఉంటుంది;
కీబోర్డ్ బోర్డ్కు రిబ్బన్ కనెక్టర్ కోసం కుడివైపు కనెక్టర్ టెర్మినల్;
నలుపు దీర్ఘచతురస్రం అనేది CN1 కనెక్టర్ యొక్క డ్రాయింగ్, ఇది ప్రధాన బోర్డుని LCD బోర్డుకి కనెక్ట్ చేయడానికి రూపొందించబడింది. P11, P13 మరియు P4 LCD బోర్డ్లోని PSoC పిన్స్ 11, 13 మరియు 4కి కనెక్ట్ చేయబడ్డాయి.
3. దాడి దశల క్రమం
ఈ డ్రైవ్ ఏ భాగాలను కలిగి ఉందో ఇప్పుడు మనకు తెలుసు, మనం వీటిని చేయాలి: 1) ప్రాథమిక ఎన్క్రిప్షన్ ఫంక్షనాలిటీ వాస్తవానికి ఉందని నిర్ధారించుకోండి; 2) ఎన్క్రిప్షన్ కీలు ఎలా ఉత్పత్తి చేయబడతాయో/సేవ్ చేయబడతాయో కనుగొనండి; 3) PIN కోడ్ సరిగ్గా ఎక్కడ తనిఖీ చేయబడుతుందో కనుగొనండి.
దీన్ని చేయడానికి నేను ఈ క్రింది దశలను చేసాను:
ఒక SPI ఫ్లాష్ డ్రైవ్ నుండి డేటా డంప్ తీసుకున్నాడు;
PSoC ఫ్లాష్ డ్రైవ్ నుండి డేటాను డంప్ చేయడానికి ప్రయత్నించారు;
Cypress PSoC మరియు JMS539 మధ్య కమ్యూనికేషన్లు వాస్తవానికి కీస్ట్రోక్లను కలిగి ఉన్నాయని ధృవీకరించబడింది;
పాస్వర్డ్ను మార్చేటప్పుడు, SPI ఫ్లాష్ డ్రైవ్లో ఏదీ ఓవర్రైట్ చేయబడదని నేను నిర్ధారించుకున్నాను;
JMS8051 నుండి 539 ఫర్మ్వేర్ను రివర్స్ చేయడానికి చాలా సోమరితనం ఉంది.
3.1 SPI ఫ్లాష్ డ్రైవ్ నుండి డేటా డంప్ తీసుకోవడం
ఈ విధానం చాలా సులభం:
ఫ్లాష్ డ్రైవ్ యొక్క కాళ్ళకు ప్రోబ్స్ కనెక్ట్ చేయండి: CLK, MOSI, MISO మరియు (ఐచ్ఛికం) EN;
SPI ప్రోటోకాల్ను డీకోడ్ చేయండి మరియు ఫలితాలను CSVకి ఎగుమతి చేయండి;
ప్రయోజనం పొందండి డీకోడ్_spi.rbఫలితాలను అన్వయించడానికి మరియు డంప్ పొందడానికి.
JMS539 కంట్రోలర్ విషయంలో ఈ విధానం బాగా పనిచేస్తుందని దయచేసి గమనించండి, ఎందుకంటే ఈ కంట్రోలర్ ప్రారంభ దశలో ఫ్లాష్ డ్రైవ్ నుండి అన్ని ఫర్మ్వేర్లను లోడ్ చేస్తుంది.
SPI ఫ్లాష్ డ్రైవ్ నుండి డంప్ తీసుకున్న తరువాత, 8051 మైక్రోకంట్రోలర్లో నిర్మించబడిన JMicron నియంత్రణ పరికరం కోసం ఫర్మ్వేర్ను నిల్వ చేయడమే దాని ఏకైక పని అని నేను నిర్ధారణకు వచ్చాను. దురదృష్టవశాత్తు, SPI ఫ్లాష్ డ్రైవ్ యొక్క డంప్ తీసుకోవడం పనికిరానిదిగా మారింది:
PIN కోడ్ మార్చబడినప్పుడు, ఫ్లాష్ డ్రైవ్ డంప్ అలాగే ఉంటుంది;
ప్రారంభ దశ తర్వాత, పరికరం SPI ఫ్లాష్ డ్రైవ్ను యాక్సెస్ చేయదు.
3.2 స్నిఫింగ్ కమ్యూనికేషన్స్
ఆసక్తి ఉన్న సమయం/కంటెంట్ కోసం కమ్యూనికేషన్లను తనిఖీ చేయడానికి ఏ చిప్ బాధ్యత వహిస్తుందో తెలుసుకోవడానికి ఇది ఒక మార్గం. మనకు ఇప్పటికే తెలిసినట్లుగా, USB-SATA కంట్రోలర్ కనెక్టర్ CN1 మరియు రెండు రిబ్బన్ల ద్వారా Cypress PSoC LCDకి కనెక్ట్ చేయబడింది. అందువల్ల, మేము ప్రోబ్స్ను మూడు సంబంధిత కాళ్లకు కనెక్ట్ చేస్తాము:
P4, సాధారణ ఇన్పుట్/అవుట్పుట్;
P11, I2C SCL;
P13, I2C SDA.
అప్పుడు మేము Saleae లాజిక్ ఎనలైజర్ను ప్రారంభించాము మరియు కీబోర్డ్లో నమోదు చేస్తాము: “123456~”. ఫలితంగా, మేము ఈ క్రింది రేఖాచిత్రాన్ని చూస్తాము.
దానిపై మనం మూడు డేటా మార్పిడి ఛానెల్లను చూడవచ్చు:
ఛానెల్ P4లో అనేక చిన్న పేలుళ్లు ఉన్నాయి;
P11 మరియు P13లో - దాదాపు నిరంతర డేటా మార్పిడి.
ఛానెల్ P4లో మొదటి స్పైక్లో జూమ్ చేయడం (మునుపటి చిత్రంలో నీలం దీర్ఘచతురస్రం), మేము ఈ క్రింది వాటిని చూస్తాము:
P4 లో దాదాపు 70ms మార్పులేని సిగ్నల్ ఉందని ఇక్కడ మీరు చూడవచ్చు, ఇది మొదట క్లాక్ సిగ్నల్ పాత్రను పోషిస్తుందని నాకు అనిపించింది. అయితే, నా అంచనాను తనిఖీ చేసిన తర్వాత, ఇది క్లాక్ సిగ్నల్ కాదని, కీలను నొక్కినప్పుడు ట్వీటర్కి అవుట్పుట్ అయ్యే ఆడియో స్ట్రీమ్ అని నేను కనుగొన్నాను. అందువల్ల, సిగ్నల్ యొక్క ఈ విభాగం మాకు ఉపయోగకరమైన సమాచారాన్ని కలిగి ఉండదు. అయినప్పటికీ, PSoC కీ ప్రెస్ను ఎప్పుడు నమోదు చేస్తుందో తెలుసుకోవడానికి ఇది సూచికగా ఉపయోగించవచ్చు.
అయితే, తాజా P4 ఆడియో స్ట్రీమ్ కొద్దిగా భిన్నంగా ఉంది: ఇది "చెల్లని పిన్కోడ్" కోసం ఆడియో!
కీస్ట్రోక్ గ్రాఫ్కి తిరిగి రావడం, చివరి ఆడియో స్ట్రీమ్ గ్రాఫ్లో జూమ్ చేయడం (మళ్లీ నీలి దీర్ఘచతురస్రాన్ని చూడండి), మేము పొందుతాము:
ఇక్కడ మనం P11లో మార్పులేని సంకేతాలను చూస్తాము. కాబట్టి ఇది క్లాక్ సిగ్నల్ లాగా కనిపిస్తోంది. మరియు P13 అనేది డేటా. బీప్ ముగిసిన తర్వాత నమూనా ఎలా మారుతుందో గమనించండి. ఇక్కడ ఏమి జరుగుతుందో చూడటం ఆసక్తికరంగా ఉంటుంది.
రెండు వైర్లతో పనిచేసే ప్రోటోకాల్లు సాధారణంగా SPI లేదా I2C, మరియు సైప్రస్లోని సాంకేతిక వివరణ ఈ పిన్లు I2Cకి అనుగుణంగా ఉన్నాయని పేర్కొంది, ఇది మన విషయంలో నిజమని మేము చూస్తాము:
USB-SATA చిప్సెట్ కీ స్థితిని చదవడానికి PSoCని నిరంతరం పోల్ చేస్తుంది, ఇది డిఫాల్ట్గా “0”. అప్పుడు, మీరు "1" కీని నొక్కినప్పుడు, అది "1"కి మారుతుంది. తప్పు PIN కోడ్ నమోదు చేయబడితే, “~” నొక్కిన వెంటనే తుది ప్రసారం భిన్నంగా ఉంటుంది. అయితే, ప్రస్తుతానికి అక్కడ ఏమి ప్రసారం చేయబడుతుందో నేను తనిఖీ చేయలేదు. కానీ ఇది ఎన్క్రిప్షన్ కీ అయ్యే అవకాశం లేదని నేను అనుమానిస్తున్నాను. ఏది ఏమైనప్పటికీ, నేను PSoC అంతర్గత ఫర్మ్వేర్ను ఎలా తొలగించానో అర్థం చేసుకోవడానికి తదుపరి విభాగాన్ని చూడండి.