When you say codes, I assume that you're talking about serials.
The best way that I have heard for ensuring that people aren't able to pirate your software, is to have the business logic on a secure server that you own. So the software would use a web reference to your server, do some validation of the serial and then the server is sent the information to be processed, it processes it and sends back the result, which is then displayed to the user.
Obviously if you just use a serial that matches a argorithm then that could be shared, so what you would probably want to do is have a serial, which is registered, which takes some hardware specific information about the machine that it is being run on and that unique serial/hardware information is stored in a database on the server and used for the authentication.
If you combine those two things then you have a pretty damn secure system, but there are a couple problems;
1) It means that the application will always have to be connected to the internet in order to be use
2) You would have to check several hardware serial codes so that if they change their graphics card but everything else stays the same then they can still use the system.
3) You would need to ensure that your server has high availability as if the customers aren't able to use your application because your server is down they wont be happy
thank u very much 4 ur help but i donot want to connect to the server i have asimple way in my first form load i put some code to check the cpu serial if it the same the form load if not it wont load and its ok but i need to protect the source code cuz if any hacker open my source code he will be able to change the cpu serial
I'm fairly certain that it does work with VB.Net 2005, I use it for work and I use VB.Net 2005.
This wont stop people from cracking it, it will just make it harder, it is NOT possible to stop people from cracking it, if someone wants to crack it then they will.
satal uare so kind and professional i have vb.net express edition and dotfuscator can be found in vs not vb is there any way to download it and add it to vb.net
another question i found many similar cpu id i gussed that the cpu id is uniqe but it not is it right
i have aquestion if i uses amodule calld encypt then i just used the encrypt in my code now if the cracker decompile my exe file he will read the inside code of module or he will just see the word encrypt which i used it to call the module i think if it work it will be better than dotfuscator it will make the cracker dont read or use any thing in your exe file
If someone decompiles your exe then they will get something similar to the exact code that you used to create the program, I'm not quite certain what you think encrypting something will do, as if you encrypt something within your application then you would need to code to do that, so when the cracker decompiles your code he would then have your encryption function (this is ignoring asymetric encryption, which from what you have said would be above your level of programming at the moment).
I'm going to sum up this thread;
If you provide someone with a .NET exe/dll then they WILL be able to decompile it.
If they decompile it they have access to ALL the code.
You can make it harder for them to understand by obfuscating your code, BUT they still have the code and with a bit of effort can understand it
If you encrypt something in your program, then when the cracker decompiles your code, they have access to your encryption code
There is NO way to stop someone who wants to see how your program works from having a look "where there is a will there is a way".