Any suggetions ?

172 views
Skip to first unread message

Jack0190

unread,
Dec 20, 2001, 3:12:36 AM12/20/01
to
Hiho.

I am a VB Programmer and I read some articles here - the most interesting
were about software serials and protection.

Sure I used some of them and I often start smiling when I see lame
protections made by "professional" programmers.

So - I just had to think about how to protect my own progs from being
cracked. And there are many ways.

One way I thought about was giving 3 components with the distribution :

* Shareware EXE (With all features NOT included in the code)
* REGISTER EXE
* FULL VERSION.EXE (encrypted)

So - I added no nag screens to the shaeware version , but I removed some
functions - and crackers CAN'T add them - So this shareware version was
safe in a way.

The next thing was, that I created the register.exe. It displayed a PIN
code, which was based on some PC configuration settings like username, HDD
serial no etc... This PIN code was displayed and it had to be entered into
each order-form - by fax or by WWW.
This PIN was a 24 digit numeric value.

Then I encrypted the FULL.exe with a simple algorithm. I took a 72 digit
long numeric code :

(example with 6 digits)

123456

So this encrypter module added the value of each digit to the byte - if the
full.exe had following bytes (random values), the encrypted version would be
like this

12 15 11 23 11 12 14
+1 +2 +3 +4 +5 +6 +1
13 17 14 27 16 18 15

Now, the exe was encrypted and it could only be decrypted usind the same
code backwards (-1 -2 etc..)

Ok, when someone came and had a Pin, i started to generate a serial for him
:

I took my master key, and added his pin digits to my master digits ( +
checksum )

User PIN : 2 3 5 6 8 7
Master Code : 1 2 3 4 5 6

User Code : 3 5 8 0 3 3

Next step was decryption :

The user entered his reg-code and register.exe started decoding

it just took it and subtracted the USER PIN from it :

User Code : 3 5 8 0 3 3
User PIN : 2 3 5 6 8 7

Master Code : 1 2 3 4 5 6

Now the program had the master code and yould decrypt the exe successfully.
I added some sort of checksum to ensure, that the full.exe was decrypted
fully. and you can't reverse checksums :))

---------

Known problems :

Problem : Decrypted version could be redistributed.

Solution: I added some Dummy Label control to my APP with the caption
"<Begin>XXXXXX<End>" and made it invisible. My register exe had no
difficulties to find "<Begin>" in the full exe file - it changed the XXXXXX
to the User Code (which was unique) and so i could find the scapegoat, who
was distributing my programs illegally.


----------

Additions :

* Checksum check via Webbrowser/Winsock control and a webserver having a
database for checksums.


----------

OK, WHAT DO YOU THINK ? GIVE SOME OPINIONS AND COMMENTS :)


Chris

unread,
Dec 20, 2001, 4:32:48 PM12/20/01
to
Hi Jack,

Sounds Good. But still doesn't stop re-distribution. What about storing the
hardware number inbetween the <begin><XXXX><end> and if they do not match
then have to apply for a new rego and answer a simple personal question that
was stored when user first purchase software?
--
Regards,

Chris

Oza...@swbell.net

unread,
Dec 20, 2001, 11:14:45 PM12/20/01
to

"Jack0190" <Jack...@t-online.de> wrote in message
news:9vs6gq$rd2$00$1...@news.t-online.com...

Frankly, I think there is way too much concern about piracy. My ideals may
be different than most, but software that has nag screens or intricate
registration schemes turn me completely off, as an end user.

It has been my experience, that when someone gives me some software to "try
out" without limits or constrictions, I'll get used to using that program
enough to where it becomes a necessary staple in my suite of software.
After that, I will buy almost every version that is released.

Software that have nag screens, short time limits or usage limits almost
always irritate me to the point where I would never buy their program. Good
examples of where freeware was distributed for several years were, McAfee's
Anti-Virus, the Zone Alarm firewall and the very fine Paintshop program.
These programs were all totally free for several years before they finally
started charging for them and now I buy them all.

In my opinion, a new unknown software developer must do three basic things.
Develop "useful" software, develop "good" bugfree software that is tested on
many different hardware configurations and finally, they must find a very
fast an easy way to get it distributed into homes.

The third step has to occur fast because new technology and competition will
obsolete their software before it has a chance to become popular. A new
unknown software developer usually can't handle that last step and they will
frequently have trouble with the second step too because they don't have the
resources for the testing process.

Frankly, I think the freeware route is the best way to get introduced into
the market place. It gives you a chance to become popular, it gives you a
chance to become trustworthy and build a customer base, it gives you some
time to iron out unexpected wrinkles in the product and it practically
eliminates the competition because of the freeware aspect.. Then when your
version 3 is ready for release you will have a customer base that is more
willing to plunk down hard cash for a product on which they've developed
some confidence.

Jerry Hammond

unread,
Dec 24, 2001, 2:53:26 AM12/24/01
to
In article <VGyU7.1091$e%7.518...@newssvr11.news.prodigy.com>, Ozark58
@swbell.net says...

> Frankly, I think the freeware route is the best way to get introduced into
> the market place. It gives you a chance to become popular, it gives you a
> chance to become trustworthy and build a customer base, it gives you some
> time to iron out unexpected wrinkles in the product and it practically
> eliminates the competition because of the freeware aspect.. Then when your
> version 3 is ready for release you will have a customer base that is more
> willing to plunk down hard cash for a product on which they've developed
> some confidence.
>
>
>

I believe this is some very far-seeing a fundimentally sound advice.

Best,
Jerry
--
War has many faces; or, rather, in war men and nations wear many faces.
--Eric Severeid

Gerry Quinn

unread,
Dec 28, 2001, 7:15:25 AM12/28/01
to
In article <MPG.16907ed2c...@news.lvcm.com>, Jerry Hammond <jer...@lvcm.com> wrote:
>In article <VGyU7.1091$e%7.518...@newssvr11.news.prodigy.com>, Ozark58
>@swbell.net says...
>> Frankly, I think the freeware route is the best way to get introduced into
>> the market place. It gives you a chance to become popular, it gives you a
>> chance to become trustworthy and build a customer base, it gives you some
>> time to iron out unexpected wrinkles in the product and it practically
>> eliminates the competition because of the freeware aspect.. Then when your
>> version 3 is ready for release you will have a customer base that is more
>> willing to plunk down hard cash for a product on which they've developed
>> some confidence.
>
>I believe this is some very far-seeing a fundimentally sound advice.

Except with freeware, you don't build a customer base, because you don't
have any customers. You build a user base. And you pay for every user
you get.

This can work, but it can also be a means of self-delusion. Look at all
the websites that collapsed when they tried to charge users.

Gerry Quinn
--
http://bindweed.com
Puzzles, Arcade, Strategy, Kaleidoscope Screensaver
Download evaluation versions free - no time limits
Check out our new arcade-puzzler "Bubbler"!

Reply all
Reply to author
Forward
0 new messages