检测分身App

利用命令检测已安装第三方分身App


App被分身软件复制安装后,就可以随意拦截修改Api层东西,比如位置信息等,容易被人利用制造虚假信息。

这里选择检测是否安装分身软件来做相应程序处理,在利用系统PackageManager获取已安装第三方应用列表时发现,这些分身软件已经拦截剔除了自己的包名,所以改用命令直接获取:

public boolean isInstalledVirtualLocationPackage() {
        try {
            List<String> virtualLocationPackages = new ArrayList<>();
            //分身App列表
            virtualLocationPackages.add("这里写包名");
            Process process = Runtime.getRuntime().exec("pm list package -3");
            BufferedReader bis = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line = null;
            while ((line = bis.readLine()) != null) {
                for (String packageName : virtualLocationPackages) {
                    if (packageName.equals(line.substring(8, line.length()))) {
                        return true;
                    }
                }
            }
        } catch (IOException e) {
        }
        return false;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //gradle 下载慢 //可以直接下载gradle之后放在对应的目录里//或者修改 根目录下的文件bul...
    zeromemcpy阅读 4,332评论 0 0
  • 本片文章主要翻译国外的一篇文章,原文在这里 摘要 Android插件化技术是一种新型的应用程序级的的虚拟化框架,它...
    隔壁老李头阅读 9,755评论 1 16
  • 黄豆芽是我们邻村的一个小男孩儿,比我们小几岁不详。我们上学从他家门口过,总能碰到他。 不用说他长得...
    杨云涛阅读 3,483评论 2 2
  • 规则一:把这份企划案当成一份销售文件来写。别总是觉得它是仅仅只是一张信息表。相反,你可以在企划案中阐明问题或者机遇...
    依依大黄蜂阅读 1,384评论 0 0
  • 火速上线 喝完豆腐汤的两个熊孩子,休息片刻间,突然被马燕的一句话打破了这个小世界的不安静,马燕带着有些特别逗笑的感...
    林子2016阅读 1,911评论 0 0