I think the counterargument (elsewhere in this thread) is pretty persuasive -- that this defense won't help much if you intentionally set out to damage counterfeit chips.
Think about it this way. Suppose the driver works like this:
```
if(counterfeit()){
// do something harmful to the identified device
}
```
If you have a counterfeit chip, and you run the driver, and the driver breaks your chip, then you are in fact using the "official driver" for its "intended purpose." Its intended purpose is to break your chip, and it works just fine. It just lied to you about its intended purpose in order to persuade you to install it.
Of course if the code does something that is safe and useful to do on the legit chip, and just happens to break the counterfeit chip, that's very different. I don't claim to know which thing is happening in this case.
In this case the driver is executing two writes which a legitimate chip would ignore, but which the counterfeit responds to and actions. Those writes just happen to be the position in the counterfeit's EPROM where the USB PID is stored, and just before where the checksum is stored.
I think you'll find I'm not in any way suggesting that it was a coincidence. It's a classic Electronic Counter Measure, exploiting the behavioural differences between the 'real' and 'fake' hardware - EXACTLY the same kind of thing you'd see being executed against pirate pay-TV smartcards, for example.
Think about it this way. Suppose the driver works like this:
``` if(counterfeit()){ // do something harmful to the identified device } ```
If you have a counterfeit chip, and you run the driver, and the driver breaks your chip, then you are in fact using the "official driver" for its "intended purpose." Its intended purpose is to break your chip, and it works just fine. It just lied to you about its intended purpose in order to persuade you to install it.
Of course if the code does something that is safe and useful to do on the legit chip, and just happens to break the counterfeit chip, that's very different. I don't claim to know which thing is happening in this case.