an assembly just for me

  • Thread starter Thread starter Ignacio Domínguez
  • Start date Start date
I

Ignacio Domínguez

Hi there. I'm asking for your help this time because I need to create a .net
assembly that is only available to applications I make. I need that only my
apps are able to use it (create an instance). Is this possible? What is the
simplest way to do this?

Thanks

Ignacio Domínguez
 
I believe not in a simple way, as anybody can call the assembly in the way
you do. You could build in some kind of authentication in your library...
but everything can be hacked...
Why do you want to do that anywayz?

Greetz,
-- Rob.
 
Piracy is a big deal here. You won't believe. There are stands on the
streets where you can find music CDs, software, VHS movies, DVD movies, just
about everything on burned CDs/DVDs. You can buy them anywhere in the city.
Some people even sell DVD movies and VHS movies (burned/copied) on highways
while there's a trafic jam, and the movies are sold starting the same day
they are first presented in the cinemas (some even before that).

Even though there are laws that prohibit this kind of things, they are not
applied at all. Authorities are aware of this but simply do nothing about
it. You can find the stands every day on the same location, sometimes even
in malls. Sometimes you can find police officers buying this stuff (mostly
you see them only walking by the stands). And it's not like they're hiding
the ilegal merchandise; you see the CDs exhibited in endless rows and piles.
Of course in the slim CD cases with badly inkjet printed covers, or with no
covers at all............ I think you get the point.

I'm afraid that if I start selling my software, eventually another developer
will get it somehow and start using my assemblies without permission, profit
from it, and there will be no way for me to stop him. Not even legally! So
after I spent a lot of time developing my application, and hoping to make a
living out of freelance software development, no one will buy my software if
they can find it burned on the street on their way home, or in the best of
cases if they can buy a cheaper version that uses my stolen assemblies.

Can anyone suggest a good way of preventing my software from being stolen? I
know big companies spend lots of money trying to accomplish this, and
there's always a way around, but anything that might help will be greatly
appreciated.

Thank you

Ignacio Domínguez
 
Here's what I do:
When I create a class that I don't want anyone else to have access to, I
make the constructor method require a "password" in order for the major
functions of the class to work. Consider this:

class Test {
protected bool correctKey = false;

public Test(double key) {
if(key != 29387568727) {
MessageBox.Show("You are trying to instantiate" +
" this class with the wrong key.");
}
else correctKey = true;
}

public int DoSomething() {
if(!correctKey) return -1;

return 0;
}

}

you would simply instantiate the class with the key you specify in the big
number. Hope that helps!

Chris LaJoie
 
I can obfuscate my assembly, making it at least a little bit harder for
someone to steal the code, but why would they want to decompile it when they
can use it as it is stealing the entire assembly...
 
Back
Top