我知道无法阻止我的应用程序被破解,无论是来自antiLvl还是luckypatch。例如,我在几秒钟内下载了antiLvl并破解了我自己的应用程序。相反,我想知道我是否可以实现代码以了解LVL已被删除,然后将信息发送到HTTP服务器,因此我可以知道有多少个破解版本。这可能对我进行评估很有用。感谢。
答案 0 :(得分: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会删除这些无用的物体创作。