4

antiLvl や luckypatch からアプリがクラックされるのを防ぐことは不可能です。たとえば、私は antiLvl をダウンロードして、自分のアプリを数秒でクラックしました。むしろ、LVLが削除されたことを知るコードを実装して、その情報をHTTPサーバーに送信して、そこにクラックされたバージョンがいくつあるかを知ることができるかどうかを知りたい. これは、評価を行うのに役立つ場合があります。ありがとう。

4

2 に答える 2

2
  1. 最も明白なメカニズムは、CRC32 などの軽量のハッシュ関数を使用して、アプリケーションのコードのハッシュを構築することです。
PackageManager packagemanager = getPackageManager();
PackageInfo packageinfo = packagemanager.getPackageInfo(String packageName, int flags)
int ハッシュ = packageinfo.signatures[0].hashCode()

元のハッシュと比較して、変更されているかどうかを確認します。

2. 私が聞いた別のアプローチは、Google NDK を使用してネイティブ ライブラリ ファイル {.so} を作成し、そこから apk が改ざんされていないかどうかを確認することです。

于 2014-02-10T17:54:16.287 に答える
1

アプリのビルド中に問題が発生したかどうかをテストするために、このコードを使用します。

if(BuildConfig.DEBUG) {
    try {
        new com.actionbarsherlock.app.SherlockFragment();
    } catch(NoClassDefFoundError e) {
        Log.e(LOGTAG, "We got ActionBarSherlock problems");
    }
    try {
        new com.google.gson.Gson();
    } catch(NoClassDefFoundError e) {
        Log.e(LOGTAG, "We got Gson problems");
    }
}

これにより、アイデアが得られるはずです。これを生産的に使用したい場合は、外側の if を削除する必要があります。リフレクションを使用してこれを行うこともできます。プロガードがこの無駄なオブジェクトの作成を削除すると確信しています。

于 2013-10-29T14:24:24.377 に答える