为了账号安全,请及时绑定邮箱和手机立即绑定

Android 界面劫持

标签:
Android

有被劫持的风险,然后为了修复这个漏洞,就了解了下什么是 Activity 劫持。本篇主要讲解什么是 Activity 劫持,并制作一个 App 模拟 Activity 劫持。

https://img1.sycdn.imooc.com//5d329079000126a005380531.jpg

Activity 劫持

什么是Activity 劫持呢?

简单来说就是当用户在运行一个 App 的时候,这时候有另一个恶意的程序在监听用户使用情况,当发现了想要劫持的 App 正在运行的时候,恶意程序就会替换了当前 App 的页面,从而让用户将个人的信息输入到恶意程序中去,被不法利用。

用 Android 术语来讲就是,后台运行了一个 Service ,在这个 Service 中,定时循环的查询当前正在运行的进程,当查询到了想要劫持的进程正在运行在前台的时候,这时候用FLAG_ACTIVITY_NEW_TASK启动自己的钓鱼页面覆盖原本的页面,从而获取信息。

模拟 Activity 劫持

为了解决这个问题,首先我得做一个可以劫持其他 App 的 App 来。

这个App 主要的是一个 Service ,并在其中获取当前正在运行的进程进行劫持,我这里自定义了一个 HijackingService 来实现。

在此 Service 中开启了一个定时任务,来不断的获取当前正在运行的进程。

当获取到想要劫持的进程的时候,打开一个新的页面告知已经劫持成功。

下面贴出获取当前进程并劫持的代码块:

https://img1.sycdn.imooc.com//5d32908500014f4c08210523.jpg

获取当前正在运行的进程

然后贴出劫持的界面(我这里劫持的 QQ 界面,当 QQ 运行的时候,点击 Start HijackService,就会开始遍历并劫持):

https://img1.sycdn.imooc.com//5d32908e00018d0203390586.jpg

Hijack App 的首页有开始和结束两个按钮来开启 Service

https://img1.sycdn.imooc.com//5d3290980001a71703370583.jpg

QQ 被劫持之后 Hijack App 展示的页面

https://img1.sycdn.imooc.com//5d3290ad0001be6109790352.jpg

劫持打印的日志



在写这个劫持App 的时候,遇到了一个问题,就是获取当前运行的进程。

在百度查找资料,发现 都是用 ActivityManager 来获取当前运行的进程,结果发现并不能成功。

然后 Google 了一下,找到一个使用第三方来获取当前进程,实践下来是成功的,只要在 build.gradle 中加上:

implementation 'com.jaredrummler:android-processes:1.0.9'

就可以使用,如:

AndroidProcesses.getRunningForegroundApps(context)



作者:abigbread2018
链接:https://www.jianshu.com/p/c73b2a23c3c9


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消