最近分析某个 app时,发现注册口的风控特别严格。
严格到什么程度?
1)国内 IP不让使用
2) 设备没有sim卡不让注册
3) 发现设备环境不干净直接封号
4) 注册不允许使用 vpn
5) google注册必须是 @gmail.com后缀
注册时,携带了一个后台下发的设备 id,这个设备 id必须带上。也就是这个下发设备 id的协议必须请求成功,才能进行后续的注册。
①确定device_id来源
直接搜索相关字符串,最后定位在了这个 sdk的代码中:

没错,就是 libdu.so. 至于这是哪个 sdk,懂的都懂。
现在 AI 这么先进了,我就直接让 AI 告诉我,最终加密前的函数是哪个:

接下来就用一段 frida脚本输出验证下:

很明显这是一个 json字符串,也就是加密前请求的关键参数,字符串形式如下:
{
"nAt": "2",
"ubF": "这里是设备 id",
"AYk": "CA305B:D678CB:120F1C",
"P1J": "CA305B:D678CB:120F1C",
"R37": "Xiaomi",
"R3d": "XXXX",
"DUv": "xxxx.xxxx.xxx",
"SAN": 30,
"Zrs": 341,
"EV2": "app版本字符串",
"AAA": "v1.0",
"BBB": "v1.0",
"3mS": "v8.8.0",
"2cO": "时间戳",
"GVp": "Organic",
"mIS": "<n?1>B9pm==8nn?CD;>oaAp;?k8o?m<8<?#!",
"sfOo": "ED71279",
"foO": ";O@Ao?m;Bq=l;m>",
"4VP": 5,
"bf7": "41007",
"JPd": "41007",
"J7w": 0,
"NoH": 1,
"wSK": "IP",
"DVp": "?=B<A0B@9>8<=>",
"9N2": ";;7",
"Bn2": "BD!=ABB@=<?7=@<",
"IPz": "agMgzXYY5A==",
"sj5K": "61EF187",
"jK5": ";Q!!;E;=;;AA;;Q;",
"JYD": 4,
"02P": "86,-1",
"7S2": {
"0": {
"txo": ".k#yy",
"Zne": "h!A9>9<=<7ABOE=qqCEOoECq?:?A<D!B+?:lo@pEBBp;E<pf",
"MCN": "i889<fBBC;:"
}
},
"iYB": {
"txo": ".k#yy",
"Zne": "h!A9>9<=<7ABOE=qqCEOoECq?:?A<D!B+?:lo@pEBBp;E<pf",
"MCN": "i889<fBBC;:",
"mch": "TTQb",
"AWo": ";;;;;<;;;;",
"8tS": 63959,
"Hsz": 63959
},
"z4e": 3,
"zpA": "WIFI",
"QQW": 1,
"2Lp": 0,
"B7G": {
},
"vuS": "A@n@o?8nm>m8n;mB!o?=AQ<?pp8@?>@8Bm@n",
"9be": 14,
"6yY": "1c0c42eda039a179b3b619b671b0c0c83a43b6d44d26a8951c167aa76e6fe7af",
"vG9": 0,
"gaR": ";",
"Nue": "=9DC=CBD9?9@",
"T5u": {
"_adb._tcp.": {
"0": "adb-ba20125,f:3",
"1": "adb-ba20125,IP:PORT"
},
"wrs": "-2",
"i": "0,58.248.99.72;"
},
"Kvk": "73D2D0E56AC213AC2731AF49C328769C",
"NAB": 1,
"UOv": ">B@A0D@;A<?<!=A=<@B",
"sCc": 1,
"uCM": {
"pnb": 2,
"I2Y": 1,
"LzC": 54,
"nF5": 100,
"fgm": 4003,
"YXM": 330
},
"Db2": -1,
"box": {
},
"h6Z": "APP名",
"cxX": 1
}
这个协议的返回内容包含设备 id,同样问了大模型后,我知道了解密后的数据:
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2天前
被CCTV果冻爽编辑
,原因: