Preventing decompilation
-
Most code is not that important taken individually. Unless you have a trade-secret algorithm (which is patentable BTW? (idk) there is nothing that can be gained. "Until the day of his death, no man can be sure of his courage" -- Jean Anouilh
You can't patent algorithms. You have to patent the system/process around it. regards, Paul Watson Ireland FeedHenry needs you
eh, stop bugging me about it, give it a couple of days, see what happens.
-
If you take away the free donuts how many people that would have taken a free donut will not partake of the paid donut? Try the following experiment: Buy 1 dozen donuts 5 days a week and go to a large office and setup shop in the break-room. Sell the donuts for a profit (count your overhead and the office overhead, Fuel, etc.). Next go to a different but equally sized office and repeat only giving away the donuts. Repeat for several weeks. Then come back with data. "Until the day of his death, no man can be sure of his courage" -- Jean Anouilh
Well it's safe to say that in the first office you would have made some money or not depending on how good the donuts are, the market forces at work, the quality of your service etc. In the second office you are out of pocket 5 dozen donuts, the cost of gas etc. Perhaps in my original analogy we should put up a sign with the Free Donuts saying underneath "These donuts were stolen" and see how that affects the outcome. Anyway, this discussion is interesting and all, but what practical, personal experience in the business has taught me is what I go by so I'll take comfort in my heretical beliefs and let you take the last word if you care to reply. ;)
-
So yesterday a colleague of mine was telling me how easy it is to decompile .Net and Java compiled code. So this made me a little uneasy and I did a quick Google search to find out that this was something that could be done easily. I know a lot of people here write .Net code and some of use write java code. What do you do to prevent people from decompiling your compiled code? Is there any secure way to prevent this?
As the thread has mentioned, you want to Obfuscate your code. I researched this topic several month ago, and I discovered that it is quite reliable. Different vendors will increase the level of obfuscation; thus, making it that much harder to decompile the code into something useful (or worth taking). My search led me to investigate what would you do if you legitimately needed to recover code which you were entitled to, but you had lost your code. Restoring the code is quite expensive and difficult. Even on the simplest obfuscators, simple decompilation and recompilation fails ... there is not enough space to describe what all can be done. Nonetheless, language rules are far stricter than the byte code. Obfuscation will protect intellectual property most of the time ... but there are determined people out there that don't value their time at all and may take the time to decompile ... and rebuild the app. After a time analysis, I feel confident by saying that they usually could've coded the app in about the same time it took fix the decompiled obfuscated code. Unfortunately, obfuscation does not protect you from hardcoded values and such, nor smaller identifiable code block that may shed light or even reveal how a particular task was accomplished. During my research I did find vendors that could even protect you in these areas ... but I couldn't dream of affording their proud products. Just my 2 cents ... hope this is helpful to someone if not interesting. It is worth protecting your work always, even simple measures are better than none. :cool: Thanks, ElGatoRojo13