Могу ли я использовать нативную компиляцию как обфускацию Java

Я пишу плагин для приложения Java. Я мог бы запутать плагин, но его все равно было бы легко реконструировать.

Я считаю, что если бы я мог скомпилировать этот плагин в разделяемую библиотеку, которая интенсивно использует JNI для связи с основным приложением, было бы намного труднее перепроектировать. Я готов пожертвовать некоторой производительностью ради JNI, а приложение, для которого я кодирую, поддерживает загрузку разделяемой библиотеки. Единственная проблема заключается в том, что я не знаю инструмента, который выполняет эту работу: похоже, что gcj зависит от собственной среды выполнения, а IKVM.NET - на .NET

Если быть точным:


public class PluginImpl implements Plugin {
    @Override
    public void startPlugin(PluginContext ctx) {
       ctx.helloWorld();
    }  
}

следует преобразовать в


public class PluginImpl implements Plugin {
    @Override
    public native void startPlugin(PluginContext ctx);
}

а тело моего метода startPlugin скомпилировано в общую библиотеку.

(ну да, я знаю, я мог бы написать этот плагин в первую очередь на C)

5
задан obfuscer 20 November 2010 в 10:31
поделиться