一行代码帮你检测Android多开软件

本文介绍了一种通过端口监听法检测Android多开软件的方法,避免了传统检测手段被多开软件规避的问题。通过扫描本地端口、发起连接请求、成为接收端,实现同一时间只有一个app运行,防止广义多开。测试结果显示方案基本做到通杀常见多开软件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布

目录

  • 简介
  • 借鉴方案&测试结果
  • 端口法检测思路
  • 实现方案
  • 测试结果
  • Demo地址

简介

最近有业务上的要求,要求app在本地进行诸如软件多开、hook框架、模拟器等安全检测,防止作弊行为。

防作弊一直是老生常谈的问题,而软件多开检测往往是防作弊中的重要一环,在查找资料的过程中发现多开软件公司对防多开手段进行了针对性的升级,即使非常新的资料也无法做到通杀。

所以站在前人的肩膀上,继续研究。

借鉴方案

借鉴方案来自以下两个帖子

《Android多开/分身检测》blog.darkness463.top/2018/05/04/…/

《Android虚拟机多开检测》www.jianshu.com/p/216d65d99…

文中的方案简单总结起来是4点 1.私有文件路径检测; 2.应用列表检测; 3.maps检测; 4.ps检测;

代码此处不贴了,这四种方案测试结果如下

测试机器/多开软件* 多开分身6.9 平行空间4.0.8389 双开助手3.8.4 分身大师2.5.1 VirtualXP0.11.2 Virtual App *
红米3S/Android6.0/原生eng XXXO OXOO OXOO XOOO XXXO XXXO
华为P9/Android7.0/EUI 5.0 root XXXX OXOX OXOX XOOX XXXX XXXO
小米MIX2/Android8.0/MIUI稳定版9.5 XXXX OXOX OXOX XOOX XXXX XXXO
一加5T/Android8.1/氢OS 5.1 稳定版 XXXX OXOX OXOX XOOX XXXX XXXO

*测试方案顺序1234,测试结果X代表未能检测O成功检测多开; *virtual app测试版本是git开源版,商用版已经修复uid的问题;

可以看到的是,检测效果不是很理想,没有哪一种方法可以做到通杀市面排名靠前的这些多开软件,甚至在高版本机器上,多开软件完美避开了检测。

端口监听法思路

为了避免歧义,我们接下来所说的app都是指的同一款软件,并定义普通运行的app叫做本体,运行在多开软件上的app叫克隆体。并提出以下两个概念

狭义多开:只要app是通过多开软件打开的,则认为多开,即使同一时间内只运行了一个app

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值