Solved

How to prevent exe generation

Posted on 2002-06-14
6
371 Views
Last Modified: 2010-04-04
Hope somebody could give me some ideas about this:

I work in a Delphi development team as a programmer and project manager. As my responsability, I have to prevent that anyone of my team programmers take  the code with him, change a little the user interface and sales the product. Understand what I mean?

The Programmers needs to get access to all resources of the project (forms, units). I have been thinking in a some kind of restriction to prevent Exe generation like finding (in the build of project) for a hidden function or DLL or a password key. Another  fact is that the validation got to be hard to passby or find (you know, we are  programmers, we are smart).

All your comments will be apreciatted

NetoMan :)
0
Comment
Question by:NetoMan
6 Comments
 
LVL 2

Accepted Solution

by:
Hagen040798 earned 33 total points
ID: 7079745
Some Units should be used in only complied form (packages), compiled by you as example. Then add some special units into this package or units that need an registrationkey. When You sale the compiled Application You have the get the right Registrationkey to let these protected units properly working. As Registrationkey are best possible some asymmetric stuff used and some code of the DCU can be encrypted. The DCU Format is not public but they exists on the WEB some DCU decompiler. So I think it where possible to encrypt DCU's code selective. In the unit initialization there then checked the right registrationkey and all procedure can be decrypted.

All in one an very big effort, better if you don't trust the programmers would be a strictly contract, I mean.

Hagen
0
 
LVL 45

Assisted Solution

by:aikimark
aikimark earned 33 total points
ID: 7079826
NetoMan,

If you're that concerned about the honesty of your programmers, you need to do the following:
1. require non-disclosure agreements be signed by all staff.
2. require non-compete agreements be signed by all staff.
Note: both 1 and 2 usually apply to new applicants.  current applicants usually can't be forced to sign anything, unless you offer them something like a promotion.
3. create a "clean room" development environment with no email, no CD burners, and locked diskette drives.  The network in the room is not connected to other company LANs or the internet.
4. tie developer rewards to company performance.  If a developer pirates your software, they hurt part of their revenue stream.  Also, there is peer pressure to discourage piracy, since everyone is benefitting from software sales.
5. buy them new systems upon condition that they give you all their backups along with their systems.  You must agree to protect their privacy and destroy their backups.  This is tricky, since they must decide on the spot and you will follow them home to retrieve their system and data along with their new system, preventing them from hiding backups with company data.
0
 
LVL 9

Assisted Solution

by:ginsonic
ginsonic earned 33 total points
ID: 7080092
I don't think that you can protect yourself at this stage.

I have same problem here. I remove any floppy or CD-RW from my systems but this don't solve my problem ( an external divice ... ).No internet, too.

An ideea is to have on systems just dcu for used components. Somewhere verify if is your system ( bios serial, HDD serial .. ). But any protection can be crack :(

The best idea is to select your people and stimulate their to be honests.
0
 
LVL 2

Author Comment

by:NetoMan
ID: 7096828
I Agree with you guys that honesty and selectivity of the group is the "panacea" or the perferct environment. Since I can´t do anything about that, can you give me some examples/routines or references for implement some of the proteccionts you say.

All your comments are apreciated. I can split or give more points to all of you.

NetoMan :)
0
 
LVL 1

Expert Comment

by:pnh73
ID: 9010907
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Split between aikimark, Hagen and ginsonic

Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Paul (pnh73)
EE Cleanup Volunteer
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question