动态调试攻击风险解决
application 设置debugable=“false”
另参考:
安卓应用加固之反动态调试技术总结
Android 动态加载(防止逆向编译)技术
App动态调试
代码未混淆风险
Android Studio 代码混淆(包教包会)
Android Studio 代码混淆(你真的会混淆吗)
Android studio开启代码混淆,让你的代码更安全
android studio 代码混淆如何忽略第三方jar包
界面劫持风险
Broadcast Receiver组件导出风险
AndroidManifest.xml中的
export=“true->false”
参考:移动APP安全测试
拒绝服务攻击漏洞
其他参考
移动APP安全测试
深入浅出 App 端安全漏洞之任意调试漏洞、中间人劫持漏洞及加密算法漏洞
我使用的代码
在Application中调用 securityCheck() ,注册ActivityLifecycleCallbacks,在onAcitivityResumed() 和 onActivityPause() 中做反劫持,就不用在BaseActivity中使用了。
private void securityCheck() {
// 防止动态调试攻击风险
DebuggerUtils.checkDebuggableInNotDebugModel(this);
// 反劫持
registerActivityLifecycleCallbacks(mSecurityLifecycleCallbacks);
}
ActivityLifecycleCallbacks mSecurityLifecycleCallbacks = new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
AntiHijackingUtils.getInstance().onResume();
}
@Override
public void onActivityPaused(Activity activity) {
AntiHijackingUtils.getInstance().onPause(activity);
}
@Override
public void onActivityStopped(Activity activity) {
}

最低0.47元/天 解锁文章





