Solved

anti cracking techniques

Posted on 2009-04-11
6
629 Views
Last Modified: 2012-05-06
hello i am a beginner programmer and i would like a list of as many basic and advanced techniques to stop crackers and reverse engineers from cracking my program

no need for example code just the methods will do
thanks
0
Comment
Question by:jamie_2008
6 Comments
 
LVL 12

Accepted Solution

by:
Alan3285 earned 100 total points
ID: 24123608
Given that every processor out there (of whatever type you are programming for) is effectively a disassembler for your compiled code, you are onto a loser there.

I suppose you could write it really badly - that will make it harder for anyone to follow from source or from dis-assembled code!

Seriously though - why are you concerned about this at the beginning of your programming life?  I would suggest you concentrate on writing excellent code that compiles quickly and efficiently and avoids bugs and security holes that most programmers leave in (buffer overflows being the most heinous crime and one of the most easily avoided out there!)

HTH,

Alan.
0
 
LVL 2

Assisted Solution

by:TheSailor
TheSailor earned 100 total points
ID: 24149182
As a beginning programmer, the risk for a reverse engineer / cracker to be interested in your programs right now is very small.

As a start you should consider that protection from crackers really doesn't exist. What does exist, is protection from the casual user who would use your program in a way not allowed. As the mass interest in a program rises, even the casual user will find a solution provided by a more skilled reverse engineer.

Anyway, there are still programmers trying to avoid programs being reverse engineeres.

Some methods are
- dynamic code (self-modifying or generated on the fly)
- encrypted code which is temporarily decrypted
- code on external devices (dongles and so on)
- anti-debugging and anti-anti-debugging and anti-anti-anti-debugging ... code
0
 
LVL 8

Assisted Solution

by:BdLm
BdLm earned 100 total points
ID: 24155416
hacking only make sense
a)  if you can become famous hacking a software or application
b) if you can earn money
adjust the security needs to the possible win for a hacker, security donngle are a very good option but also expensive for you  
0
 
LVL 1

Assisted Solution

by:JosephGermanOcena
JosephGermanOcena earned 100 total points
ID: 24191078
Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g., a mechanical device, electronic component, or software program) apart and analyzing its workings in detail to be used in maintenance, or to try to make a new device or program that does the same thing without copying anything from the original.

http://en.wikipedia.org/wiki/Reverse_engineering
0
 
LVL 8

Assisted Solution

by:doraiswamy
doraiswamy earned 100 total points
ID: 24193930
Hello Jamie,

As the others have pointed out, as a beginner you really should not be concerned about your programs being cracked as it would distract you from the objective of becoming a better programmer. Having said that , adding to TheSailor's post, Obfuscation is another technique in case you are programming in .NET. Dotfuscator is a program that renames method names, property names and so on, so that they become meaningless to a cracker.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Help with Javascript syntax 4 106
while loop over for loop 7 79
linearIn  challenge 23 65
seriesUp challenge 7 107
The greatest common divisor (gcd) of two positive integers is their largest common divisor. Let's consider two numbers 12 and 20. The divisors of 12 are 1, 2, 3, 4, 6, 12 The divisors of 20 are 1, 2, 4, 5, 10 20 The highest number among the c…
Iteration: Iteration is repetition of a process. A student who goes to school repeats the process of going to school everyday until graduation. We go to grocery store at least once or twice a month to buy products. We repeat this process every mont…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

746 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now