Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C#: How to Make it Harder for Hacker/Cracker to Get Around or Bypass the Licensing Check? [closed]

Tags:

c#

licensing

First of all, I understand that almost all applications can be cracked (especially written in C#). My question here is to make it a little bit harder to crack.

Suppose that the user has saved the License file under the Application.StartupPath, where all users can read.

And then, every time when the application starts, it will check if it can find and verify the license file.

If the application can find and verify, we let the user to continue with full functionalities.

If not, we prompt a MessageBox showing "Unlicensed, continue to use with trial version, functionalities limited."

My question is, if I'm a hacker/cracker, I would try to get around or bypass the licensing check instead of cracking the license file, because, if we use RSA signature, it's very difficult to crack a license file.

So where should we put the license check?

P.S.: and also, is it safe if I put a global variable IsLicensed (true / false) to limit the functionalities? Is it easy for a hacker to change IsLicensed = true?

like image 363
Peter Lee Avatar asked Dec 26 '10 02:12

Peter Lee


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr. Stroustroupe.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What is C language basics?

What is C? C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.


1 Answers

The #1 law of software licensing: You don't control your software once you allow it to be installed on a computer you don't control.

If you want to keep control over your code, you need to make it a web service and give the end user just a thin client that interfaces to that web service.

In many scenarios, this is unacceptable, because users want to be able to use their software even when they don't have an internet connection.

In almost all cases, you should focus on making the user experience better, and all forms of copy protection make it worse instead. Once you get to the point where the experience of downloading from a warez site and running it through several virus scans is better than doing the license setup for the legit version, you've lost.

like image 102
Ben Voigt Avatar answered Oct 04 '22 22:10

Ben Voigt