Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

phanick 29 Jan 2020 03:51 1206 2
  • #1
    phanick
    Level 28  
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    Jako, że temat wraca na to i inne fora co jakiś czas, a zdesperowani użytkownicy dostają rady, aby spróbować programu X czy Y. Potem jednak okazuje się, że żaden program nie daje rady i pomóc może jedyna specjalistyczna firma. Temat pozostaje więc bez rozwiązania.

    A szkoda, bo ponad 15 lat temu wpadłem na genialny pomysł, który nie wymaga ani specjalistycznego sprzętu, ani oprogramowania. Opis nawet umieściłem w sieci, ale chyba mało kto w ogóle o nim wiedział.
    https://forum.cdrinfo.pl/f2/wiem-jak-odzyskac-skasowana-cd-rw-32350/?highlight=odzyska%2A

    Mi pomysł pozwolił na odzyskanie danych z ważnej płyty (*) i przynajmniej jednemu użytkownikowi z tamtego okresu też
    https://forum.cdrinfo.pl/f2/jak-odzyskac-dane-ze-skasowanej-cd-rw-38342/

    Dygresja
    (*) Były to śmieszne czasy, gdy internet w Polsce był w powijakach, zdesperowani ludzie łączyli się przez modemy na 0202122 w cenie 31gr/3min i nerwowo patrzyli na zegarek chwytając się za portfel. Co cierpliwsi czekali do 18stej w soboty (czy tam 22giej w dni powszednie), bo wtedy internet kosztował 31gr/6min. Szybkość 56kbit/s (5.5 kb/s) wysyłanie) i 33 kbit/s (3kb/s) odbieranie była porażająca. A to i tak gdy miało się modem "z najwyższej półki" i akurat dobrze się połączył. A zwykle łączyło się tylko po to, aby pobrać pocztę przez outlook expresa modląc się, aby kumpel nie wysyłał wiadomości z załącznikiem.

    Oferty stałego dostepu do internetu (SDI=Szybki dostęp do internetu 128kbit/s) były tylko dla bogaczy, ale już zaczynała się pojawiać technologia ADSL (neostrada).
    I wtedy TPSA wpadło na genialny pomysł - możecie na jeden miesiąc podpisać próbną umowę Neostrady i mieć przez jeden miesiąc internet za darmo, a potem możecie albo zrezygnować albo kupić podpisać umowę na neostradę (nie pamiętam jakie były ceny ale coś w okolicach 120zł/miesiąc). Pamiętam jak z niecierpliwością wyczekiwałem, kiedy druga diodka na modemie ADSL wreszcie przestanie migać i się zapali, co oznaczało, że monterzy na centrali wreszcie uruchomili mi neostradę. Pamiętam, że ściąganie wtedy chodziło non stop, nawet zostawiałem komputer włączony na noc. Miesiąc się kończył, niestety nie stać nas było na neostradę więc wróciłem do modemu. I wtedy któregoś dnia robiłem sobie jakieś przenosiny partycji, aby te wszystkie pobrane dane zmieścić. Napisałem sobie początek dysku i pamiętam, że wtedy próbując odzyskać te dane w heksedytorze nauczyłem się tyle o budowie systemu plików, tablicach partycji, że ta wiedza została mi do dziś. No i przypadkiem skasowałem sobie płytę CD-RW, na której miałem nagrane ebooki. I wlaśnie wtedy wpadłem na szaleńczy pomysł odzyskania z niej danych.

    Zaczynamy
    Stworzyłem sobie dla testu plik 650MB (o nazwie F1), zawierający kolejne liczby od zera począwszy, każda zapisana na czterech bajtach i nagrałem go na płytę CD-RW 650MB, która ma etykietę NOWY. Dlaczego taki plik? Aby dostając się do niego `od środka` można było zgadnąć, w którym jego miejscu jesteśmy.
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    Do demonstracji wykorzystam program IsoBuster, który jest poręcznym narzędziem do poglądu struktury płyty i tworzenia obrazów.

    Płyta CD-RW składa się z długiej spiralnej ścieżki, biegnącej od środka do krawędzi, wypalanej przez laser (lub tłoczonej) o długości ok 5km. Odpowiednie ukształtowanie (dołek lub górka) formują się w ciągi, które kodują bity, a te przekładają się na zawartość płyty. Składa się ona w uproszczeniu z z kilu następujących po sobie obszarów, a kazdy obszar z sektorów (w przypadku ścieżki z danymi sektory mają po 2048 bajtów danych)
    * TOC (Table of Contents) - którym zapisane są informacje o rozmiarze nagranych na niej danych). Obszar ten nie daje się "odczytać"
    przez użytkownika, służy natomiast za informacje samej nagrywarce
    * Sektor 0: Sesja ze ścieżkami danych - tutaj dla uproszczenia jest jedna sesja z jedną ścieżką
    - Sektor 16: Nagłówek systemu plików ISO. System ten pozwala na zapisywanie nazw plików o długości do 8+3 znaków, tak jak FAT w DOSie). W nim tez zawarta jest etykieta płyty (zapisana w Ascii), informacje o programie nagrywającym:
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW
    - Sektor 17: nagłówek systemu plików Joliet. System ten pozwala na zapisywanie dłuższych nazw plików, tak jak dodatek VFAT do FATa w Windowsach). Tutaj etykieta płyty zapisana jest w Unicodzie.
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW
    - Sektor 18: nieistotne (tutaj mamy zapisane tylko CD001)
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW
    - Sektory 19..21 - tutaj mamy zapisane informacje o zawartości głównego katalogu płyty (w systemie ISO) - czyli że jest plik F1 (duze litery ASCII)
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW
    - Sektor 22..24 - tutaj mamy zapisane informacje o zawartości głównego katalogu płyty (w systemie Joliet) - czyli że jest plik f1 (znaki Unicode)
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW
    - Sektory 25..332824 - pierwszy sektor, w ktorym zapisane sa dane z naszego pliku:
    (332824 - 25 + 1) * 2048 = 681574400 czyli dokładnie 650 * 1024 * 1024 czyli 650 MB
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    *Pierwszy napęd (Nagrywarka CD/DVD od laptopa: Toshiba TSSTcorp CDDVDW TS-L633M 0200) pozwala jeszcze podejrzeć dalsze sektory (332825..332979), w których to są same zera. Próba wyświetlenia kolejnych sektorów powoduje zgłoszenie błędu 05/21/00 (który prawdopodobnie znaczy: sektor nie znaleziony)
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    *Drugi napęd (Odtwarzacz CD/DVD Combo od PC: Toshiba SD-M1612) także pozwala przeglądać ten sam zakres sektorów

    *Trzeci napęd (DVD od PC: LITE-ON DVDRW LDW-811S HS0R), na tej samej płycie pozwoli podejrzeć sektory nieco dalej! (aż do 339728), przy czym one takze zawierają zera.
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW



    Nieszczeście 1 - przypadkowa skasowanie
    Skasujmy sobie teraz tą płytkę RW metoda szybką. Iso Buster nie pozwala teraz w ogóle na podgląd sektorów w żadnej z nagrywarek:

    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    Nieszczęście 2 - napisanie
    Pójdźmy więc o krok dalej - nagrajmy na tej płycie jeden plik (f2), tym razem o rozmiarze 1 bajta (będzie w nim jedynie literka A). Płyta niech ma etykietę Nowy2. Podejrzyjmy teraz ta płyte w programie:
    *Sektory 0..25 mają układ jak wyżej, lecz teraz zawierają juz informacje o nowych danych
    *Sektory 26..599 napęd 1/2 pozwala jeszcze odczytać (są w nich zera), jednak dla dalszych sektorów napęd zwraca błąd! Pomimo, że sa w nich przecież dane "z poprzedniego nagrania"
    *Napęd 3 pozwala odczytać sektory aż do 7348, a dla dalszych także wyrzuca błąd!

    Widać więć, że pomimo, że dane fizycznie są na płycie, nagrywarka nie pozwala uzyskać do nich dostępu. Na nic więc zdadzą się nawet najbardziej wyrafinowane programy.

    Oszukanie nagrywarki
    I tu pojawia się moja metoda - należy zmusić nagrywarkę, aby pozwoliła zobaczyć całą płytę. Ale jak? Sposób jest prosty: należy stworzyć jeden plik o maksymalnie możliwym rozmiarze, który da się zmieścić na płycie, nagrać go, ale w momencie gdy nagrywarka nagra już obszar TOC, należy jej brutalnie przerwać na jeden z trzech sposobów:
    * restart komputera przyciskiem (działa zawsze i momentalnie, ale trzeba to zrobić w odpowiednim momencie), tzn wtedy gdy TOC jest już nagrany, ale plik nagrany nie jest. W praktyce więc warto ustawic najniższa możliwą prędkośc nagrywania tak, aby nie nadpisać za dużo.
    * usunięcie pliku przed rozpoczęciem nagrywania (zadziała tylko, jeśli program nagrywający nie blokuje pliku) - w przypadku Nero ie działa
    * prostu kliknięcie przycisku Anuluj w programie nagrywającym w momencie, gdy nowy TOC jest już nagrany

    Ja stworzyłem plik f3 o rozmiarze 660MB zawierający same gwiazdki. Nero ostrzegło, że plik się nie zmieści i konieczne będzie nadpalanie (nie każda nagrywarka to obsługuje).
    Ale dzięki temu płyta będzie wyglądać jakby był na niej jeden wielki plik, ale fizycznie będą tam jednak stare (poprzednie dane).

    Jak nagrywałem z prędkością 4x i skorzystałem z metody `Anuluj`. Jak widać w programie IsoBuster, w sektorach 25-572 nagrał się początek nowego pliku (prawdopodobnie nagrało się to, co zmieściło się do bufora nagrywarki który dla tego modelu ma 2MB)
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    Co ciekawe, próba odczytania sektora 573 i paruset następnych powodu zawieszenie się napędu - zaczyna on wydawać przeraźliwe dźwięki, w uparciu przesuwając głowicę w tą i z powrotem (prawdopodobnie laser nie może znaleźć sektora lub mechanizmy korekcyjne nie potrafią nic zrobić z częściowo nadpalonym kawałkiem nośnika)- napęd zwrócił kod błędu: 04/3E/02

    Ale teraz to, na co czekaliśmy z utęsknieniem - począwszy od sektora 11852 widzimy nasz oryginalny plik!
    Odzyskiwanie danych ze skasowanej/nadpisanej płyty CD-RW

    Wystarczy tylko stworzyć obraz tych sektorów np. w tym że programie, zanalizowac strukture katalogów i odtworzyc z obrazu dane!

    Problemy
    Pewnym kłopotem może być to, że wpisy w katalogach o zawartych w nich plikach (czyli od którego sektora zaczyna się plik, jaką ma nazwę, rozmiar) są nagrywane na początku, a dopiero później nagrywane są pliki (nic tego nie wymusza ale chyba programy nagrywające płyty tak je rozmieszczają). Więc jak widać w optymistycznych warunkach pierwsze 11852 sektorów (czyli pierwsze 23MB) płyty jest bezpowrotnie zniszczone, więc z dużą szansą informacje o plikach nam ucieknie.
    Wybawieniem bedzie natomiast to, żę pliki nagrywane w pojedynczych ciągach (nie są sfragmentowane) i jeden tuż za następnym


    Dygresja
    Tak z ciekawości przetestowałem odczyt tej płyty też na drugim napędzie:
    0..573: daje sie odczytać:
    574..576: nie daje się odczytać:
    577..7347: zwraca zera
    7348:..11853: nie daje się odczytac
    11854.. daje sie odczytac (oryginalny plik)

    i trzecim (najbardzizej obiecującym napędzie) - ostatnim sektorem pliku z gwiazdkami, który daje się czytac jest 573 i pierwszym sektorem starego pliku, który daje się odczytać jest 11851. Czyli ta nagrywarka ma "minimalnie" lepsza korekcje błędów, a wcześniejsze sektory zostały bezpowrotnie zamazane, prawdopodobnie już podczas kasowania
  • #2
    kaleron

    HDD and data recovery specialist
    phanick wrote:
    Płyta CD-RW składa się z długiej spiralnej ścieżki, biegnącej od środka do krawędzi,
    - oprócz tego, że coś Ci się pomyliło z płytą gramofonową, pomysł ciekawy:)
  • #3
    helmud7543
    Level 43  
    Jeśli masz na myśli spiralna ścieżkę to o ile dobrze pamiętam, jest tam spiralna ścieżka - i zdaje się że popularne dyski optyczne działają w podobny sposób, z wyjątkiem DVD-RAM, który ma pierścieniową strukturę ścieżek.