Obfuscation and sub classing

P

Pritam Kamat

Hi there
I was wondering about the following scenario. You have a class library
which you then obfuscate. Is it then possible to extend methods in
classes in the obfuscated code ?
Does this just depend on the obfuscator ?

The use is in a scenario where I send out a class library i intend to
obfuscate, but the users will need to extend behaviour.

regards
Pritam
 
S

S. Balk

I was wondering about the following scenario. You have a class library
which you then obfuscate. Is it then possible to extend methods in
classes in the obfuscated code ?
Does this just depend on the obfuscator ?

It's a good idea not to obfuscate *puclic* methods and fields
 
P

pete kirkham

Pritam said:
Hi there
I was wondering about the following scenario. You have a class library
which you then obfuscate. Is it then possible to extend methods in
classes in the obfuscated code ?
Does this just depend on the obfuscator ?

The use is in a scenario where I send out a class library i intend to
obfuscate, but the users will need to extend behaviour.

regards
Pritam

The three main 'obfuscatation' techniques are

* remove local variable table- this will not prevent your users using
your library, but will annoy them if they're using an IDE that uses this
information to prompt them with the names when method arguments.

* corrupt the names in the symbol table
This should not be done on the interface methods. Otherwise this won;t
have any effect on the users unless they have a debugger that can step
into your bytecode.

* obfuscate the program flow
This will probably degrade the performance of your library and may make
them want to use a different product.

Of course, if you provide the source code of your library to your
clients (with appropriate licensing safe guards) then it will be far
easier for your users to debug their client code and they will also help
find any bugs in your library.

Your product will be more useful, your quality will improve, and (if
your clientel are developers) the company you work for may be able to
both charge more for your product and improve your market share.

The company I work for absolutely will not use any 3rd party library
that does not come with source code on any business critical system.


Pete
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top