?
Solved

anti cracking techniques

Posted on 2009-04-11
6
Medium Priority
?
689 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 13

Accepted Solution

by:
Alan earned 400 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 400 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 400 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 400 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 400 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

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

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

Introduction Many of the most common information processing tasks require sorting data sets.  For example, you may want to find the largest or smallest value in a collection.  Or you may want to order the data set in numeric or alphabetical order. …
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…
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.
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

800 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