首页
社区
课程
招聘
[原创]对国内某盟ID厂商产品的技术分析(Android版)
发表于: 2020-4-6 17:21 11363

[原创]对国内某盟ID厂商产品的技术分析(Android版)

2020-4-6 17:21
11363
后来,看到了看雪之前也谈论过的一些问题,之后我决定动手分析了一下:
  (1) https://bbs.pediy.com/thread-251387.htm
  (2) https://bbs.pediy.com/thread-218339.htm
本文的分析也是基于上面两篇的样本进行深入分析的,希望对大家有点帮助。

1.基本原理
看了一下他的so的加载部分,无非就是个壳,然后加载内存加载,再来个Ollvm混淆,最多也就是加个字符串加密。
基于上面两位学友已经成功破解了并抓取了核心SO逻辑,所以我也不做太多分析。

当然,首先声明一下,我只是做一下研究,没有其他意思。至于你们拿去干嘛,我可管不了( [奸笑] )。

2.特征上报
首先是,各种通过GetProperty获取的硬件信息(包括品牌、型号、系统API等等)
  "gsm.sim.state":"ABSENT",
  "gsm.version.baseband":"angler-03.78",
  "gsm.version.ril-impl":"Qualcomm RIL 1.0",
  "net.hostname":"android-541a2dbcc9bf10cd",
  "ro.board.platform":"msm8994",
  "ro.boot.bootloader":"angler-03.64",
  "ro.build.characteristics":"nosdcard",
  "ro.build.date.utc":"1500464208",
  "ro.build.date":"2017... 07... 19... ......... 19:36:48 CST",
  "ro.build.description":"aosp_angler-userdebug 7.1.1 NUF26N eng.cc.20170719.193648 test-keys",
  "ro.build.display.id":"aosp_angler-userdebug 7.1.1 NUF26N eng.cc.20170719.193648 test-keys",
  "ro.build.fingerprint":"Android\/aosp_angler\/angler:7.1.1\/NUF26N\/cc07191936:userdebug\/test-keys",
  "ro.build.host":"Andr0id",
  "ro.build.id":"NUF26N",
  "ro.build.type":"userdebug",
  "ro.boot.serialno":"84B7N16126003133",
  "ro.opengles.version":"196610",
  "ro.product.board":"angler",
  "ro.product.brand":"Android",
  "ro.product.cpu.abi":"arm64-v8a",
  "ro.build.version.sdk":"25",
  "ro.product.manufacturer":"Huawei",
  "gsm.current.phone-type":"1",
  "gsm.network.type":"Unknown",
  "ro.product.model":"AOSP onangler",
  "ro.build.version.release":"7.1.1",
  "ro.product.device":"angler",
  "gsm.operator.isroaming":"false",
  "ro.carrier":"unknown",
  "ro.vendor.extension_library":"libqti-perfd-client.so",
  "keyguard.no_require_sim":"true",
  "wlan.driver.status":"unloaded",
  "ro.runtime.firstboot":"50639810179",
  "init.svc.adbd":"running",
  "ro.hardware":"angler",
  "ro.boot.btmacaddr":"1C:67:58:06:85:30",
  "ro.boot.wifimacaddr":"1C:67:58:06:82:D2",
  "ro.recovery_id":"0x5c5922f5a56969664c1e23f66a7e7a9e86898186000000000000000000000000"}

这个不是通过Java获取的,我反编译之后有点麻烦,他给那个GetProperty获取的信息做了混淆,基本上没法看(我在附件那里做了标记,函数名叫f_get_info)

2.获取设备地址,比如MAC地址、IMEI、IMSI
这些都是基本操作,随随便便就过了。
 


不过厉害的是,他做了一个直接在Linux Api上获取MAC地址的辅助函数

大概就是创建一个Socket,然后通过ioctl获取MAC地址(直接钩住ioctl别让他返回个假地址,或者直接禁止获取就行了)
不过,经过测试,这个函数只能针对Android 6及以下版本,Android 6以上的获取不了,没什么用
3.辅助特征
辅助特征,就是不直接影响ID的生成,但是辅助它判断是否为同一个设备

电池电池特征:


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-4-6 17:23 被恋空编辑 ,原因: 添加附件
上传的附件:
收藏
免费 5
支持
分享
最新回复 (16)
雪    币: 386
活跃值: (98)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
消灭0回复
2020-4-7 10:41
0
雪    币: 94
活跃值: (2397)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
不过厉害的是,他做了一个直接在Linux Api上获取MAC地址的辅助函数

这个一点都不厉害,大家都知道的方法,而且有更好的方法,通杀目前所有系统,但是10.0随机化没法绕过。
2020-4-7 10:58
0
雪    币: 402
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
电池这个,可能除了battery.capacity那种读xml的,这种读sys下面文件的适配度应该非常的弱,事实上可能也是这样。
2020-4-7 10:59
0
雪    币: 3901
活跃值: (6150)
能力值: ( LV13,RANK:550 )
在线值:
发帖
回帖
粉丝
5
LZ有没有分析它生成ID的部分?
2020-4-7 13:30
0
雪    币: 48
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
wangzehua 不过厉害的是,他做了一个直接在Linux Api上获取MAC地址的辅助函数 这个一点都不厉害,大家都知道的方法,而且有更好的方法,通杀目前所有系统,但是10.0随机化没法绕过。
使用Android API,遍历所有网络接口,ioctl,现在知道的只有这三种,还有什么方式,指点下呗
2020-4-7 20:43
0
雪    币: 450
活跃值: (3210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我是小三 LZ有没有分析它生成ID的部分?
还没有他的OLLVM混淆搞得我头都疼了,ID生成那部分很乱,我记得我已经在附件里标识了,但是没做具体分析(时间问题,哈哈哈哈)
2020-5-6 17:19
0
雪    币: 19
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
比较好奇的是唯一性这块
2020-5-8 15:02
0
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
有没有搞过ali聚或者pdd???
2020-5-14 15:47
0
雪    币: 0
活跃值: (532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我也跟了一下,不过跟的是32位的版本,大体和楼主看的差不多。
2020-5-18 16:09
0
雪    币: 20
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
五鬼星 使用Android API,遍历所有网络接口,ioctl,现在知道的只有这三种,还有什么方式,指点下呗
求介绍这几种方法。。
2020-9-15 21:37
0
雪    币: 2719
活跃值: (1595)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
不会有  传感器 检测 ?
2020-9-16 19:32
0
雪    币: 0
活跃值: (532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
传感器检测有的 他认为不重要没写吧
2020-9-18 09:26
0
雪    币: 450
活跃值: (3210)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
wx_沉默的逗比 传感器检测有的 他认为不重要没写吧
是有的,但是我暂时还没分析到那段
2020-9-19 19:48
0
雪    币: 0
活跃值: (532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
传感器电池、这些不能少的
2020-9-23 09:26
0
雪    币: 41
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
可信id 应该是did  RSA加密 公钥是CID值
2020-10-20 16:34
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
唯一性 欢迎交流 qq1979146796
2020-11-19 12:02
0
游客
登录 | 注册 方可回帖
返回
//