Accesso "reale" alle schede di memoria flash?


6

Ho una scheda microSDHC da 16 GB che a quanto pare è stata messa a tacere dal telefono (il telefono di un amico, non sono sicuro di quale, ma posso scoprirlo): durante le riprese, improvvisamente non è più possibile accedere / riconoscere la scheda. Ero con lei quando è successo. Abbiamo immediatamente spento il telefono e non abbiamo provato a formattare la scheda o altro.

Usando un lettore di schede SD e Ubuntu, il dispositivo potrebbe ancora essere riconosciuto e il 16 GB completo potrebbe essere letto tramite dd senza errori. Però, Il 99% del dd-dump erano solo zerobyte , sebbene la carta contenesse in precedenza diversi GB di dati. Solo una frazione molto piccola conteneva ancora dati e questi frammenti erano sparsi per tutto il 16GB.

Ad esempio, la carta conteneva originariamente un file system FAT32. Tuttavia, ora il settore di avvio e la tabella delle partizioni sono stati azzerati, così come la prima copia FAT e la maggior parte dei dati. Curiosamente, la seconda copia FAT era intatta, così come la directory radice. Ho trovato (solo) tre JPG parziali nel dd-dump, e la cosa interessante è che i dati Exif di questi JPG suggeriscono che sono stati presi poco prima che la carta si schiantasse.

Quindi le mie domande sono le seguenti:

  • Invece di usare dd, che si basa sui driver di archiviazione di massa USB di Linux che riconoscono (e interpretano) il dispositivo, c'è un altro modo per accedere a livelli ancora più bassi di informazioni della scheda flash (cioè, leggere veramente il contenuto del chip, invece di cosa vede usb_storage? Qualche forma di FTL, JFFS ecc.?)?
  • I dati sono stati veramente cancellati o etichettati come "sporchi" da qualche parte? Sarebbe fisicamente impossibile per un telefono davvero sovrascrivere 16 GB di memoria in pochi secondi. Quindi forse c'è un modo per leggere i dati reali? O questo è generalmente possibile solo smantellando la carta e accedendo direttamente al dispositivo NAND (?) Tramite hardware specializzato?

Apprezzerei qualsiasi suggerimento qualunque - dato che il mio amico non usa realmente i computer accanto al suo telefono, non si è mai preoccupata di copiare mai le immagini da esso in un posto più sicuro, quindi alcune centinaia di foto di amici e famiglia andrebbero perse: - /


2
Con le schede SD, usb_storage è il più basso possibile senza aprire fisicamente la scheda e collegarsi ai chip. Il controller della scheda non consentirà l'accesso diretto in caso contrario (a differenza, ad esempio, delle vecchie schede xD).
grawity

@grawity: Suona sospettosamente come una risposta :-). Cura di postarlo come tale?
sleske

Non ho davvero un indizio sul vero problema qui, ma ho una raccomandazione. L'altro giorno mia moglie ha acceso la nostra fotocamera digitale e gli è stato detto che non poteva accedere alla scheda SD all'interno. Ho provato a inserire la scheda nel mio MacBook - non è stato riconosciuto. Poi ho provato con il vecchio PC XP e un lettore di schede - lo stesso risultato. Dopo aver cercato su internet mi sono imbattuto recoverfab.com . Ha inviato la carta lì per posta, ha ricevuto la conferma di ricezione tre giorni dopo e la conferma di recupero altri tre giorni dopo. Ha funzionato un fascino.
Marcel Stör

Risposte:


2

Non esiste un modo standard o "built-in" per dire a una scheda SD di darti i dati NAND grezzi.

Questa è la speculazione, ma il microcontrollore nelle schede SD probabilmente implementa una sorta di mappatura di indirizzi di blocco fisico per mappatura di blocchi logici, al fine di eseguire il livellamento dell'usura. Questa tabella da PBA a LBA è probabilmente memorizzata su NAND proprio come i dati effettivi, è relativamente piccola, probabilmente tiene traccia dei blocchi liberi e potrebbe infatti essere sovrascritta in pochi secondi.

c'è un altro modo per accedere a livelli ancora più bassi di informazioni sulla scheda flash

Se si dissaldano i cavi esterni NAND o di saldatura ad esso, si scopre quale tipo di NAND è, e si configura una sorta di interfaccia per il PC è possibile scaricare il contenuto non elaborato. Si sta affrontando un difficile compito di reverse engineering anche dopo averlo fatto poiché il formato dei dati è probabilmente esclusivo del microcontrollore sulla scheda SD, e non potevo immaginare dove avresti iniziato a cercare quelle informazioni.

Puoi trovare Questo interessante, ma probabilmente non molto utile. Sembra che le schede SD abbiano l'equivalente di SCSI "Vendor Specific Commands" che vengono usati per aggiornare il firmware sul microcontrollore SD. Quindi, teoricamente, sarebbe possibile caricare un firmware del microcontroller SD personalizzato o modificato che risponde in modo diverso alle richieste di lettura / scrittura. Tuttavia, si arriva allo stesso punto sopra descritto. Non conosco nessun firmware o progetto personalizzato per microcontrollori SD esistenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.