FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour copy protection
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
copy protection
Posted: Sun Feb 22, 2009 02:27 AM

How protect an application for NOt copy ?
user code + harddisk number ?
have you an sample function ?

Best Regards, Saludos



Falconi Silvio
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: copy protection
Posted: Tue Feb 24, 2009 08:37 PM

Hello Silvio,

I just tested a Application, that burns a serial to the EXE-file.
It works, but the problem : I don't want to edit every time the password, to start the application.
I will look for something, stores the password encrypted to disk, after it is accepted.

Maybe the sample-files in FWH can help You :
in folder samples : PROTECT.prg and TESTHARD.prg
PROTECT.prg works with USB.
If I have the time tomorrow and You can still wait, I will try, to find a solution just with passwords.
Using harddisk-informations, I think it is not a good idea, You will have support-problems.

Maybe Winguard can do also something, You still need :
It's FREE, no adverts, nag screens or spyware

Lock Programs, Applications, EXE Files with a Password
Encrypt Files, Folders and Entire Drives with Strong 128 bit AES
Disable users changing the Desktop Wallpaper
Disable Windows at Boot and the Boot Keys (F8) *
Disable Software Installation *
Password Protect Windows Explorer
Password Protect your Web Browser, inc. Internet Explorer, FireFox, Opera and Downloads
Lock Zip and Self Extracting files, Desktop, Task Keys and setup multiple users
Works alongside your firewall and anti-virus program

http://www.winguardpro.com/

Regards
Uwe :lol:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: copy protection
Posted: Tue Feb 24, 2009 11:19 PM

Uwe,
the problem is simply
We are on te beach
on the beach there are many chalets
but only one purchase my application
one chalet have my program : installed it on his hard disk
then take his hard disk and give it to another chalet
the first chalet re installed my software
and then there are many chalet but one license
How I can make ?

Best Regards, Saludos



Falconi Silvio
Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: copy protection
Posted: Tue Feb 24, 2009 11:58 PM

Hello Silvio,

that is exactly the protection-system, the producer of my RESOURCE-Builder uses.
1. I have a tríal-version.
2. I have to send them my Harddisk-No.
3. I get a coded number from the harddisk-no. in return.
4. I add the return-number at Prog-start and the application is connected to the harddisk.
It is not user-friendly, because You cannot move the software to another computer.
But that is exactly what You want.

It seems, that is the only solution, to solve Your problem.

What to do :
1. Write a little exe-file to detect the Harddisk-no.
2. Send the file to the customer.
3. He starts the appl. and gets the harddisc-no of his computer.
4. He will E-mail the number to You.
5. Include the Harddisk-no.-check in Your application.

Regards
Uwe :lol:

Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: copy protection
Posted: Wed Feb 25, 2009 12:07 AM

have you an sample ?

Best Regards, Saludos



Falconi Silvio
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: copy protection
Posted: Wed Feb 25, 2009 12:22 AM

Silvio,

Besides the harddisk serial number, you can also use the netcard ID, which it is a unique ID for each network card:

MsgInfo( GetNetCardID() )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: copy protection
Posted: Wed Feb 25, 2009 01:38 AM

Hi Silvio,

How about use USB Keypro hardware key? Very easy use and control.

Regards,

Richard

Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: copy protection
Posted: Wed Feb 25, 2009 07:12 AM

Silvio,

keep in mind that

GetNetCardID()

could be an array, too.

Best regards,
Otto

Posts: 1387
Joined: Fri May 23, 2008 01:33 PM
Re: copy protection
Posted: Wed Feb 25, 2009 03:04 PM

Hi,

I use HASP dongle with Protection Plus (from softwarekey.com) licence file.

I kept HASP ids and customers information in licence file. When my application starts, it reads the licence file. it find out the hasp ids. and check the hasp dongle is connected and it is really this id.

I have no problem with it. I gave the hasp dongle with licence file to every customer.

The Protection plus can also be used alone without hasp key.

Regards,

Regards,



Hakan ONEMLI



Harbour & MSVC 2022 & FWH 23.06
Posts: 729
Joined: Tue Oct 18, 2005 06:49 PM
Re: copy protection
Posted: Wed Feb 25, 2009 03:28 PM
Silvio

Has you tried: http://www.softwarekey.com/swk_products/plus

I think PPP, the LIB that come from Clipper days, is the best software protection that we can have.

Do a "PPP" search in this forum for more information.

Regards,

George
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: copy protection
Posted: Wed Feb 25, 2009 04:21 PM

My budget is poor...
I wish something simply create in fwh any sample ?

Best Regards, Saludos



Falconi Silvio
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: copy protection
Posted: Wed Feb 25, 2009 05:49 PM
Hello Silvio,

I use this code.
ABC 99, etc I insert for fake.
Regards,
Otto


Here I test if a valid license exists:

Code (fw): Select all Collapse
IF lizenz() = .F.
   Msginfo("no lizenz")
ENDIF





Code (fw): Select all Collapse
func Lizenz()
   LOCAL cLizenzNetz  := GetPvProfString( "LIZENZ","Lizenz", "9999", ".\INI\LIZENZ.INI" )
   LOCAL sninfo          := ALLTRIM(nSerialHD())
   LOCAL cBiosDate    := fBios()

   IF  ALLTRIM(cLizenzNetz) = "ABC" + ALLTRIM(substr(snInfo,3,2) + "-" + "99" + substr(cBiosDate,7,1) + substr(snInfo,2,1) + substr(cBiosDate,8,1))
      return(.t.)
   ENDIF

return (.f.)



function fBios()
   local oReg 
   local uVar

  
If Empty( uVar )
   oReg := TReg32():New( HKEY_local_MACHINE, "Enum\Root\*PNP0C01\0000", .f. )
   uVar := oReg:Get( "BIOSDate", "" )
   oReg:Close()
Endif

Return(uVar)
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: copy protection
Posted: Thu Feb 26, 2009 03:51 AM

where is the data of HKEY_local_MACHINE

Best Regards, Saludos



Falconi Silvio
Posts: 1195
Joined: Mon Oct 17, 2005 05:41 AM
Re: copy protection
Posted: Thu Feb 26, 2009 06:43 AM
Code (fw): Select all Collapse
#define  HKEY_LOCAL_MACHINE      2147483650


Regards,
Marc
Regards,

Marc



FWH32+xHarbour | FWH64+Harbour | BCC | DBF | ADO+MySQL | ADO+MariaDB | ADO+SQLite
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
Re: copy protection
Posted: Thu Feb 26, 2009 09:24 AM

ok but I not Understand How it protec from copy a exe

Best Regards, Saludos



Falconi Silvio