引言:如今在web端爬虫把代码复制到本地js文件中进行环境已经不是简单的“敲敲打打“补些原型链就可以解决了,越来越多网页的代码加上了环境检测,特别是对于渲染音频系列的API尤其是重灾区,AI助力我们解决这个问题。
1.AI帮助我创建的本地3D渲染软件:
基于webgl+three.js,SOLO帮助我攥写了一个html3D渲染软件,可以实现文字渲染,平面立体图形渲染,甚至自定义渲染,支持自定义调节各种高级参数(光源,雾效,阴影,渐变,抗锯齿…)
2.SOLO帮助我撰写的对抗webgl风控脚本:
一》可以对抗的风控有:
1.基础存在性检验:
检测手段:上下文存在性检验(获取上下文,获取属性,检查是否丢失),获取版本字符串,获取渲染器参数/核显独显厂商信息/最大纹理值,扩展列表/错误状态/着色器精度…
**通过条件:**通过我在浏览器HOOK采集的本机数据,喂给SOLO让它根据这些数据把参数塞进对应API里,从而实现合理的静态数据,emm…但是这样只能用在我自己的电脑上了,后续会更新,以便在启动之初就通过自执行函数调用渲染模块来填入对应调用机器的数据。
2.简单几何体渲染与像素比对:
检测手段:下发固定几何体(如三角形、立方体)的顶点数据,要求客户端渲染并返回特定像素颜色或帧哈希,与服务端预采标准值比对。
通过条件:当风控代码主动不去调用渲染引擎时候可以直接把预存储数据塞给它,后续也会升级为自动更新为本机数据。当风控代码主动调用动态模块时还可以真正执行光栅化并输出与真实 GPU 一致的像素值。
3.动态随机模型挑战:
检测手段:多次请求不同参数(几何体类型、材质、光源)的随机模型,验证每次返回的哈希是否随机且符合真实分布,防止静态缓存,妄图采用穷举耗尽你的静态数据让你露陷。
通过条件:动态模块具备动态生成随机模型的能力,且每次渲染结果由真实 GPU 产生,哈希不可预测,如果使用静态数据繁琐困难易被检测不划算所有没有存储静态数据。
4.服务端下发的完整场景挑战
**检测手段:**下发包含相机、多光源、多模型、渲染尺寸、阴影类型等完整 JSON 场景,要求按此配置渲染并返回哈希(精确化生成)。还有使限制屏幕尺寸,禁用抗锯齿,离屏渲染来进行高精度检测,目的基本都是把合理范围卡在一个很小的区间,属于常见动态风控。
通过条件:能解析 JSON,精确设置相机、光源、模型、渲染器参数,并输出确定性的像素哈希。
5. WebGL 上下文丢失与恢复检测
检测手段:模拟 GPU 压力或调用上下文丢失API扩展触发上下文丢失(比如切换标签页就会触发),检查客户端能否正确捕获上下文丢失事件,并在恢复后重建场景,恢复前后画面一致。
通过条件:能监听真实丢失事件,保存完整场景状态(几何体、材质、变换),恢复后完全重建并继续渲染。
6. 状态持久化与跨挑战连续性检测
检测手段:多次挑战之间要求保持状态(如模型缓存、相机视角),或页面刷新后恢复上次场景,检测客户端是否真正维护 3D 场景的连续性。
通过条件:支持场景序列化/反序列化,提供模型缓存机制,能够从本地存储恢复上次状态。
7. 反 Hook 检测(原生函数完整性)
检测手段:检查 WebGLRenderingContext.prototype.drawArrays 等方法的 toString() 返回值是否包含 [native code],以判断是否被 JavaScript 模拟。
通过条件:暴露真实的原生 WebGL 函数(或通过绑定技巧使模拟函数也返回 [native code]),避免被检测到篡改。
8. 隐藏 Canvas 或额外上下文检测
检测手段:枚举页面canvas元素,检查其大小、可见性、是否拥有 WebGL 上下文,发现非预期的隐藏 canvas 则判定为模拟,很多模拟软件会使用离屏渲染一查一个准。
通过条件:不创建额外的隐藏 canvas,或确保所有 canvas 都是可见且合理的,在屏幕内部。
原理如下,采取了静态数据+动态渲染生成数据双层结构兼顾了低开销伪造与真实渲染能力,预留扩展接口,可以后续升级。
二》聊一些使用SOLO的经历吧,我接触逆向时间也不长属于一个新手,现在这个时代,各种检测加密层出不穷,在传统路线我要想写一个这种级别的抗风控文件我得从零细细了解各种API还有什么光栅化着色器…等学会了恐怕我就不是搞爬虫的了,但是像SOLO这种AI我只需要让让它先去学习某一个方向的知识概念然后指定计划生成代码就可以了,我不需要真正搞明白这些复杂的东西,更多是了解概念指明方向,我相信这个AI在不远的将来还能做到解开复杂反混淆插桩定位破解加密这些复杂的东西,这样我就成了一个拿着遥控器指挥铁皮人的逆向工作者?想想很有趣,希望SOLO这个软件未来能够带给大家更好的体验,用代码改变世界。
通过百度网盘分享的文件:渲染引擎
链接: 百度网盘 请输入提取码
提取码:b51n
复制这段内容打开「百度网盘APP 即可获取」
渲染小软件和那个对抗风控文件






