如果你的日常主力是沙盒类软件,那么此内容对你不会有实质帮助
之前讨论过配置HIPS策略限制拦截流氓程序扫盘,不安分的进程间/注册表行为。个人日常中又陆续发现了其他问题,加上了解到HIPS对于的在内存调用系统读取API的行为似乎有盲区,于是了解接触了Frida
由于不善言辞,加之为了阐明前因后果,清晰描述借助Frida助力Win端隐私保护的思路,下面的内容全由AI对“个人试错尝试过程”的总结生成
![]()
起点:对“扫盘”的警觉
一切的起因源于对个人隐私最朴素的防御心理——防止扫盘。在 Windows 环境下,那些知名软件对用户硬盘空间的“过度关心”早已不是秘密。我最初折腾 HIPS 的初衷,就是想构建一道物理隔绝之外的逻辑屏障,限制这些软件只能在指定的白名单目录内活动。
通过对 explorer.exe 访问权的严格管控,我切断了它们试图通过注入资源管理器来获取更高权限或窥探文件系统的路径。但这仅仅是冰山一角,随着规则的深入,我发现这些软件对网络环境的“执念”远超想象。
为何选择 ESET
我使用 ESET 已有多年。虽然市面上有很多专业的 HIPS 软件(如 Comodo 或各类沙盒),但我并不想在系统里塞入更多过重的程序,导致驱动冲突或资源浪费。
ESET 内置的 HIPS 已经具备了极高的灵活性,它完全符合专业 HIPS 对 AD(应用程序防护)、FD(文件防护)、RD(注册表防护) 的“3D标准”。作为一款付费软件,如果只把它当成一个静态的病毒库扫描器,而不去挖掘其复杂的规则定义能力,在我看来是一种极大的资源浪费。因此,我决定用这柄“手术刀”去解剖那些潜伏在后台的行为。
旧版与新架构的内网嗅探差异
在配置规则的过程中,我利用旧版 QQ(9.7.25)、微信以及最新的 QQ NT 版作为实验对象。
通过 HIPS 日志,我发现了一个显著的差异:
旧版 QQ 的探测行为非常“吵闹”。在常规环境下,它会周期性地尝试调用系统的 ipconfig.exe 和 arp.exe。当我开启了某种工作在网络层的虚拟适配器工具后,这种行为变得异常疯狂,调用频率呈指数级上升。伴随而来的,是 QQ 因为无法执行这些被 HIPS 拦截的命令而频繁掉线。
相比之下,微信和 QQ NT 则表现得异常“安静”。即便它们同样在进行复杂的内网嗅探,HIPS 日志中却几乎找不到任何子进程启动的记录。这种沉默让我更加不安——这意味着它们已经进化到了更隐蔽、更底层的架构。
从进程到 API
为了搞清楚那些“安静”的软件到底在做什么,我先后动用了 Process Explorer 和 API Monitor。
通过 PE 工具,我确认了这些软件加载了 iphlpapi.dll和 ws2_32.dll。在 API Monitor 的监听下,真相大白:
它们不再依赖臃肿的外部命令。微信和 QQ NT 直接在进程内部调用 GetAdaptersAddresses 等底层函数。而且它们调用的标志位中明确包含了“请求网关信息”。这意味着它们在内存中直接勾勒出了我的本地网络拓扑,包括虚拟适配器的存在、真实的内网 IP 映射,甚至是局域网内的网关细节。
这种“直接问系统要答案”的行为绕过了HIPS 3D 层面的监控。
为什么选择 Frida
既然 HIPS 只能实现“允许或阻止”的二元论,且无法有效拦截只读类的 API 调用,我需要更高级的手段:欺骗。
我选择了 Frida。它不是沙盒,而是一个动态插桩工具。它的优势在于“致盲”:当软件请求真实的网卡信息时,Frida 可以像滤镜一样,在数据返回给软件前的最后一毫秒,将其篡改为我伪造的假数据,或者干脆返回一个“空结果”。
而且其在Android上也能使用,借此熟悉也是为了将来能在更加黑盒的 Android 上发力。不过遗憾的是,后续发现想要在 Android 上简单易用,首先需要root设备,否则需要进行重打包等操作。
通过AI降低入坑门槛
在 Windows 上部署 Python 3 和 Frida 环境并不复杂,难点在于编码。没有时间和精力去系统性学习 Python 和 Frida 复杂的 API,但好在如今AI已能堪一用。
我构建了一套 “BAT + Python + JS” 的三层架构:
- JS 脚本层:存放具体的 Hook 逻辑(例如修改网卡描述、拦截后台读取剪贴板等)。
- Python 注入层:负责将 JS 代码注入到目标进程,并处理异常。
- BAT 启动层:作为快捷入口,一键带起环境并运行程序。
这套架构极其便捷:如果想增加新的 Hook 功能,只需提供需求给 AI ,让其生成对应的代码,新建一份 JS 文件作为“模块”;如果想 Hook 一个新软件,只需新建一个 BAT 文件修改路径即可。
当然,这种方式也有代价:由于不具备系统性编写这类代码的能力,当脚本出现复杂的异步冲突或内存错误时,调试过程会变得异常耗时。加上 Windows 海量的 DLL 和 API 需要了解其功能,Frida 注定只能作为 HIPS 或其他防护手动的补充,无法作为主力。
覆盘总结
对于通过 Frida 对敏感 API 进行结果篡改,我也才算勉强完成了试错尝试,Hook 的 API 范围还极其有限,目标程序也仅仅是QQ和微信。但足以表明在 HIPS 的行为规则管控之外,这是可行的有限范围补充方案。