[Andrew] recently got scammed on an SD card purchase and put together a small tool that can help you determine if you’ve had the wool pulled over your eyes as well.
You see, he purchased a set of MicroSD cards, all of which had an advertised capacity of 4GiB. When he tried to use them, they all failed to write more than about 115MiB of data, so he knew something was up. He sat down with some tools that can be used to check the actual capacity of flash media, but he says they were unbelievably slow to scan the cards.
While he waited for one of the scans to complete, he decided to create a utility of his own that would do the same thing in a fraction of the time. His quick and dirty application, called “Scam-o-Matic”, writes random data to the card, double-checking the written region to ensure that data can be read back. If it finds errors your card is likely either a fake or damaged, but if not, it automatically prepares the media for use.
Obviously this sort of situation is relatively rare, but if you think that you have picked up some shady SD cards, be sure to check out [Andrew’s] Github repository.
37 thoughts on “Scam-o-Matic Determines If You Bought Fake SD Cards”
Only one thing to check on this and that’s if he’s trying to use them in an adapter for a full sized SD. Quite a bit of older SD card equipment won’t take SDHC cards. If it does read, it will have a similar issue as to what’s stated here or not work at all.
Although this problem was an issue more so on cheap chinese import mp3 players. Just something to think of before automatically assuming you got scammed.
115mb is a really odd size – wouldn’t be surprised if it’s a reader malfunction instead.
I’ve seen the 115mb a few times actually with scam memory cards. Something about how the addresses roll over maybe?
I doubt it’s 115MB? It’s likely 128MB and the space that makes up the difference reflects the code used to fake the size and perhaps store an abnormally large FAT or something along those lines… If I remember right these fake cards aren’t just reporting an incorrect size, many of them are actually writing the data in a loop, so if you check the most recently written data, it’s always correct.
I didn’t look over his source code so I’m not sure if it takes that into account… It should be checking not only the most recent data written but also the older data (or maybe just the first sector written would work). Tricky clever scammers!
Last time I encountered this, I “dd if=/dev/nul /of=mmcblk0 count=1MB” then tried to format it the usual way and it formatted with the actual size… You only really need to overwrite the partition/header record.
Though this only works for “software hacked” cards. Other fakes actually have a high-capacity driver chip with the actual memory chip downsized.
yep, exactly what happened to me, I had a high capacity card with a chip missing. dd starts yelling errors once you get over the threshold where the bad memory starts.
The read me file is blank and without instructions it is just a bunch of garbage.
That sounds like an odd number of pages and sectors to have working. I would bet the flash chips are bigger than that, but I’m curious as to the ‘failure’. Are sectors worn out or is this a case of improperly handled factory rejects someone saw a way to make quick cash off of?
This happened to me before: I popped the plastic shell of the SD card open to find a TSSOP flash chip marked as a quarter the advertised size and a separate controller IC on a little PCB. Even despite the marked size, the chip had so many blocks marked bad that I guess it must have come from the reject bin.
I opened a genuine SD card of the same vintage to find the die(s) are fully encapsulated in epoxy – no solder joints or markings visible.
Bunnie blogged some interesting insight into the workings and economics of fake TF cards here.
4GB Card is rather small, you can buy 16GB in-store (real) Mini SD Cards for under 20$ Now.
I test my cards with h2testw. I just bought 2 32gb microSDHC cards on cybermonday. The one from amazon was good (but took about 12 hours to test. The one from ebay was a fake with only 2gb (not 32gb). Prompt refund and the ebay seller removed all his listings.
I really do like the idea of a faster test, Important to test for wrap-around too — immediate verify will fail even if corrupting older existing data.
Here is an interesting quick presentation about the Chinese fake electronics business:
I like Scam-o-matic although so far f3 worked good enough for me.
F3 – an alternative to h2testw
Tip: stop buying media from ebay at crazy low prices.
$1.99 4GB class 6 SD cards are fake.
btw, the cards were some 4.5$ each, so I considered giving it a try.
NEVER buy a memory card or USB stick from China, the chance of you getting a valid product is very very slim indeed, so slim in fact that there is only a couple of manufacturers in China that sell Valid product, the rest take the scrap from these factories, then grade it to a market price.
Even worse is that fact that some BIG manufacturers are dumping KNOWN bad product on the market, which they sell at extreme discounts, if you sign an NDA for a certain manufacturer they will give you the info and defect analysis for this product scrap.
Then there is a well known Nand-flash controller manufacturer that sells controllers that deliberately hide the defects in the nand-flash chips… why?
Because it gives them an edge over other suppliers of flash controllers
dd determines that too.
Regarding avoiding buying certain things from China, you can add 18650 lithium ion cells that are advertised with high capacities (pretty much anything over 2400mAh), I bought 4 cheap ones knowing full well the likelyhood of getting decent cells was slim (I needed them for capacity testing purposes anyway) and it turned out they were in fact used 17670 sized cells in plastic tubes & fake 3000mAh printed wrappers to make them 18650 thickness. They stored less than 1000mAh, well the two that didn’t arrive dead did.
Sorry guys, forgot to push the readme to the repo. Should be fixed now.
Basically, anything a normal person buys from China will be a dodgy fake.
What is annoying is the very real looking sites selling the fakes as the real thing. I don’t mind DealExtreme selling dodgy looking stuff for a few pounds but some of the dodgy sites are selling stuff at about 80% discount off the real thing, which makes you think you’re getting a real bargain from a “local” e-tailer.
NB There is good stuff on DX as well as the cr@p. I’ve had some very nice LEDs from them.
!!!WARNING!!! Last chance to stop. Are you sure? If so – type YES\n
Hmm… fixed that.
wow i thought i was the only one who was scammed by a bootleg sd card. thanks for sharing
why ebay you can get a kingsston 16gb micro sd for
20 euro never get one out of china yes you get it cheap but 9 out of 10 are fake copy,s
Yeah, but can you run this before you buy?! ;)
The trick in my case was simple.
*Ordered at aliexpress.
*Opened a dispute
*Escalated to a claim
*Got money back. And scam-o-cards as well.
FYI, this situation is relatively common in China.
FYI: Delhi tourist areas were rampant. Asia in general. and yes batteries too.
– formatted to appear larger
– electronics fake larger size
in the second case you can write then read back your data over the entire large memory.. but the memory is folded over to the larger size. ie 2GB +x accessed at 2GB, 4GB, 6GB and 0+x etc memory locations so you overwrite earlier photos with later ones and don’t know until you get home… evil.
ps if you buy a cellphone try using it with a real nokia battery before throwing it out…
Do I really need a proprietary program to do that? Why not just copy a few large video files over and use cmp to compare them? If the card is faking it, it would get caught easily. No?
Since when WTFPL has become a proprietary licence?
This for those who got a fake and want to use it at least something, not to through away the crap.
Even 115mb is quite enough for a root filesystem of some embedded device.
AFAIK the cards with fake electronics rarely write in roun-robing fashion. Since that would screw fat. Instead, knowing that fat is only at the start of the partition (unlike ext4), they can drop the data you write and still have a correct filesystem table.
Just the blocks beyond are screwed up.
It’s not enough to stop buying flash memory directly from China. You also have to get your retailer to stop falling for “too good to be true” deals, as well.
I’ve gotten products with less than the advertised amount of memory from local stores. One was an SD card with built in USB reader (which is actually pretty slick) marketed for use with the Wii (which is not what I use it for, BTW). It’s marked 1GB but holds half that. The other is a “1GB” MP3 player, again with a 512MB actual capacity. The stores either never check the products, or just put them in the clearance bin when customers complain.
The worst part is that I can’t find any way to “fix” the discrepancy and make them report the correct size, so I have to be careful what I store on them.
have a close look at the util. It does create a partition in the end that covers ONLY the usable are – so no possible way of corrupting the data.
I have a couple of USB memory sticks that were originally sold as 8gb & 16gb, the 8gb turned out to be 132mb and the 16gb a 1gb, got full money back on them, then I used a util (can’t remember what it was now) to re-write the settings so it reflected the true capacity, they both now work fine. Perhaps there’s a program like that which works with SD cards?
Fake memory cards from China – that’s only the beginning. Wait until your Doctor prescribes some life-saving medicine for you, and it turns out to be a fake from China! I live in Indonesia, and this is a very real problem here.
I got a fake 8GB SD a while back. I think it wasn’t a space problem, but not sure since I never really used it. But it was 4 times slower than a similar ExtremeIII card that I already had.
Opened a dispute and got my money back, plus I kept the card.
At first I kinda LOL’d to this, but now I have new 2 GB microsd card and I’m getting “out of space” at ~300 MB.
I’ll see what scam-o-matic says and then publish the details of the card.
Test passed. Formatted OK, file copy was successful.
(Just remembered: there were some files on the new card, virus maybe? :D)
Please be kind and respectful to help make the comments section excellent. (Comment Policy)