Korepetycje z "systemy plików", "architektura przechowywania plików"

0

Witam serdecznie. Chciałbym napisać aplikację która będzie odzyskiwać dane z uszkodzonych partycji itp. Potrzebuję korepetycji (i właśnie nie wiem z czego) z tego jak zbudowane są pliki, jakiej wiedzy prócz programowania będę potrzebował do osiągnięcia sukcesu. Od kilku dni (po śmierci mojego pendrive) jestem tym żywo zainteresowany. Tak wiem, użyłem już TestDisk i odzyskałem pliki, ale natchnęło mnie to, aby zrobić taki program samemu :) Jeżeli ktokolwiek się na tym zna i jest w stanie pomóc, proszę o wycenę za godzinę lekcji :) Będę wdzięczny!

3

Od czego zacząć:

  • Pendrive'wy to nadal w większości system plików FAT32 i tutaj radzę zacząć. Najlepiej przeczytać sobie specyfikację tego systemu plików (https://en.wikipedia.org/wiki/File_Allocation_Table oraz https://docs.microsoft.com/pl-PL/windows/win32/fileio/exfat-specification)

  • Po zapoznaniu się ze specyfikacją powinieneś już wiedzieć jak np. FS usuwa plik i być w stanie napisać program do odzyskiwania usuniętych plików jak również taki do ich bezpiecznego usunięcia.

  • Odzyskane pliki mogą być częściowo nadpisane, trzeba więc przestudiować format tych najbardziej popularnych i np. poprawiać nagłówki jeżeli zostały uszkodzone. Niektórych rzeczy nie da się naprawić ale to jest normalne przy tego typu operacjach.

  • Wyższy poziom jazdy to próba software'owego odzyskiwania fizycznie uszkodzonych sektorów np. poprzez wielokrotny odczyt. Tu już przydaje się wiedza o tym jaka elektronika siedzi w pendrive'ie.

  • Jeszcze wyższy poziom to reverse eng. sterownika pamięci flash itp.

PS. Wiele plików ma specyficzne nagłówki np. exe zaczynają się od MZ, a png od PNG. Sa to tak zwane magic numbers lub sygnatury plików. Można po tym rozpoznać prawdpodobny początek pliku w strumieniu byte'ów. Wykorzystuje to np. narzędzie binwalk.

0

@0xmarcin: trafiłem na ten artykuł https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#FAT i jest tu tysiące rzeczy dla mnie niezrozumiałych, ale tutaj wydaje się być odpowiedź na nurtujące mnie pytania. W przeciągu dłuższego czasu i wielu niepowodzeniach dałbym radę to ogarnąć, jednak zdecydowanie lepiej mi idzie z osobą, która potrafi to wytłumaczyć "innymi słowami". Jeżeli znasz się na tym i byłbyś w stanie udzielić korepetycji napisz do mnie priv :)

0

@gswidwa1: Co rozumiesz poprzez śmierć swojego pendrive? ja kupilem na allegro tani pendrive 44zl 512gb, po kilkurazach używania w ogóle go nie widzi. widzy tylko jako nieznane urzązenie usb 0 bajtów. nie mogę na nim użyć ani testDisk ani HDDRegenerator ani format g:

Podejrzewam ze za tą cenę nie ma się co dziwić :) jeśli miałeś podbny problem to jeste bardzo ciekawy w jaki sposób użyłeś na nim hdd regenerator

0

U mnie poszła tylko partycja, wszystkie dane odzyskałem, nic skomplikowanego. Bo ja nigdy bezpiecznie nie usuwam sprzętu i jeszcze w trakcie zgrywania zresetowałem kompa 😂

0

WYDAJE mi się, że bez znajomości assemblera to raczej nie ma co siadać do tego. Niech mnie ktoś poprawi, jeśli się mylę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1