android安全校验方案总结和参考

动态调试攻击风险解决

application 设置debugable=“false”

Android防止被动态调试的解决方法

另参考:
安卓应用加固之反动态调试技术总结
Android 动态加载(防止逆向编译)技术
App动态调试

代码未混淆风险

Android Studio 代码混淆(包教包会)
Android Studio 代码混淆(你真的会混淆吗)
Android studio开启代码混淆,让你的代码更安全
android studio 代码混淆如何忽略第三方jar包

界面劫持风险

Android 防界面劫持方案

Broadcast Receiver组件导出风险

AndroidManifest.xml中的
export=“true->false”
参考:移动APP安全测试

拒绝服务攻击漏洞

7.8 应用本地拒绝服务漏洞检测

其他参考

移动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) {
   
   

        }

        
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值