-1

私の Java 製品の 1 つで、プレイヤーがチート クラスをメイン クラスとして実行するという問題がありました。メインクラスが実行されていることを確認する方法はありますか? UIDを追加しようとしましたが、それを乗り越えたようです。

4

2 に答える 2

0

これは堅牢で防弾のソリューションとは言えませんが、スレッドのスタック トレースを調べて、クラスが最後の要素であることを確認できます

final StackTraceElement[] stack = Thread.currentThread().getStackTrace();

if (! stack[stack.length-1].getClassName().equals(YourClass.class.getName()))
{
  // abort
}

ただし、正当なクラスと同じ完全修飾クラス名を持つクラスを誰かがコンパイルし、元のクラスを置き換えることを止める方法はありません。

于 2013-06-12T13:15:09.030 に答える