views:

30

answers:

2

Before shipping a product to customers, I'd like to remove as much information as possible from the executable to minimize the ability to reverse engineer our product. Thus far this consists of running the strip command like this:

strip -s myAppHere

Is there anything else folks recommend doing to our application before giving it to customers to reduce the chance that we give away our 'secret sauce'?

+2  A: 

Don't make a big thing of your "secret sauce".

Seriously - if people think you're trying to hide something they'll go looking and the more effort you've put into hiding it the harder they'll look. Eventually you'll get to the point where you'll have a negative impact on your regular users who wouldn't even think about trying to reverse engineer your product.

What you're doing is probably enough to put off the casual "inspector", but you probably can't do enough to deter the determined.

The situation could be seen as analogous to the film and music industry who DRM their product to the hilt and only end up annoying the regular users who have to jump through hoops to view and listen to their legally bought content, while it hasn't noticeably had an impact on piracy.

ChrisF
So for the casual inspector, just stripping is sufficient?
WilliamKF
@WilliamKF - I don't really know. I've never been that bothered about anything I've released to investigate, but I would expect so.
ChrisF
A: 

I've seen stripped apps that were obfuscated prior to compilation cracked and seeded on The Pirate Bay the day they were released. A question similar to this would be "How can I keep people from downloading images on my web site?"

There is no way to stop someone who is determined to discover how your application works.

It is better to focus on your brand, make it equate to quality, value and stability in the eyes of your current and potential customers. If you do that successfully, it doesn't matter who gets the recipe for your secret sauce.

Tim Post
Not looking for a perfect solution, just wondering if there are other easy things to do other than stripping.
WilliamKF