I
i
Hi,
I have benefited from a profitable idea for a stand-alone program that
I've created in C#. Up until recently, my method of licensing hasn't
been touched. I base authorization on user accounts, and the program
sends and receives RSA encrypted data in order to determine whether or
not the end user is allowed to continue using the program. This has
worked out for about a year without any problems.
What I've found recently is that a certain person has entirely
bypassed this setup by taking it upon himself to remove or alter - via
a hex editor, I assume - the "checking" parts of my program.
Yesterday, I put all the license check code in a method critical to
the program's functionality and pushed out the update to all my
clients. I assumed this would solve the problem, because up until now
all I've seen this person do is remove entire methods and flip class
variables. I was wrong in my assumption that one cannot edit or
remove individual lines of code within a method. My code is set up
roughly as the following:
public void method_always_called()
{
try
{
check license
if (result != expected)
{
exit
}
}
catch
{
exit
}
some critical functionality here...
}
The crack isn't just to change the != to a ==, because otherwise
accounts that are authorized wouldn't work, and such is not the case.
What do I do? I can't afford an expensive obfuscator, and the free
ones I can find are limited in what they can do. I have no training
in computers - everything is self-taught. Programming is something I
do in my spare time, after school (I graduate high school this year).
I really don't want to have to end my programming ambitions if/when
this cracked version gets out of hand.
Thanks in advance.
I have benefited from a profitable idea for a stand-alone program that
I've created in C#. Up until recently, my method of licensing hasn't
been touched. I base authorization on user accounts, and the program
sends and receives RSA encrypted data in order to determine whether or
not the end user is allowed to continue using the program. This has
worked out for about a year without any problems.
What I've found recently is that a certain person has entirely
bypassed this setup by taking it upon himself to remove or alter - via
a hex editor, I assume - the "checking" parts of my program.
Yesterday, I put all the license check code in a method critical to
the program's functionality and pushed out the update to all my
clients. I assumed this would solve the problem, because up until now
all I've seen this person do is remove entire methods and flip class
variables. I was wrong in my assumption that one cannot edit or
remove individual lines of code within a method. My code is set up
roughly as the following:
public void method_always_called()
{
try
{
check license
if (result != expected)
{
exit
}
}
catch
{
exit
}
some critical functionality here...
}
The crack isn't just to change the != to a ==, because otherwise
accounts that are authorized wouldn't work, and such is not the case.
What do I do? I can't afford an expensive obfuscator, and the free
ones I can find are limited in what they can do. I have no training
in computers - everything is self-taught. Programming is something I
do in my spare time, after school (I graduate high school this year).
I really don't want to have to end my programming ambitions if/when
this cracked version gets out of hand.
Thanks in advance.