android检测LVL删除

时间:2013-10-29 12:58:04

标签: android android-lvl

我知道无法阻止我的应用程序被破解,无论是来自antiLvl还是luckypatch。例如,我在几秒钟内下载了antiLvl并破解了我自己的应用程序。相反,我想知道我是否可以实现代码以了解LVL已被删除,然后将信息发送到HTTP服务器,因此我可以知道有多少个破解版本。这可能对我进行评估很有用。感谢。

2 个答案:

答案 0 :(得分:2)

  1. 最明显的机制是使用轻量级哈希函数,例如CRC32,并构建应用程序代码的哈希值。
  2. PackageManager packagemanager = getPackageManager();
    PackageInfo packageinfo = packagemanager.getPackageInfo(String packageName, int flags)
    int hash = packageinfo.signatures[0].hashCode()
    

    并将其与原始哈希进行比较,以检查它是否已被修改。

    2。 我听说的另一种方法是使用Google NDK创建本机库文件{.so},并从那里检查apk是否已被篡改。

答案 1 :(得分: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。我能够你也应该尝试用反射来做这件事,我确信proguard会删除这些无用的物体创作。