Jak sfałszowana jest pojemność dysku twardego?


90

Czytałem o magicznych chińskich popędach . Jak by to było zrobione? W poście jest mowa o „trybie zapętlonym”, a komentarze sugerują posiadanie innego kontrolera, który okłamuje system operacyjny.

Poszedłem i kupiłem jedno z tych urządzeń, wypróbowałem je i działało jak w reklamie (nadpisywanie danych, gdy było pełne), chociaż kiedy je sformatowałem, zaczęło pokazywać swoją „prawdziwą” pojemność.

Jak to się osiąga?



14
Myślę, że pytanie brzmiałoby lepiej zatytułowane „Jak sfałszowana jest pojemność pamięci flash”, ponieważ w rzeczywistości chodzi o sfałszowanie ilości miejsca na dysku flash, a nie na magnetyczny dysk twardy.
Joseph Earl

Chcę jednego z tych chińskich napędów magicznych, ale nie lecę do Chin, aby je zdobyć!, Byłby świetnym prezentem dla geeków.
Moab

+1. Nigdy o tym nie słyszałem, zanim zobaczyłem to pytanie „rakieta na szczyt listy przebojów” w widoku Gorące pytania.
jprete,

heh .. dzięki :) Nie spodziewałem się takiej odpowiedzi, kiedy zainteresowałem się „twardym dyskiem” z 2 gigantycznymi śrubami w walizce
Rohan Monga

Odpowiedzi:


59

FAT32 ma tabelę główną z wolnym miejscem. Możesz heksować tę tabelę główną, aby wyświetlić dowolną ilość wolnego miejsca. Od wieków mam dyskietkę o pojemności 3,7 GB.


4
Tak, możesz manipulować przy FAT, ale są też sposoby majstrowania przy mikrokontrolerze, by okłamać system operacyjny. Windows rzeczywiście wielokrotnie formatuje dysk nieprawidłowo, identyfikując go jako znacznie większy niż w rzeczywistości. Zwykle mają wbudowany algorytm, który zapętla układ flash w taki sposób, że system operacyjny jest w stanie stworzyć prawidłową (wyglądającą) tabelę główną.
TheCompWiz,

kiedy zaczynam się grzebać i bałaganić przy głównym stole i kontrolerze, spodziewam się kolejnych pytań :)
Rohan Monga

2
Czy zastanawiasz się, gdzie znaleźć tabelę główną lub jak ją edytować?
Ivo Flipse

2
Chciałbym zobaczyć trochę dokumentacji na ten temat, próbowałem powielić to z programowaniem i nie byłem w stanie oszukać systemu operacyjnego, aby dostrzegł ten rozmiar. zobacz ten wątek tutaj, aby zobaczyć, co próbowałem stackoverflow.com/questions/7482920/…
cromestant

Mam magazyn używający Norton Commander i hexedit do zmiany zgłaszanego rozmiaru partycji. Szkoda, że ​​zgubiłem magazyn.
Barfieldmv,

19

Sprzęt nie jest modyfikowany - tabela plików jest po prostu modyfikowana, aby oszukać system operacyjny. Podczas formatowania tablica plików jest czyszczona, a tym samym przywracany jest rzeczywisty odczyt pojemności.

Możesz złapać się na tego typu tanie fałszywe dyski flash, a nawet dyski twarde w Chinach przez cały czas, jeśli pójdziesz do nie renomowanego sprzedawcy.


11
W zeszłym roku kupiłem w serwisie eBay rzekomo pamięć 64 GB z Chin za 15 GBP. Powinienem był wiedzieć, że pojemność nie byłaby dostępna w tej cenie. W rzeczywistości było to 4 Gb z fałszywym wiodącym „6” wyrytym na etykiecie. Sposób, w jaki system plików został zaszyfrowany, oznaczał, że nie zauważysz problemu, dopóki na urządzenie nie zostanie skopiowane więcej niż 4 GB, w którym to momencie nowe pliki właśnie zaczęły zastępować części istniejących. Nigdy nie byłem w stanie sformatować tej rzeczy, więc mogłem przynajmniej użyć jej jako karty 4Gb.
FumbleFingers

7
@FumbleFingers, Tak, sprzedawcy często psują informacje o chipie, więc nie możesz formatować bezpośrednio, ale musisz to zrobić: 1. użyj oprogramowania ChipGenius + narzędzia do masowej produkcji, aby naprawić informacje o chipie. 2. Użyj narzędzia do formatowania niskiego poziomu, aby wykonać rzeczywisty format. Oto przewodnik: agnipulse.com/2010/04/how-i-fixed-a-fake-64gb-usb-drive
KoKo

Dzięki! Może mimo wszystko uda mi się coś z tego wydobyć (jeśli nie wyrzuciłem go do kosza z frustracją).
FumbleFingers

6

Dopóki nie zobaczyłem twojej wiadomości, byłem pewien, że jest to inny kontroler - używając zmodyfikowanego kontrolera możesz powiedzieć wszystko, co chcesz, systemowi operacyjnemu. Ale biorąc pod uwagę, że format modyfikuje to zachowanie, oznacza to, że pewne oszustwa miały miejsce również na poziomie systemu plików. Rodzi to dwie opcje:

  • Jest to modyfikacja kontrolera, która po prostu nie działa po sformatowaniu, ponieważ zależy od modyfikacji systemu plików (co nadal wydaje mi się bardziej prawdopodobne).

  • Istnieje inny sposób, aby to zrobić bez modyfikacji sprzętowej, np. Modyfikując listę wolnych bloków połączonych, aby była okrągła (nie znam wystarczająco specyfiki FAT32, aby zdecydować, czy jest to możliwe - może sprawdzić za kilka dni, jeśli nikt nie inaczej robi pierwszy ...).

EDYCJA: Naiwnością jest zakładanie, że FAT32 jest używany, o wiele bardziej prawdopodobnym scenariuszem jest użycie innego systemu plików, który nieumyślnie pozwala na takie sztuczki w zarządzaniu wolną przestrzenią (tak długo, jak ten system plików jest także obsługiwany przez system operacyjny - być praktycznie niewidocznym dla użytkownika). To sprawia, że ​​patrzenie na takie urządzenie jest o wiele bardziej interesujące ...


2
To system plików, jestem tego pewien. Te dyski nie są fizycznie modyfikowane.
poważny

4
kupiłbym jednak taką mniejszą rzecz .. do celów testowych :)
Greenleader

1
Jeśli masz zamiar użyć niestandardowego lub zmodyfikowanego kontrolera, tracisz oszczędność ceny masowego zakupu tanich kontrolerów. Wydaje mi się zatem znacznie bardziej prawdopodobne, że odbywa się to wyłącznie na poziomie systemu plików - surowy zapis przy użyciu dd jest szybki, tani i łatwy w porównaniu z wymianą / modyfikacją sprzętu.
kaerast

6

Oto jak utworzyć dysk o pojemności 1 000 000 000 000 bajtów (1 TB) na kluczu (w systemie Linux):

  1. Utwórz fałszywy sformatowany dysk 1 TB:

    mkdosfs -C  temp_file 1000000000
    
  2. Sprawdź, czy to się naprawdę wydarzyło

    ls -lh temp_file
    
  3. Podłącz DoK i sprawdź, jak został zamontowany:

    mount
    
  4. Znajdź nazwę urządzenia, coś w stylu /dev/sdb1 (jeśli popełnisz tutaj błąd, możesz zepsuć inny dysk podłączony do systemu, więc bądź ostrożny!)

  5. Odmontuj to:

    sudo umount /dev/sdb1
    
  6. Sprawdź rozmiar naszej tabeli FAT:

    ls -s temp_file
    

(Pierwsza liczba to rozmiar w kilobajtach)

  1. Skopiuj do DoK

    echo "head -c [size_from_above]K temp_file > /dev/sdb1" | sudo sh
    
  2. Wystraszyć swojego przyjaciela! Możesz zamontować go lokalnie, aby bawić się w ten sposób:

    mkdir test
    sudo mount temp_file test -o loop
    

5

Całkiem proste,

Kontroler chipa flash zawiera pewne ustawienia. Identyfikator produktu, identyfikator dostawcy oraz liczba i rozmiar flashchipów.

Biorąc starsze urządzenie z małym chipem, zastępując oprogramowanie układowe niewłaściwą liczbą chipów flash, całkowita pojemność dysku będzie większa niż liczba zainstalowanych flashów.

Ponieważ liczba linii adresu się nie zmieniła, układ zawsze będzie zapisywany. Na przykład zostanie zapisane pierwsze 128 MB, następnie wybrany zostanie kolejny układ, a następnie zapisany zostanie kolejny 128.

Ponieważ jest tylko jeden układ, linia wyboru nie jest podłączona, a dane drugiego flashchip zastępują dane pierwszego układu.

Ponieważ kontroler zgłasza rozmiar wszystkich układów, w tym tych niepołączonych z systemem operacyjnym, system operacyjny chętnie sformatuje go w niewłaściwym rozmiarze.


3
Problem polega na tym, że jeśli zostanie to zrobione w ten sposób, nowsze dane również zastąpią tabelę alokacji plików FAT32 i katalog główny w pobliżu początku dysku, uniemożliwiając w ten sposób użytkowanie dysku, dopóki nie zostanie sformatowany. Fakt, że tak się nie dzieje, sugeruje, że jest to hack systemu plików, który sprawia, że ​​działa.
Mokubai

tak, genialne, ale jest bardzo szybko złapane.
Rohan Monga

1

Istnieją dwie metody, aby to zrobić:

  1. Partycja: istnieje kilka narzędzi do modyfikacji i ręcznego tworzenia partycji. Na przykład można wybrać więcej dostępnych cylindrów. Jest to trywialne. Dawny. magia partycji i myślę, że nawet fdisk może to zrobić

  2. Oprogramowanie układowe urządzenia: Inną metodą jest modyfikacja oprogramowania układowego urządzenia. Większość urządzeń (ale nie wszystkie) ma swoje informacje (Plug & Play i inne informacje) zawarte w oprogramowaniu.

Na przykład zwykłą sztuczką jest użycie oprogramowania wewnętrznego dysku twardego o większej pojemności w urządzeniu o mniejszej pojemności i „zwiększenie” miejsca.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.