{Spam?} [ale] (reasonably) mature GUI solutions in Linux

Christopher Fowler cfowler at outpostsentinel.com
Tue Sep 16 15:46:32 EDT 2003


On Tue, Sep 16, 2003 at 03:35:24PM -0400, Jason Day wrote:
> 
> It depends on what your goals are.  This isn't really obfuscation, it's
> just preventing people from recompiling your code.  If you want to
> prevent people from *understanding* your code (e.g. discovering your
> super-secret algorithm), changing variable names into reserved words
> won't help.  Your best bet if you want to keep an algorithm secret is to
> put it into a native method.
> 

Here is the wya I would do it for your java program

class ProgramJava {
    public native void runCode();

    static {
        System.loadLibrary("execMain");
    }
    
    public static void main(String[] args) {
        new ProgramJava().runCode();
    }
}


To make this work you need to be sure that 99.9% of your application
code is in the library called execMain.  Then it will execute the
correct method in that library to start everything.  If you do it
like this then I no one can see your code.  Sure they'll see 
ProgramJava.class but what will that tell them.  Remeber use the
above example for tyour Java stuff and place all your code in
execMain.  You'll be okay!



More information about the Ale mailing list