CHM copy protection?

This forum is for all Flare issues related to the Microsoft HTML Help target.
This target produces "CHM" files in the output.
Post Reply
DocNiNjA
Jr. Propeller Head
Posts: 9
Joined: Thu Mar 01, 2007 7:18 am
Location: Boston, MA

CHM copy protection?

Post by DocNiNjA »

I've recently been asked to find a way to add copy protection to our CHM deliverables. It certainly doesn't need to be bulletproof, but should be enough to discourage our users from passing on the information.

Has anyone out there done this before? Any tips would be much appreciated!
Jumping over an office building near you.
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: CHM copy protection?

Post by RamonS »

I haven't done this before, but I have many times discussed the issue - and each time the consensus is that it is utterly pointless. If you do not want to run into the situation where the contents of a help file are passed on then don't even release that information. If you do release it anyway, it will get passed on. You could add file protections and encryptions and watermarking and what have not, but if one really wants to they can make screen shots or copy and paste the text or just retype it. I also think that adding anything in will make it even more likely that people try and pass on the contents, because now you tell them explicitly that you don't want them to do it. There is something twisted with people that exactly that triggers the urge in some to do it anyway.

Now, there are means to make it more difficult. Rather than having the help in an external file with a commonly known and decompileable format you should investigate including the help into the application's binary file. That way access to the help content is only possible by running the application and for that several tools are available to make unauthorized use of the application quite difficult (not impossible as you can see at the many warez sites). Now, keep in mind that this still will not prevent people from making screen shots or retyping the content. Copy and paste can be countered by turning everything into an image file and displaying that through the application. The disadvantage with that is that you have a overly bloated executable.

I leave it at that for now, but you really need to go back to the requestor and find out why exactly passing information on is to be prevented. Is it because of competition? Trade secrets? Sensitive personal information? The attempt to squeeze out extra bucks through the sale of documentation? Some other reason? Each reason will have different approaches that definitely will be better than just slapping some mindless copy protection onto a chm.
DocNiNjA
Jr. Propeller Head
Posts: 9
Joined: Thu Mar 01, 2007 7:18 am
Location: Boston, MA

Re: CHM copy protection?

Post by DocNiNjA »

Yeah that's certainly a conversation I had. The impetus here is keeping detailed product info away from competitors. Obviously, we have no illusions that someone determined to pass on product information will find a way to do so, but we'd like to build in a deterrent that would force people to make a conscious effort to break the rules.

I tried using JScript to check for the presence of one of the DLLs in our Program Files folder. This works, but an alert appears on each topic, asking the user if they want to enable ActiveX controls (which it totally unusable). Is there a more seamless approach I could take? Or, is there an easy way to add a CHM to a list of "trusted" applications so that these alerts don't appear?
Jumping over an office building near you.
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: CHM copy protection?

Post by RamonS »

Is that detailed product info necessary for using the application? I don't know the circumstances, but if it is not needed then I'd pull it out of the help and distribute it on an "as needed" basis and maybe require a signed NDA in exchange. That gets into contracting and needs some input from the legal team, which is the place I'd take this issue to begin with. Maybe the current licensing already prohibits passing on that information. If it does, then leaving things the way they are may be an option if the reason for protecting the contents is merely for having legal leverage. And maybe using your DLL check may be OK if you pull that info out and craft a separate CHM for the detailed information.
Yet again, if it is really information of such importance my recommendation is to just take it out of the CHM.
Pete Lees
Sr. Propeller Head
Posts: 150
Joined: Thu Feb 09, 2006 12:33 pm
Location: Bracknell, Berkshire, UK

Re: CHM copy protection?

Post by Pete Lees »

Hi,

You may be able to pick up a few ideas on this subject from the following thread on the MSDN "Developer Documentation and Help System" board:

http://forums.microsoft.com/MSDN/ShowPo ... 3&SiteID=1

The fact is, though, that Microsoft simply didn't anticipate this requirement in its design of HTML Help, and files in this format are inherently insecure as a result.

Pete
Richard Ferrell
Propellus Maximus
Posts: 840
Joined: Mon May 01, 2006 10:11 am
Location: Inside California

Re: CHM copy protection?

Post by Richard Ferrell »

We do have a technote that shows how to protect images in a Webhelp from being copied out, it might guide you down the correct path
Richard Ferrell

Certified Madcap Trainer
Image
Bernie123
Propeller Head
Posts: 17
Joined: Sun Jul 26, 2009 11:20 pm

Re: CHM copy protection?

Post by Bernie123 »

There is a piece of software:

CHM Security OwnerGuard

http://www.armjisoft.com/?page=chmownerguard

But the cost makes it prohibitive excpet for the most commercial of applications
Post Reply