Reverse Eng in .au & In memory patching
Rhys (Faithless) <rhyskiddgmailcom> Monday, June 12 2006 02:50.24 CDT


I've been looking recently at the way reverse engineering is treated by Statute Law here in Australia. It's covered within the Copyright Act 1968 (with a few recent amendments) down in Division 4A. You can get links to the text of the Copyright Act 1968 from ComLaw if you're interested, it's fairly readable by non-lawyers.

While a vendor can set out one of those EULAs with the usual "you must not reverse engineer etc" provisions in the contract, the actual treatment of reverse engineering (IDA dumps etc are considered a reproduction in .au) and then adaptation on copyright is pretty interesting.

Amongst other things, it's considered fine to:
- "Reproduce computer programs to make interoperable products" (s. 47D),

- "Reproducing computer programs for security testing" (s. 47F)

- "Reproducing computer programs to correct errors" (s. 47E)

(1) Subject to this Division, the copyright in a literary work that is a computer program is not infringed by the making of a reproduction or adaptation of the work if:

(a) the reproduction or adaptation is made by, or on behalf of,
the owner or licensee of the copy of the program (the
original copy) used for making the reproduction or
adaptation; and

(b) the reproduction or adaptation is made for the purpose of:
(i) testing in good faith the security of the original copy, or
of a computer system or network of which the original
copy is a part; or
(ii) investigating, or correcting, in good faith a security flaw
in, or the vulnerability to unauthorised access of, the
original copy, or of a computer system or network of
which the original copy is a part; and

(c) the reproduction or adaptation is made only to the extent
reasonably necessary to achieve a purpose referred to in
paragraph (b); and

(d) the information resulting from the making of the
reproduction or adaptation is not readily available to the
owner or licensee from another source when the reproduction
or adaptation is made.



As a 'general' rule you can read the above statements with Reproduction == Reverse Engineered.

The last section governing reproduction to correct errors interests me the most, as it's where I'm planning on doing a bit of digging over the next few weeks. Determina's 3rd party mshtml.dll in memory patch for the createTextRange vulnerability is another source you might like to look to for the work being done in this area.

I haven't looked at the specifics of reverse engineering in other countries, but if you've got some reliable sources, or  some experience in the legal side of things PM me and I'll update this with more info.

Comments
Posted: Wednesday, December 31 1969 18:00.00 CST