- StrandHogg漏洞介绍
- 修改方案
- 在AndroidManifest.xml文件中的<application>标签中添加
android:taskAffinity=""
android:allowTaskReparenting="true"
-
- 在启动页的Activity中配置android:launchMode="singleTask",启动页指的是配置了下面<intent-filter>的Activity
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
除了启动页的Activity之外,其它的所有Activity都不要配置launchMode="singleTask|singleInstance",否则会出现下面3个问题
- 这些配置了launchMode="singleTask|singleInstance"的Activity会出现在最近运行的任务列表中(即最近运行的任务列表中出现了同一个App的多个页面),如果确实需要设置launchMode="singleTask|singleInstance"可以动态的给Intent设置Flag来达到相同的效果。如需要singleTask模式可能过给Inetnt添加FLAG_ACTIVITY_CLEAR_TOP 和 FLAG_ACTIVITY_SINGLE_TOP 这两个Flag。
- App首次启动后按Home键退出,再次点击桌面的Launcher时会闪一下,根本无法进入主页
- 桌面点击小组件将会是一个新的taskId,即小组件的启动的目标Activity也会出现在最近任务列表中
- 整体流程
以上就是我对StrandHogg漏洞的修复方案。最后感谢您的阅读,希望能对您有所帮助。如有疑问可加QQ:717693247。如果你有更优的方案希望也能分享一下。谢谢~