나는 마법의 중국 드라이브 에 대해 읽고 있었다 . 이것은 어떻게 이루어 집니까? 이 게시물은 '루프 모드'에 대해 이야기하고 의견은 다른 컨트롤러가 OS에 놓 이도록 제안합니다.
나는이 장치 중 하나를 구입하여 시도해 보았지만 광고 된대로 작동했습니다 (만료되면 데이터 덮어 쓰기). 포맷 할 때 '진정한'용량을 표시하기 시작했습니다.
이것이 어떻게 달성됩니까?
나는 마법의 중국 드라이브 에 대해 읽고 있었다 . 이것은 어떻게 이루어 집니까? 이 게시물은 '루프 모드'에 대해 이야기하고 의견은 다른 컨트롤러가 OS에 놓 이도록 제안합니다.
나는이 장치 중 하나를 구입하여 시도해 보았지만 광고 된대로 작동했습니다 (만료되면 데이터 덮어 쓰기). 포맷 할 때 '진정한'용량을 표시하기 시작했습니다.
이것이 어떻게 달성됩니까?
답변:
FAT32 에는 여유 공간이있는 마스터 테이블이 있습니다. 해당 마스터 테이블을 16 진 편집하여 여유 공간을 표시 할 수 있습니다. 지금은 3.7GB 크기의 플로피 디스크를 사용했습니다.
하드웨어는 수정되지 않습니다. 파일 테이블은 단순히 OS를 속이기 위해 수정됩니다. 포맷하는 동안 파일 테이블이 지워지고 실제 용량 판독 값이 복원됩니다.
평판이 좋지 않은 판매자에게 가면 이런 종류의 저렴한 가짜 플래시 드라이브 또는 중국의 하드 드라이브에 항상 걸릴 수 있습니다.
메시지를 볼 때까지 다른 컨트롤러라고 확신했습니다. 수정 된 컨트롤러를 사용하면 OS에 원하는 것을 말할 수 있습니다. 그러나 형식이이 동작을 수정하면 파일 시스템 수준에서도 일종의 속임수가 발생했음을 의미합니다. 두 가지 옵션이 있습니다.
이것은 파일 시스템 수정 (여전히 나에게 더 가능성이있는 것처럼 보입니다)에 의존하기 때문에 포맷 후에 단순히 작동하지 않는 컨트롤러 수정입니다.
하드웨어 수정없이이를 수행하는 다른 방법이 있습니다 (예 : 사용 가능한 블록 링크 된 목록을 원형으로 수정). 이것이 가능한지 결정하기 위해 FAT32의 세부 사항에 익숙하지 않습니다. 그렇지 않으면 먼저 ...).
편집 : FAT32를 사용하고 있다고 가정하는 것은 순진합니다. 아마도 이러한 순환 여유 공간 관리 속임수를 실수로 허용하는 다른 파일 시스템이 사용됩니다 (해당 파일 시스템도 OS에서 지원하는 한) 사용자에게는 사실상 보이지 않습니다). 이것은 그러한 장치를 보는 것이 훨씬 흥미 롭습니다 ...
다음은 키를 사용하여 1,000,000,000,000 바이트 (1TB) 디스크를 만드는 방법입니다 (Linux 사용).
가짜 포맷 된 1TB 디스크를 만듭니다.
mkdosfs -C temp_file 1000000000
실제로 발생했는지 확인
ls -lh temp_file
DoK를 연결하고 마운트 방법을 확인하십시오.
mount
장치 이름을 찾으십시오 /dev/sdb1
(여기서 실수를 한 경우 시스템에 연결된 다른 디스크를 망칠 수 있으므로 조심하십시오!).
마운트 해제 :
sudo umount /dev/sdb1
FAT 테이블의 크기를 찾으십시오.
ls -s temp_file
(첫 번째 숫자는 킬로바이트 단위의 크기입니다)
DoK로 복사
echo "head -c [size_from_above]K temp_file > /dev/sdb1" | sudo sh
친구를 놀라게하십시오! 다음과 같이 놀기 위해 로컬로 마운트 할 수 있습니다.
mkdir test
sudo mount temp_file test -o loop
아주 간단합니다
플래시 칩 컨트롤러에는 몇 가지 설정이 포함되어 있습니다. 제품 ID, 공급 업체 ID 및 플래시 칩 수 및 크기
작은 칩이있는 구형 장치를 사용하여 잘못된 수의 플래시 칩으로 펌웨어를 덮어 쓰면 총 드라이브 용량이 설치된 플래시 수보다 커집니다.
주소 라인의 양이 변경되지 않았기 때문에 칩은 항상 기록됩니다. 예를 들어, 처음 128MB가 기록되고 다음 칩이 선택된 다음 다른 128MB가 기록됩니다.
칩이 하나만 있기 때문에 선택 라인이 연결되지 않고 두 번째 플래시 칩 데이터가 첫 번째 칩 데이터를 덮어 씁니다.
컨트롤러는 연결되지 않은 칩을 포함하여 모든 칩의 크기를 OS에보고하기 때문에 OS는 행복하게 잘못된 크기로 포맷합니다.
이를 수행하는 두 가지 방법이 있습니다.
파티션 : 파티션을 수동으로 수정하고 생성하기위한 여러 도구가 있습니다. 예를 들어, 실제 사용 가능한 실린더를 더 선택할 수 있습니다. 그렇게하는 것이 사소한 일입니다. 전의. 파티션 마법과 fdisk조차도 그렇게 할 수 있다고 생각합니다.
장치 펌웨어 : 다른 방법은 장치의 펌웨어를 수정하는 것입니다. 대부분의 장치 (모두는 아님)는 펌웨어에 해당 정보 (플러그 앤 플레이 및 기타 정보)가 포함되어 있습니다.
예를 들어, 일반적인 트릭은 용량이 적은 장치에 더 많은 용량의 하드 디스크 펌웨어를 사용하고 공간을 "증가시키는"것입니다.