本文章内容仅用于逆向学习,请勿用于黑产行为,如有侵权,请联系本人删除,未经本人允许,不可转载。
使用google账号注册,直接被拦截:

搜索 google_login,查看到了疑似google登录的协议:

交叉引用,发送协议的参数貌似只有google登录用的token:

既然使用的是 OKHttp框架,那么一定会在 intercept 里加上额外的Header 。
通过hook 设置Header的函数,输出会额外设置哪些可疑的字段:
这些字段貌似与风控相关:
v-mode 表示有没有使用VPN,如果有使用VPN ,注册时会被拦截
KEY1 保密 像是一个设备id,KEY2 保密 像是一个风控数据。
果然,这些字段都是在专门的intercept中被添加的:

继续跟踪发现了疑似风控SDK:

siua函数是一个native层函数。先找到native层地址,位于 0x8da04 :
[RegisterNatives] java_class: 手动混淆包名 name: siua sig: (Landroid/content/Context;)Ljava/lang/String; fnPtr: 0x71a56e3a04 module_name: 保密.so module_base: 0x71a5656000 offset: 0x8da04
反编译的代码晦涩难懂,我们直接看汇编:
native层函数返回时,调用了 env→NewStringUtf8,即地址 [SP,#0x1C0+var_1A8] 存放了最终加密后的字符串。
前面没有看到对 SP,#0x1C0+var_1A8 地址的直接赋值或者传递,但是看到了对 SP,#0x1C0+var_1B8 地址的传递:
clang 或者 gcc 编译成的 c++代码中,string 对象一般占用 24个字节,字符串的实际地址,保存在string 对象的 +0x10处。
我们继续看 do_compress_and_encrypt 函数内部:
同样的最终在进行 base64_encode 后,将字符串地址保存到了参数1传入的string对象中。通过分析发现在 base64_encode 前调用了加密函数,我们不关系用了什么加密,直接输出加密前的数据:
78da1dc74112c............................................................................
二进制 0x78da,表示这是一个zlib压缩后的数据。继续解压得到了一串数据:
一串环境数据 --->. 风险项1-风险项2(详细数据自己分析)
从这里可以明显看出, 环境包里有风险项(具体是什么自己去分析)。所以应该是这里被拦截了。
我们通过一个简单的frida 脚本绕发过这里的风控拦截:
可以google注册了:

下一步后
再下一步:

又被封了!。
实时的环境检测绕过了还是被封号,要么设备被标记了,或者还存在别的环境上报口径。
设备ID生成
风控SDK还提供了一个设备id接口:X-XXXX,如果设备被标记,或者设备存在环境问题,比如绕过设备ID。

这个设备id像是json串中的一个字段,应该是某个协议返回。

确实是协议返回,协议数据通过detect函数返回,也是安全SDK的一个native函数,地址位于 0x8d904。
[RegisterNatives] java_class: 手动混淆类名 name: detect sig: (Landroid/content/Context;)Ljava/lang/String; fnPtr: 0x71a56e3904 module_name: 保密.so module_base: 0x71a5656000 offset: 0x8d904。
同样方式拦截加密前的数据,解压缩后:
上报内容有点多,包含了设备ID和 magisk 检测等设备风控数据,需要一一绕过。
1、magisk检测
相关字段省略
通过检测进程 /proc/self/attr/prev属性信息,正常app是通过 zygote直接fork而来,因此 prev标记为 init,而 magisk 中间接管了一层,因此 app的 prev 是 zygote。
由于magisk默认没有开启 magiskhide(开启hide后无法注入lsposed插件),因此app通过检测挂载信息可以检测到magisk :fopen: /proc/self/mountinfo。
定位到关键点:
很明显,函数 sub_4A618 通过打开 /proc/self/attr/prev 获取到文件句柄,然后读取文件内容,来检测magisk。因此前面是对 /proc/self/attr/prev 这个字符串的解密还原。
[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!
最后于 2025-10-20 16:46
被CCTV果冻爽编辑
,原因: