再パッケージすることを防止する[ターン]アンドロイド署名検証

唯一のノートがオンラインに多くの情報、
署名情報のAPKに署名した後に再パッケージDEX修正をコンパイルするためには、確かにコード内の署名情報かどうかを判断することができ、変更される
署名は、プログラムを終了するには一致しない場合であることの再のAPKを防ぐために、変更されましたパッケージ。

署名を検証する1つのJavaコード

署名情報を取得しPackageManager
パブリックstatic int型getSignature(コンテキスト・コンテキスト){ 
    PackageManagerのPM = context.getPackageManager()。
    PackageInfoのパイ。
    StringBuilderのSB =新しいStringBuilderの(); 
    
    {試みる
        PI = pm.getPackageInfo(context.getPackageName()、PackageManager.GET_SIGNATURES)。
        署名[]シグネチャ= pi.signatures。
        (署名署名:署名)のために{ 
            sb.append(signature.toCharsString())。
        } 
    }キャッチ(PackageManager.NameNotFoundException電子){ 
        e.printStackTrace(); 
    } 

    。sb.toString()ハッシュコードを()を返します。
}

  

この純粋な文字比較は、検索が直接ライン上で、実際には、ほとんど使用のグローバルsmaliにあなたの署名の検証ロジックを殺すか、修正、抜け出すのは簡単です。

ネイティブ層NDK開発に2署名検証
この認証セキュリティ少しは、すべての後、CおよびC ++の人々が低くなるように逆にすることができます。私は、これはまだすべてだCを元に戻すことはできませんが好きです。
しかし、Cを逆にすることができ、学生のために、また、お使いの検証ロジックを取り除くことは非常に簡単です、あなたはまだ少し使用、結局、追加することを検討することができます。
サーバーへの3検証
鳥感のない、裁判官を殺すか、ライン上のロジック・インタフェースを変更します。

署名の検証をバイパスする、だけでなく、研究されるように、多くの先進的な方法があります。

します。https://www.cnblogs.com/lesliefang/p/5152358.html

おすすめ

転載: www.cnblogs.com/xuan52rock/p/11028188.html