これは本当に古い「XからJavaアプリケーションを保護するにはどうすればよいのですか?」という古い年齢です。
実際はできません。十分な時間と仕事を持っている人なら、あなたのJavaアプリを分解して戻すことができます。あなたはもちろん、それを速くしたいと思っている人にとっては非実用的ないくつかの素晴らしいobfusacatersで動作することができます。
これまでのところ、あなたは多少の些細な質問をしました。 「どのように「新しいURL」を隠すのですか?」私はあなたが実際にURLを操作するために、urlconnectionクラスに頼ってしまうという前提を作っています。これは大きな最適化を扱うことができ、クラス名とURLをバイト配列や他の多くのものとして保存するなどのレイヤーを追加することができます。また、コンストラクタとクラスのキャッシングを行うこともできます。 私は本当にこれを使用しないことをお勧めします!もちろん、あなたがスタックを下っておくと、実際に反射を通読を行うことができ
public static URLConnection getConnection() {
try {
Class<?> cla = Class.forName("java.net.URL");
return (URLConnection) cla.getMethod("openConnection", new Class[0]).invoke(cla.getConstructor(String.class).newInstance("http://somtopsecereturl.tld"), new Object[0]);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return null;
}
は、実際のオブジェクトの種類は、それは非常に難しい見つけるためになって参照したことがないので、呼び出します。
あなたは常にプロトコルを自分で実装することができます - あなたが本当に必要最低限を。 –