Important alert: (current site time 7/15/2013 6:24:08 PM EDT)
 

article

Stopping Rippers

Email
Submitted on: 4/28/2004 3:57:46 PM
By: fritz0x00  
Level: Advanced
User Rating: By 11 Users
Compatibility: C, C++ (general), Microsoft Visual C++, Borland C++, UNIX C++
Views: 9579
author picture
(About the author)
 
     Teaches simple techniques to keep your software from being a victim of rippers(A plagiarist who targets computer software; One who rips.) Its not 100% complete but it does offer enough information to be VERY useful to developers. (Please rate)

This article has accompanying files
 
 
Terms of Agreement:   
By using this article, you agree to the following terms...   
  1. You may use this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this article from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.
				See zip file.

winzip iconDownload article

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this article, you agree to the following terms...   
  1. You may use this article in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this article from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.


Other 6 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this article (in the Advanced category)?
(The article with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
4/29/2004 2:58:56 PMAJ1

Hi Zak,
I get a compiler error, error C2065: 'IsDebuggerPresent' : undeclared identifier. What header file am I missing?

Thanks,
AJ.

(If this comment was disrespectful, please report it.)

 
4/29/2004 8:23:13 PMZak Farrington

Hi AJ
As I said before I was using MFC... but I do know that you need to link Kernel32.lib in your linker settings and make sure you #include ...
Also check this out here:
http://msdn.microsoft.com/library/en-us/debug/base/isdebuggerpresent.asp

Hope
that helps!
(If this comment was disrespectful, please report it.)

 
5/1/2004 3:39:02 AMSeth McDowell

This code is quite silly and pointless, as it doesn't stop people from messing with your program (who changes window captions anyhow?) With a decent disassembler it takes ~5 seconds to locate the imports and search for IsDebuggerPresent, then overwrite the area with NOPs and presto, the other presented option is now useless.
(If this comment was disrespectful, please report it.)

 
5/1/2004 3:45:23 AMSeth McDowell

To quote your article, "A little about the common ripper: he is uneducated, unethical..." "...human who has nothing to do except steal your software, put his name all over it and call it his.... Like I said before, whether the ripper is doing it for glory, financial profit and etc, he is a developers worst enemy." ---

That is just plain silly and wrong. Many people who play with compiled applications/protection schemes do it for the challenge, and are quite knowledgeable.
(If this comment was disrespectful, please report it.)

 
5/1/2004 3:45:32 AMSeth McDowell

Another quote, "Your the person who can take the debugging ability away from the ripper, but remember I don't approve of malicious coding so if you want to delete alot of system files and screw him up, thats your decision!" --- Destruction of someone else's property due to their being curious is not only morally wrong, but also (in many, many countries) ILLEGAL. If you don't approve of such behavior, DON'T EVEN MENTION IT to avoid giving people ideas.
(If this comment was disrespectful, please report it.)

 
5/4/2004 9:37:12 AMZak Farrington

I do agree with your last comment about how I shouldn't of mentioned it... but your comments about how a ripper is unethical is dumb... Some one who wants to steal your software has ethics? I think not... I'm not talking about a reverse engineers here, I'm talking about little kiddies with reshack who like to put there name over things they didn't write... And thats the main point of this article(thus far), simple techniques to keep your applications getting reshacked, so yes things like checking the window title IS useful...
(If this comment was disrespectful, please report it.)

 
5/4/2004 9:39:43 AMZak Farrington

But I do see where you're coming from, I think your confused... this isnt a article about keeping your software 100% protected from some one who really wants to mess with it, which usually there isnt many of people who want to add functionality to your software via reverse engineering unless its insanely popular, but how often does a 10 year old kid come across a good program on google and want to call it his to impress all his friends? Alot more often... see where I'm coming from now?
(If this comment was disrespectful, please report it.)

 
5/4/2004 4:33:46 PM

I don't find any of this useful whatsoever. With hardly any knowledge or training someone can jump over these "protections" with no problems. I could also couldn't care less if a 10 year old kid was trying to impress his friends by changing my programs.
(If this comment was disrespectful, please report it.)

 
5/5/2004 3:16:55 PMSeth McDowell

If you're just wanting to stop kiddies from tampering with the program name/author by using ResHacker or the like, don't keep the strings or program name in a resource! Anyhow, I've been working on a DLL module that provides checksum services to (slightly) prevent tampering, but in the software world, if it can be done, it can be undone... any prevention methods are just stumbling blocks, some larger than others
(If this comment was disrespectful, please report it.)

 
1/28/2005 4:39:34 AMKenny Roberts

Firstly, Iv known you for a while now. So dont let this comment bug you too much. But I have to agree, that you wasted your time on this. You spent, what, at least 3 days on something that will only stop a little script kiddy? Hmm not worth the while bro.. Well Cheerz and good luck coding, or w/e it is your doing
(If this comment was disrespectful, please report it.)

 
1/28/2005 4:40:17 AMKenny Roberts

Oh btw, its Bugz..
(If this comment was disrespectful, please report it.)

 
8/18/2005 5:33:47 PMZak Farrington

Oh wow, been awhile since I've been here.

If you're having trouble using IsDebuggerPresent(), be sure to '#define _WIN32_WINNT 0x0400'
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular article, please click here instead.)
 

To post feedback, first please login.