c0xc / CapacityTester

Use CapacityTester to check if your USB thumb/flash drive lies about its capacity. Graphical tool to detect fake USB drives.
GNU General Public License v3.0
108 stars 14 forks source link

You CapacityTester useless in situation like FAKE SSD 4TB disk from Aliexpress - New Storage Store #10

Closed itmagpro closed 1 year ago

itmagpro commented 1 year ago

Hello my frend!

with random data I can test with dd util without your tester!

You CapacityTester useless in situation like this:

file, and not just with random data, for example "UTF-8 Unicode text" must check not only write/reand on fly, but and after umount and mount dev again!

Chinese guys deceived your tester ;)

BUYERs MUST NOT BUY UNNAMED FAKE SSD X TB LIKE THIS:

TEST FAKE SSD 4TB disk from: SCAMMER Seller - New Storage Store https://www.aliexpress.com/store/1102538148

Portable SSD 1TB High-speed Mobile Solid State Drive 500GB External Storage Decives Type-C USB 3.1 Interface for Laptop/PC/ Mac - IS FAKE https://www.aliexpress.com/item/1005005091638018.html

ALIEXPRESS MUST BE DELIVERY SCAMMER SELESRs TO JAIL AND CLOSE ALL FAKE SSD PAGES!

VIDEO MANUALY TEST FAKE SSD WITH DD:

  1. Connect device to PC (VID_20230322_141807.mp4 - 157 MB)
  2. Record test from desktop (ssdfake-test.ogv - 38 MB)

also see this:

c0xc commented 1 year ago

Hi there! I appreciate any feedback, especially tests that help me improve the program. But have you actually tried to test your fake drive with CapacityTester and which result did it show? It does make an attempt to discard the cache using the POSIX_FADV_DONTNEED flag (man 3 posix_fadvise). But I don't have a good fake drive at hand, the newer ones may be different than what I had. Unmounting would obviously force the system to discard any cache, so I guess I could add that as an option (optional as mount commands may fail which would be awkward).

Note that those tests require a FAT-like filesystem to fail when the real capacity is exceeded. Other filesystems distribute data in different ways (not linear). Maybe I should add a formatting feature some day.

c0xc commented 1 year ago

I have added a remount feature.

itmagpro commented 1 year ago

you actually tried to test your fake drive with CapacityTester and which result did it show?

Yes, partition /dev/sdc1 with allocated fake 1.8TB capacity, test break with "Access denied" error message on 25%

I have added a remount feature.

Ok, and I fix YouTube links in my first post :) In past "Fake Portable Mobile SSD From Aliexpress - 128TB = 60Gb electronics modified - disassembly" followed on other wideo "Fake SSD Scams (Worse Than I Thought) - Krazy Ken's Tech Talk - YouTube".

But, when and where this "remount feature" added in src code that must by make?

c0xc commented 1 year ago

Thanks, good to know that it did eventually fail.

I have not released the new feature yet. I will probably upload a new release in a week or two, then I'll update this issue.

As for the dd test - i.e., writing 50G or 54G, checking it, adding 10G, checking again to see if the real capacity is 64G: Such a test could be much faster but it's a different approach and it would require root privileges. I originally wrote this tool to test a volume (by which I mean a mounted USB filesystem), as non-root user. Now, I am seriously considering adding such a feature (a destructive test), but later, not right now.

c0xc commented 1 year ago

So I have actually bought the fake SSD you've linked (the 1TB one). First of all, it failed after 108 minutes at 6% during the initialization phase (*). That's because I added a quick check to the init phase to speed up the whole process, even though this init phase was originally only meant to create sparse files.

After CapacityTester detected the error, it deleted all of its test files but the filesystem of this particular fake drive has already been damaged at this point, even though it appears clean and empty. After such a failed test (or regular usage by a naive user who moved all of his valuable files onto this fake drive without testing it first, hitting the actual capacity limit), even a 10 MB file will be corrupted when copied onto the drive. So when you repeat the test with CapacityTester, it will fail even faster, in this case in under a minute. At this stage, almost anything that's copied onto the drive will be corrupted even after deleting all files, but as usual, the copy process will not report an error, so you'd either have to use checksums or maybe a filemanager that verifies the files that it has copied - or use CapacityTester.

I have added a format feature with which you can format your drive. After reformatting the previously corrupted drive, it'll once again take a long time to fill the real capacity until it fails again.

You can download the Linux build of the latest release here: https://github.com/c0xc/CapacityTester/suites/12098426023/artifacts/637197134

Like with other fake drives I have had so far, it is not actually necessary to unmount it first. The system shouldn't keep all test files cached plus, like I said before, the program does make an attempt to discard the cache. But if you want to be sure, you can now have CapacityTester remount the drive during the test since I've added that feature now. You'd have to click on "Advanced" and then select the remount option before starting the test.

*: Unfortunately it did not say after how many MB the error occurred, that might be a separate issue. But what's important is that it detected the fake drive.

Conclusion: CapacityTester is by no means useless, not at all. It does detect this type of fake.

P.S. If you're making a video with this tool for Youtube, Rumble, Rutube or some other platform, please email me, I'd like to know because that would be great: philip AT c0xc DOT net

itmagpro commented 1 year ago

Agree :) I download and make bin from latest CapacityTester v0.4 and will by used by need in future, thanks for your attention.

P.S.

So I have actually bought the fake SSD you've linked (the 1TB one).

if in future you disassembly your fake SSD 1TB, then don't forget create video and post him here ;)

c0xc commented 1 year ago

Cool. Feel free to open a new issue if you have another question.

As for this "SSD", I have a feeling this was not the last time I had to spend time with it because when I repeated the test it took forever. But that's not a priority anymore since it was detected as fake, so I'll postpone further tests. And after those, maybe I'll open it and take a few pictures of this "SSD"...

c0xc commented 1 year ago

@itmagpro see issue #12, you may be interested (new feature).