Short answer: this is the beginning of the arms race. You can either confuse or defend your opponents' reengineering and recycle, or you can focus on improving your client software so that users are more likely to use your software than your opponents software. I would say that if your customers are the best tools, your users will use your customers. If there is something that your competition is doing better than you, pay attention.
The answer is longer: when each client boots up, create an x.509 certificate on the client side, sign it with the CA key. Configure your web server to require and verify a client certificate with each request.
One of your legitimate users may provide your client certificate to your adversary. They can bake in one, ten, thousands of different legally acquired certificates in their software, but you can knock down each of them (publish the key in the certificate revocation list that your web server uses when checking clients) when you find them, then contact individual end users who are disappointed when their keys stop working.
source share