Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 710
  • Last Modified:

anti cracking techniques

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
jamie_2008
Asked:
jamie_2008
5 Solutions
 
AlanConsultantCommented:
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
 
TheSailorCommented:
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
 
BdLmCommented:
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
 
JosephGermanOcenaCommented:
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
 
doraiswamyCommented:
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

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now