Solved

anti cracking techniques

Posted on 2009-04-11
6
649 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Introduction A frequently used term in Object-Oriented design is "SOLID" which is a mnemonic acronym that covers five principles of OO design.  These principles do not stand alone; there is interplay among them.  And they are not laws, merely princ…
Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
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.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

863 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

18 Experts available now in Live!

Get 1:1 Help Now