首页
社区
课程
招聘
[原创]Android风控知识从继续深入到坚持放弃
2023-11-21 15:47 7516

[原创]Android风控知识从继续深入到坚持放弃

2023-11-21 15:47
7516

前言

继续前几篇的内容,最近研究国内几大电商App以及几大风控sdk有了一些深入了解,以及有一些有趣的检测方式的了解,本文主要给大家讲解一下我遇到的一些的奇葩检测方式。

有兴趣的朋友也可以了解一下前几篇的内容:
·常见参数讲解:https://bbs.kanxue.com/thread-265169.htm
·Binder黑科技:https://bbs.kanxue.com/thread-278364.htm
·设备指纹讲解:https://bbs.kanxue.com/thread-275202.htm

对了,想起来有些事情跟大家讲一下,本人既不卖课也不卖教程,各位不要再来找我要课了,不打算出书也不打算卖课,都是纯分享给新手解惑!

1、检测你手机有没有锁屏密码?

出处:某宝、某付宝SDK
奇葩程度:666 (三星中评)
图片描述

以上代码已被学习用于我公司的检测逻辑(感谢大厂的支招!)

复现代码:
1
2
3
4
5
6
// 检测手机是否有锁屏密码
// Write By: Liankong xhew.new@qq.com
public static boolean isHasUnlockPassword(Context context) {
    KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
    return km.isDeviceSecure() && km.isKeyguardSecure();
}

2、通过binder检测是否真的有SIM卡

出处:某多
奇葩程度:66666(五星好评)
=== 此处应有图,但是因为不方便贴出来(手动滑稽) ===

复现代码:

图片描述

获取远程binder接口:

图片描述
因为研究用只做了高版本的支持,低版本应该改一下getRemoteBinder的对IBinder的获取方式

3、build.prop修改时间

出处:某多、某东
奇葩程度:666(一般吧)
图片描述
因为高版本SELinux限制了无法读取/system/build.prop,但是有很多模拟器或者比较弱的黑产还是采用修改build.prop重启的方式修改数据。
图片描述
而且SELinux并未先对该文件的stat/statfs访问,所以可以通过读取改文件的修改时间判断是否修改(正常通过编译出来的build.prop的修改时间要么是1970年1月要么是2009年1月1日)

复现代码:
1
2
3
4
5
6
// 检测build.prop是否安全
// Write By: Liankong xhsw.new@qq.com
public static boolean isBuildPropSecure() {
    File file = new File("/system/build.prop");
    return file.lastModified() / 1000 % 1000 == 0;
}

4、检测手机上的应用商店包名?

出处:某多、某某(编不下去了)
奇葩程度:66
图片描述

复现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 获取手机上的应用市场列表
// Write By: Liankong xhsw.new@qq.com
public static String[] getAppMarketList(Context context) {
    PackageManager pm = context.getPackageManager();
    Intent intent = new Intent();
    intent.setAction("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.APP_MARKET");
    List<ResolveInfo> list = pm.queryIntentActivities(intent);
    String res[] = new String[list.size()];
    for(int i = 0;i < list.size(); i++) {
        res[i] = list.get(i).activityInfo.packageName;
    }
    return res;
}

结语

先讲到这里吧,各位大厂手下留情,只为了让广大新手学习!同时,欢迎各位来交流,QQ:2928455383


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2023-11-21 16:11 被恋空编辑 ,原因: 添加内容
收藏
点赞7
打赏
分享
最新回复 (22)
雪    币: 369
活跃值: (3020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恋空 2023-11-21 16:00
2
0
后续内容正在加,莫急
雪    币: 3207
活跃值: (2644)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
黑屏 2023-11-21 16:26
3
0
期待ing...
雪    币: 1461
活跃值: (1377)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
hackdaliu 1 2023-11-21 17:19
4
0
期待ing
雪    币: 4869
活跃值: (2988)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
vigiles 2023-11-21 19:46
5
0
干货
雪    币: 4869
活跃值: (2988)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
vigiles 2023-11-21 19:47
6
0
雪    币: 160
活跃值: (1895)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
科学上网 2023-11-22 08:09
7
1
干货,学习了。
雪    币: 618
活跃值: (1287)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ty1937 2023-11-22 09:22
8
0
真有意思,只有你想不到,没有做不了的风控
雪    币: 19674
活跃值: (29330)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
秋狝 2023-11-22 09:30
9
1
感谢分享
雪    币: 94
活跃值: (1812)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wangzehua 2023-11-22 09:54
10
0
有点意思
雪    币: 10
活跃值: (849)
能力值: ( LV3,RANK:27 )
在线值:
发帖
回帖
粉丝
绝对小白 2023-11-22 11:57
11
0
干货,thanks~!
雪    币: 1766
活跃值: (8849)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
你瞒我瞒 2023-11-22 15:15
12
0
恋空 后续内容正在加,莫急
在线等,急~
雪    币: 202
活跃值: (131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pkiot 2023-11-22 16:12
13
0
不错
雪    币: 62
活跃值: (572)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
万里星河 2023-11-22 17:03
14
0
支持一下
雪    币: 369
活跃值: (3020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恋空 2023-11-22 17:41
15
0

欢迎进群交流

最后于 2023-11-22 17:41 被恋空编辑 ,原因:
雪    币: 3532
活跃值: (2897)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
StriveMario 2023-12-8 18:06
16
0
受教了
雪    币: 243
活跃值: (510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PoisonGZ 2023-12-8 18:17
17
0
Java 层同时抛出两个自定义错误,分别是Xposed 和 任意值,Xposed 堆栈 如果不存在Xposed 或者 任意值 堆栈包涵xposed 可以视为app被hook ,用来防小白特别好用
雪    币: 243
活跃值: (510)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
PoisonGZ 2023-12-8 18:28
18
0
自己的应用中创建一些比如Xposed 相关类,如果发现检测不到相关类,就可以默认用户使用了反检测模块
雪    币: 369
活跃值: (3020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恋空 2024-1-14 21:50
19
0
PoisonGZ Java 层同时抛出两个自定义错误,分别是Xposed 和 任意值,Xposed 堆栈 如果不存在Xposed 或者 任意值 堆栈包涵xposed 可以视为app被hook ,用来防小白特别好用
现在早就五花八门了,以前还是扫类名扫堆栈,现在风控都直接读maps提出地址,扫内存特征了。
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_joqmgxbb 2024-4-27 15:55
20
0
为什么要放弃?
雪    币: 369
活跃值: (3020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恋空 2024-4-27 23:15
21
0
mb_joqmgxbb 为什么要放弃?
因为道高一尺,魔高一丈。
雪    币: 5912
活跃值: (4512)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 1 2024-4-28 06:06
22
0
mark
雪    币: 241
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
橘子皮儿 5天前
23
0
蹲更新
游客
登录 | 注册 方可回帖
返回