Jon*_*ona 29 java security android
我目前正在处理我的付费应用程序的特定问题.在内部,它包含许可检查.该应用程序由黑客通过修改应用程序apk/jar修补.他们正在添加一个新类,有助于绕过许可检查.
我的目标是以某种方式检查这个特定的补丁.如果我发现它,我知道我的应用程序已被入侵.
有关如何知道包装上已修改某些内容的任何提示? 在我的案例中,对应用程序执行哈希不是一个真正的选项.
我想也许可以检查这个类是否存在会有所帮助,但是如果他们改变了类的名称怎么办?然后,另一个想法是以某种方式检查添加到类中的意外包含.
这些可能吗?任何建议都会有帮助:)
Liv*_*Liv 54
不确定android但在标准JDK中你会做这样的事情:
try {
Class.forName( "your.fqdn.class.name" );
} catch( ClassNotFoundException e ) {
//my class isn't there!
}
Run Code Online (Sandbox Code Playgroud)
Jar*_*ows 16
这是我在Android中使用的 - 标准Java:
public boolean isClass(String className) {
try {
Class.forName(className);
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
实施示例:
if (isClass("android.app.ActionBar")) {
Toast.makeText(getApplicationContext(), "YES", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
您可以使用
public static Class<?> forName (String className)
Run Code Online (Sandbox Code Playgroud)
并检查 ClassNotFoundException
http://developer.android.com/reference/java/lang/Class.html#forName%28java.lang.String%29