|
| 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 |
|
(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...
- 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.
- 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.
- You may link to this article from another website, but ONLY if it is not wrapped in a frame.
- You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.
|
See zip file.
|
|
Download 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:
- Re-scan downloaded files using your personal virus checker before using it.
- 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...
- 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.
- 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.
- You may link to this article from another website, but ONLY if it is not wrapped in a frame.
- 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
|
Your Vote
|
| |
Other User Comments
|
4/29/2004 2:58:56 PM: AJ1
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 PM: Zak 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 AM: Seth 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 AM: Seth 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 AM: Seth 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 AM: Zak 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 AM: Zak 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 PM: Seth 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 AM: Kenny 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 AM: Kenny Roberts
Oh btw, its Bugz.. (If this comment was disrespectful, please report it.)
|
8/18/2005 5:33:47 PM: Zak 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.
|