什么是Activity劫持
一般情况下分为两种
第一种是,手机里面安装了恶意程序,恶意程序会注册一个Receiver,响应android.intent.action.BOOT_COMPLETED事件,这个Service会启动一个定时器,不停的循环查询当前运行的进程。一旦当前的进程正是我们要劫持的,并运行在前台,立马使用FLAG_ACTIVITY_NEW_TASK启动自己的恶意应用界面处于栈顶,用户看到的就是恶意应用的界面,获取用户输入的隐私信息,并发送到服务器。这篇文章有详细介绍《Android之Activity界面劫持反劫持》
第二种是,Android中启动一个Activity常用的方法是startActivity。startActivity的参数时Intent,这个Intent有两种设置方式
- 通过设置action,系统找到接收该action的Activity,然后启动
- 明确指定要启动的Activity所在的包和Activity的对应的类名。
当一个应用程序通过action来启动某个Activity时,另一个恶意应用可以创建一个同样的action来接收Activity。在Android应用中,如果存在多个Activity接收同一个action,那么就会提供一个选择列表让用户进行选择。一旦用户选错了&