本插件基于知名开源Android检测刷子党库EasyProtector封装
EasyProtector Github地址:https://github.com/lamster2018/EasyProtector
安装Demo的Apk,快速体验检测能力
链接下载:点我下载安装Demo Apk
扫码下载
拥有羊毛党、模拟器、是否root、Xposed、多开环境等等十多项检测能力💨🚀
方法快速一览
- checkByPrivateFilePath
- checkByOriginApkPackageName
- checkByMultiApkPackageName
- checkByHasSameUid
- checkByPortListening
- checkIsRunningInVirtualApk
- checkIsRoot
- checkIsDebug
- checkIsUsbCharging
- checkIsDebuggerConnected
- checkIsBeingTracedByC
- checkIsXposedExist
- checkIsRunningInEmulator
打开插件详情页,点击云打包按钮,然后导入到自己想要使用的项目
manifest.json -> App原生插件配置 ->云端插件 选择EasyProtector
const easyProtector = uni.requireNativePlugin('easy-protector');
const easyProtector = uni.requireNativePlugin('easy-protector');
export default {
data() {
return {
title: 'Hello',
out: "",
}
},
onLoad() {
this.log("easyProtector exist" + JSON.stringify(easyProtector))
},
methods: {
checkByPrivateFilePath(){
let ret = easyProtector.checkByPrivateFilePath();
this.log("checkByPrivateFilePath:" + ret);
},
checkByOriginApkPackageName(){
let ret = easyProtector.checkByOriginApkPackageName();
this.log("checkByOriginApkPackageName:" + ret);
},
/**
* 运行被克隆的应用,该应用会加载多开应用的so库
* 检测已经加载的so里是否包含这些应用的包名
*/
checkByMultiApkPackageName(){
let ret = easyProtector.checkByMultiApkPackageName();
this.log("checkByMultiApkPackageName:" + ret);
},
/**
* Android系统一个app一个uid
* 如果同一uid下有两个进程对应的包名,在"/data/data"下有两个私有目录,则该应用被多开了
*/
checkByHasSameUid(){
let ret = easyProtector.checkByHasSameUid();
this.log("checkByHasSameUid:" + ret);
},
/**
* 端口监听,先扫一遍已开启的端口并连接,
* 如果发现能通信且通信信息一致,
* 则认为之前有一个相同的自己打开了(也就是被多开了)
* 如果没有,则开启监听
* 这个方法没有 checkByCreateLocalServerSocket 方法简单,不推荐使用
*/
checkByPortListening(){
easyProtector.checkByPortListening();
this.log("checkByPortListening:call");
},
checkIsRunningInVirtualApk(){
let ret = easyProtector.checkIsRunningInVirtualApk();
this.log("checkIsRunningInVirtualApk:" + ret);
},
checkIsRoot(){
let ret = easyProtector.checkIsRoot();
this.log("checkIsRoot:" + ret);
},
checkIsDebug(){
let ret = easyProtector.checkIsDebug();
this.log("checkIsDebug:" + ret);
},
checkIsUsbCharging(){
let ret = easyProtector.checkIsUsbCharging();
this.log("checkIsUsbCharging:" + ret);
},
checkIsDebuggerConnected(){
let ret = easyProtector.checkIsDebuggerConnected();
this.log("checkIsDebuggerConnected:" + ret);
},
checkIsBeingTracedByC(){
easyProtector.checkIsBeingTracedByC();
this.log("checkIsBeingTracedByC:call");
},
/**
* 检测Xposed是否存在
*/
checkIsXposedExist(){
let ret = easyProtector.checkIsXposedExist();
this.log("checkIsXposedExist:" + ret);
},
/**
* 检测模拟器环境
*
* suspectCount 为嫌疑值,值越大模拟器的嫌疑越高
*/
checkIsRunningInEmulator(){
easyProtector.checkIsRunningInEmulator((ret)=>{
this.log("checkIsRunningInEmulator:" + ret);
});
},
log(text){
let now = new Date();
let time = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
this.out = (time+": "+text) +"\n\n"+ this.out;
},
}
}
Github地址:https://github.com/fengerwoo/EasyProtectorDemo
扫码加我微信加入微信交流群(请备注:羊毛党检测Uni插件)