简单的禁止应用被双开的方法

news/2025/2/21 8:04:26/

通过LocalServerSocket限制

前段时间发现一个应用被双开后,不能同时在一个手机上登陆两个账号,登陆A之后,B会被踢下线。
刚开始还以为有什么黑科技,或者有名管道,本地socket之类的,或者是向sd卡写了什么文件,这几种方案都检查了,没有效果。
没办法只能分析它的逻辑了,应用是加固了的,脱壳之后分析其原理。偶然通过netstat命令发现了这个应用监听了一个端口,发现原来用了这么简单的一种方法防止双开,既没有读取IMEI,IMSI,也没有黑科技。就下面几行代码

        /* renamed from: b */public boolean mo4479b(String str, VirtualCheckCallback virtualCheckCallback) {if (this.f1320d != null) {return false;}try {this.f1320d = new LocalServerSocket(str);return false;} catch (IOException unused) {if (virtualCheckCallback != null) {virtualCheckCallback.mo4480a();}return true;}}

原理是创建了一个 LocalServerSocket,传入了同一个 str,LocalServerSocket在native还是通过linux的套接字实现的,这个str是不能重复的,只要重复了就是bind失败,就这么简单,检测到创建LocalServerSocket失败就退出登陆,防止被双开。

检测service代理

还有另外一种方法是检测service是否被代理,PMS在双开里面是必然要被代理的,恰好ActivityThread里面也存了一份缓存。

try {Class v0_2 = Class.forName("android.app.ActivityThread");Object v13 = v0_2.getDeclaredMethod("currentActivityThread").invoke(null);Field v0_3 = v0_2.getDeclaredField("sPackageManager");v0_3.setAccessible(true);if(!Proxy.isProxyClass(v0_3.get(v13).getClass())) {goto label_35;}arg17.finish();Process.killProcess(Process.myPid());
label_35:...
}

回溯栈检查有没有可疑的class


http://www.ppmy.cn/news/266587.html

相关文章

win10-微信双开,多开

解决了微信在win10下只能打开一个的问题. 应该只能打开一个,除非你在store里在下载别的版本. 文章上的代码全部来源于网络.(忘记从哪里弄的了) 欢迎大家提供原链接,我会标明出处. 这是.bat文件 只能在未登录的状态下使用 echo off if "%1" "h" goto beg…

PC端如何双开/多开微信(实测可用)

随着微信功能的愈加强大与普及,越来越多人免不了会出现一个工作微信、一个私人微信的情况,但是PC端与手机端正常情况下只能同时登录一个微信,这个时候要怎么办呢? 话不多说,以下是具体的PC端微信双开/多开方法&#xf…

企业微信双开及三开的方法

企业微信双开及三开的方法 方法1 :修改系统注册表,实现双开方法2 :使用procexp64.exe,实现三开 方法1 :修改系统注册表,实现双开 第一步:按winR 打开运行 输入regedit,点击确认。 第…

win10设置微信双开电脑登录多个微信,超级详细教程,win10微信多开

文章目录 前言一、快速回车二、创建批处理文件三、更换为微信的图标 前言 工作需要,在一台电脑登录多个微信账号 一、快速回车 鼠标单击桌面微信快捷方式,快速按键盘回车键。 (需要开几个微信就回车几次,例如我想打开两个微信&a…

电脑版微信如何双开

很多人的工作微信和私人微信都是分开的,我们的电脑只能登录一个微信确实令人头疼。那么有什么办法可以实现电脑版微信如何双开或多开呢? 电脑版微信如何双开方法一、 把鼠标点击到微信图标上,任何快速摁几下回车键,然后拖动微信你…

电脑如何微信双开?

最近一个朋友向我询问了一下,电脑上面的微信双开的问题,我很纳闷我的电脑一直都是支持微信双开的,方法只要双击两次桌面的图标就可以了。如下: (1)退出现在的微信程序。 (2)双击桌面…

ios微信双开

ios微信双开 找个没有过时的微信ipa 然后签名 我是找到了链接,结果下载下来就找不到这个文件了,系统没有信任 , 在软件里也找不到 然后用轻松签里面的下载功能把这个下载下来了, 然后流程: 获取证书 获取系统信任…

win10系统dnf安装不上服务器,升级到Win10正式版后不能玩DNF如何解决?

win10升级得到了前所未有的火爆关注,然而有些朋友反映自己的电脑安装了win10之后,不能玩游戏了。那么升级到Win10正式版后不能玩DNF是什么原因?如何解决?其导致无法正常启动DNF的重要原因是显卡驱动的不兼容、以及程序的不兼容&am…