Frida + Hips 的 初试报告

前因:https://meta.appinn.net/t/topic/81578

几个月下来,自己实测,让ai修修补补,最初设想的防护功能已经初步完善,算是完成第一阶段了。范围覆盖:后台进程私隐,本地网络隐私,剪切板隐私


Frida 安装与整体介绍

Python 依赖与 Frida 安装

pip install frida-tools

\Lib\site-packages\frida\_frida.pyd 可能会被杀毒软件(AV)误隔离,使用前请酌情添加信任。

推荐工具

  • Process Explorer: 获取进程加载的 DLL 列表。 下载地址

  • API Monitor: 获取进程通过 DLL 调用的 Windows API 信息。 下载地址

:warning: 风险警告:HIPS 及策略组的必要性

Warning

账号异常风险:极不建议在没有 HIPS (主机入侵防御系统)Windows 组策略规则拦截目标程序的情况下,直接使用本套 Frida 脚本。
如果缺乏底层限制,目标程序能够自由拉起“遥测 / 数据上报组件”,或能够不受限地将“注入异常日志”写入系统注册表与本地文件中,直接挂载 Hook 会极大地增加您的账号被风控或封禁的风险。

主机入侵防御系统 (HIPS)

HIPS (Host Intrusion Prevention System) 是一套基于系统底层的主动防御体系,通过拦截未经授权的危险操作阻止恶意行为的发生。其核心机制通常被归纳为 3D 防御

  1. 文件防御 (FD - File Defense)

    • 防御机制: 拦截程序对指定文件、文件夹的访问操作(读取、写入、删除、执行等)。

    • 读边界: FD 依托内核文件过滤驱动(Minifilter)可实现颗粒度极高的文件锁,能够彻底阻断应用对受保护文件的读取。在三项维度中,FD 是对"读"操作防御最为完整的一层。

  2. 注册表防御 (RD - Registry Defense)

    • 防御机制: 拦截对关键注册表键值(自启动、服务项、组件关联等)的写入、修改与删除。

    • 读边界: 由于系统运行本身极度依赖注册表读取,绝大多数 HIPS 出于兼容性不会拦截读行为。因此,应用可通过直接读取注册表获取硬件指纹和安装列表,RD 的"读"防御几乎完全失效

  3. 应用程序防护 (AD - Application/System Defense)

    • 防御机制: 拦截高危的底层系统调用,例如跨进程写内存、创建远程线程注入、键盘钩子及底层驱动加载等。

    • HIPS 类型决定了 AD 的粒度,在此需要区分两类产品:

      • 集成型 HIPS(ESET、Kaspersky、Bitdefender、火绒等)本质是 AV 防病毒引擎的行为防护扩展模块,其 AD 遵循"行为链判定"哲学:在面向普通进程时,通常不在 NtOpenProcess(句柄申请)等读操作层面进行粗粒度拦截,而是等待具体危险动作(WriteProcessMemory/CreateRemoteThread)出现时才绝杀。这是有意设计——任务管理器、杀毒引擎等合法工具均依赖句柄申请,且 HIPS 追踪的是调用线程本身的令牌,而非句柄中的目标进程身份,伪装无效。但请注意:集成型 HIPS 的 AV 内核通常针对高价值敏感进程(如 lsass.exe)保有专项只读拦截规则,对该类目标的读操作可能仍会被捕获,这属于 AV 内部规则,与通用的 AD 防御粒度无关。ESET 和火绒支持一定程度的自定义 3D 规则,属于集成型中的半专业特例,但在"读/枚举"盲区上仍无法根本突破。

      • 专业型 HIPS(Comodo 、冰盾等)是传统意义上的独立 HIPS,行为控制是其核心功能而非附属模块,遵循"默认拒绝、原子级控制"哲学:可在句柄申请阶段即告警或阻断,用户能对单个 API 的调用权限进行精细配置,防御粒度远超集成型,不局限于特定高价值目标。

    • 两类 HIPS 共同的盲区: AD 均不涵盖对操作系统表面信息的合法枚举(如 NtQuerySystemInformation 遍历进程树、EnumWindows 枚举桌面窗口),这是隐私环境嗅探的温床,也是 Frida 脚本补位的核心战场。

Frida 脚本的定位与适用场景

由上述差异自然引出本套脚本的适用边界,以三种典型防御方案为例说明:

  • 集成型 HIPS 用户(本脚本的主要适用场景):以 ESET、Kaspersky、火绒为代表。这类方案 AV 能力完整,但 AD 的行为链模式在"读/枚举"层面存在固有盲区,无法通过配置规则根本消除。Frida 脚本在此发挥"软蒙蔽"作用——通过 API Hook 将敏感枚举结果替换为伪空数据,与 HIPS 的"硬阻断"互为补充,形成纵深防御体系。

  • 专业型 HIPS 用户(如 Comodo Internet Security):专业型 HIPS 的 AD 已能原子级拦截进程访问,ProcessPrivacy.js 的进程防御部分与之高度重叠,基本可视为冗余。值得注意的是,专业型 HIPS 通常自带"自动包含(Auto-Containment)沙盒"机制,可将未知程序直接隔离运行;但其 AV 查杀能力相对薄弱,实际使用中通常需额外搭配一套集成型 AV(如 ESET NOD32)提供实时病毒防护,形成"专业 HIPS 管行为控制 + AV 管病毒查杀"的组合方案。在此方案下,NetworkPrivacy.jsClipboard.js 依然有补充价值,因为无论哪类 HIPS 均不覆盖硬件寻址层(网卡/MAC)与剪贴板的读取盲区。

  • 独立沙盒用户(如 Sandboxie-Plus):独立沙盒专注于进程与文件系统的命名空间隔离,隔离效果极为彻底,进程防御脚本同样高度冗余。但独立沙盒完全不具备病毒查杀能力,必须额外搭配独立 AV 套件对宿主机提供实时保护。与专业型 HIPS 的内置沙盒不同,独立沙盒缺乏 HIPS 级别的行为拦截规则引擎,对宿主机层面的跨进程攻击防御能力较弱,NetworkPrivacy.jsClipboard.js 对此类场景依然有意义。

[核心局限:信任边界与跳板注入]
进程隐私防护脚本 (ProcessPrivacy.js) 对跨进程访问的放行判定基于两个条件(满足其一即放行):① 目标 PID 是自身或直接父进程(单层,不追溯祖先);② 目标进程与自身安装目录存在同源关系(目录包含匹配)。但请注重防范这种信任边界被利用的隐患:
explorer.exe (资源管理器) 为例。尽管脚本能防止程序四处盲目枚举,但当目标程序由于功能需要(如点击"打开下载目录")而拉起外部系统进程时,由于拉起行为构成了直接父子关系,脚本为了保障基础功能运行稳定,极大可能会判定该操作合法并放行针对该新衍生子进程的访问权。此时,如果流氓软件借机对刚拉起的 explorer.exe 等组件进行跨进程恶意代码注入,从而绕过脚本的高墙,我们在纯脚本层面是极其被动且难以防范的。
这正是 HIPS 与策略组不可或缺的核心原因:HIPS/策略组 可以在操作系统底层制定"允许 A 启动 B,但不允许 A 向 B 写内存 (注入)"的铁腕规则,从根本上锁死注入跳板。


目录结构

  • api/: API Hook 脚本 (JS)

  • bat/: 启动批处理文件

  • python/: Frida 加载启动器 (frida_launcher.py)

启动脚本配置 (BAT)

Important

关于路径:示例中使用了 YourPath\文件名 占位,实际配置时必须替换为文件在系统中的完整绝对路径

批处理文件需以 ANSI (GBK) 格式编码。

@echo off  
setlocal  
  
:: 1. 核心路径配置 (需使用绝对路径)  
set LAUNCHER_PY=YourPath\frida_launcher.py  
set TARGET_APP=YourPath\Target.exe  
  
:: 2. 脚本列表 (支持多行,路径需加引号)  
set SCRIPTS=^  
 "YourPath\NetworkPrivacy.js"^ "YourPath\Clipboard.js"  
echo [+] Starting Frida Loader...  
  
:: --- 运行时说明 ---:: 1. 普通模式: 使用 python。若关闭 CMD 窗口,Frida 拦截将立即失效。  
:: 2. 隐藏模式: 使用 pythonw。不显示窗口,需在任务管理器中手动结束 python 进程。  
  
:: 【示例】子进程轮询模式 (如 QQ/钉钉)  
:: 注意:由于脚本开发环境存在 HIPS 会拦截非必要组件程序的启动,当前 bat 文件中 CHILD_TARGETS 参数列举的目标程序并不完整。  
:: 在无 HIPS 规则的环境下,目标应用往往会拉起更多意料之外的上报子进程。  
set CHILD_TARGETS=TargetChild1.exe TargetChild2.exe  
  
:: [普通启动]  
python "%LAUNCHER_PY%" --app "%TARGET_APP%" --scripts %SCRIPTS% --mode spawn-poll --child-targets %CHILD_TARGETS%  
  
:: [无窗口启动]  
:: start /b pythonw "%LAUNCHER_PY%" --app "%TARGET_APP%" --scripts %SCRIPTS% --mode spawn-poll --child-targets %CHILD_TARGETS%  
  
pause  

源码

由于只是用了私人仓库用作版本管理,先贴上现阶段的脚本代码。由于本人只是java搬砖的,对python,js都不算专业,编码全靠Vibe Coding,win的api更是只靠ai介绍了解,所以不保证没有遗漏拦截的api,或不合理的代码逻辑

Python 起动器

frida_launcher.py

# -*- coding: utf-8 -*-
# frida_launcher.py
import frida  
import sys  
import argparse  
import os  
import time  
import shlex  
  
if sys.stdout.encoding != 'utf-8':  
    import io  
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')  
  
class HybridLauncher:  
    def __init__(self, main_scripts, launcher_scripts=[]):  
        self.main_scripts = main_scripts  
        self.launcher_scripts = launcher_scripts  
        self.device = frida.get_local_device()  
        self.attached_pids = set()  
        self.device.on('child-added', self.on_child_added)  
  
    def on_message(self, message, data):  
        if message['type'] == 'send':  
            print(f"[*] {message['payload']}")  
        elif message['type'] == 'error':  
            print(f"[-] 脚本错误: {message['description']}")  
  
    def inject_logic(self, pid, script_paths):  
        """通用注入逻辑"""  
        if not script_paths:  
            return True  
        try:  
            # 增加一个小延迟,防止进程初始化未完成时 attach 导致 0x5 错误  
            time.sleep(0.1)  
            session = self.device.attach(pid)  
            session.enable_child_gating()  
            for path in script_paths:  
                clean_path = path.strip().strip('"').strip("'")  
                if os.path.exists(clean_path):  
                    with open(clean_path, 'r', encoding='utf-8') as f:  
                        script = session.create_script(f.read())  
                        script.on('message', self.on_message)  
                        script.load()  
            return True  
        except Exception as e:  
            print(f"[-] 注入 PID {pid} 失败: {e}")  
            return False  
  
    def on_child_added(self, child):  
        """递归注入逻辑"""  
        try:  
            # 子进程加载全量脚本  
            if self.inject_logic(child.pid, self.main_scripts):  
                print(f"[追踪] 捕获子进程 {child.pid} 并注入成功")  
            self.device.resume(child.pid)  
        except:  
            try: self.device.resume(child.pid)  
            except: pass  
  
    def run_spawn_mode(self, app_path, extra_args=[]):  
        print(f"[*] 模式: 直注 (spawn)")  
        try:  
            argv = shlex.split(app_path, posix=False) + extra_args  
            pid = self.device.spawn(argv)  
            self.inject_logic(pid, self.main_scripts)  
            self.device.resume(pid)  
            sys.stdin.read()  
        except Exception as e:  
            print(f"[-] 启动失败: {e}")  
  
    def run_spawn_poll_mode(self, app_path, target_list, extra_args=[]):  
        print(f"[*] 模式: 孵化监控 (spawn-poll)")  
        try:  
            argv = shlex.split(app_path, posix=False) + extra_args  
            launcher_pid = self.device.spawn(argv)  
  
            # --- 核心改进:仅在有脚本需求时才 attach 启动器 ---            if self.launcher_scripts:  
                print(f"[*] 正在为启动器 ({launcher_pid}) 注入防御脚本...")  
                self.inject_logic(launcher_pid, self.launcher_scripts)  
            else:  
                # 如果没有启动器脚本,完全不 attach,直接运行,防止崩溃  
                print(f"[*] 跳过启动器注入以防止崩溃...")  
  
            self.device.resume(launcher_pid)  
            print(f"[*] 监控目标进程: {target_list}")  
  
            while True:  
                for proc in self.device.enumerate_processes():  
                    if any(t.lower() in proc.name.lower() for t in target_list) and proc.pid not in self.attached_pids:  
                        print(f"\n[!] 命中目标: {proc.name} ({proc.pid})")  
                        if self.inject_logic(proc.pid, self.main_scripts):  
                            self.attached_pids.add(proc.pid)  
                            print(f"[+] 注入成功: {proc.pid}")  
                time.sleep(0.1)  
        except KeyboardInterrupt:  
            pass  
  
if __name__ == '__main__':  
    parser = argparse.ArgumentParser()  
    parser.add_argument("--app", required=True)  
    parser.add_argument("--scripts", nargs='+', required=True, help="要注入到目标及其子进程的脚本列表")  
    parser.add_argument("--launcher-scripts", nargs='*', default=[], help="要注入到启动器的脚本列表")  
    parser.add_argument("--mode", default='spawn', choices=['spawn', 'spawn-poll'])  
    parser.add_argument("--child-targets", nargs='*', default=[], help="轮询模式下的目标子进程名列表")  
  
    args, unknown = parser.parse_known_args()  
  
    launcher = HybridLauncher(args.scripts, args.launcher_scripts)  
    if args.mode == 'spawn-poll':  
        launcher.run_spawn_poll_mode(args.app, args.child_targets, unknown)  
    else:  
        launcher.run_spawn_mode(args.app, unknown)

Windows 运行为什么要基于 py 然后有api hook js

接上

Js Frida 脚本

Clipboard.js

// 文件名: Clipboard.js  
/**  
 * Clipboard - 剪贴板隐私防护  
 * ==========================================  
 * 依赖模块 (DLL):  
 * - user32: Windows 用户界面核心模块,提供窗口管理、剪贴板交互等 GUI 支持功能。  
 *  
 * 挂载函数 (API):  
 * - OpenClipboard: 打开并锁定剪贴板。通过拦截该操作,判断调用进程是否为当前激活的窗口。  
 * - GetClipboardData: 实际读取剪贴板的存储数据。配合按键状态,拦截非人为操作的恶意读取。  
 * - GetForegroundWindow / GetWindowThreadProcessId: 用于验证发起读取的进程是否处于前台显示状态。  
 * - GetAsyncKeyState: 用于物理按键(如 Ctrl,Shift,鼠标左右键等)的真实性校验。  
 * ==========================================  
 */
 (function () {  
    var fileName = "Clipboard";  
    var myName = "";  
    var ptrNULL = ptr("0");  
  
    var getNow = function () {  
        var d = new Date();  
        var pad = function (n) { return (n < 10 ? '0' : '') + n; };  
        return d.getFullYear() + "/" + pad(d.getMonth() + 1) + "/" + pad(d.getDate()) + " " +  
            pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds());  
    };  
  
    var logger = function (action, moduleName, api, detail) {  
        if (myName === "") {  
            try {  
                var modules = Process.enumerateModules();  
                myName = (modules && modules.length > 0) ? modules[0].name : "Unknown";  
            } catch (e) { myName = "Unknown"; }  
        }  
        var parts = [myName, Process.id, fileName, action];  
        if (moduleName) parts.push(moduleName);  
        if (api) parts.push(api);  
        if (detail) parts.push(detail);  
        parts.push(getNow());  
        send(parts.join("|"));  
    };  
  
    logger("开始加载");  
  
    var TARGET_MODULE = "user32";  
    var isHooked = false;  
    var pdwPid = Memory.alloc(4);  
    var VK_LBUTTON = 0x01;  
    var VK_RBUTTON = 0x02;  
    var VK_SHIFT = 0x10;  
    var VK_CONTROL = 0x11;  
  
    var GetForegroundWindow = null;  
    var GetWindowThreadProcessId = null;  
    var GetAsyncKeyState = null;  
  
    function doHook(mod) {  
        if (isHooked) return;  
  
        try {  
            var pOpen = mod.findExportByName("OpenClipboard");  
            var pGetData = mod.findExportByName("GetClipboardData");  
            var pGetFW = mod.findExportByName("GetForegroundWindow");  
            var pGetPID = mod.findExportByName("GetWindowThreadProcessId");  
            var pGetAsyncKeyState = mod.findExportByName("GetAsyncKeyState");  
  
            if (pOpen && pGetData && pGetFW && pGetPID && pGetAsyncKeyState) {  
                try {  
                    GetForegroundWindow = new NativeFunction(pGetFW, 'pointer', []);  
                    GetWindowThreadProcessId = new NativeFunction(pGetPID, 'uint32', ['pointer', 'pointer']);  
                    GetAsyncKeyState = new NativeFunction(pGetAsyncKeyState, 'int16', ['int']);  
                } catch (e) {  
                    logger("失败/异常", TARGET_MODULE, "NativeFunction_Init", e.message);  
                    return;  
                }  
  
                function isHumanOperating() {  
                    try {  
                        if (!GetAsyncKeyState) return false;  
                        var ctrl = GetAsyncKeyState(VK_CONTROL) & 0x8000;  
                        var shift = GetAsyncKeyState(VK_SHIFT) & 0x8000;  
                        var lbtn = GetAsyncKeyState(VK_LBUTTON) & 0x8000;  
                        var rbtn = GetAsyncKeyState(VK_RBUTTON) & 0x8000;  
                        return (ctrl !== 0 || shift !== 0 || lbtn !== 0 || rbtn !== 0);  
                    } catch (e) { return false; }  
                }  
  
                Interceptor.attach(pOpen, {  
                    onEnter: function (args) {   
                        try {  
                            this.hwnd = args[0];   
                        } catch (e) { }  
                    },  
                    onLeave: function (retval) {  
                        try {  
                            if (retval.toInt32() === 0) return;  
                            if (this.hwnd && !this.hwnd.isNull()) {  
                                if (GetForegroundWindow && GetWindowThreadProcessId) {  
                                    var hForeground = GetForegroundWindow();  
                                    GetWindowThreadProcessId(hForeground || ptrNULL, pdwPid);  
                                    if (pdwPid.readU32() !== Process.id) {  
                                        if (retval.replace) {  
                                            retval.replace(ptrNULL);  
                                            logger("拦截触发", TARGET_MODULE, "OpenClipboard", "后台读取");  
                                        }  
                                    }  
                                }  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, TARGET_MODULE, "OpenClipboard", e.message);  
                        }  
                    }  
                });  
  
                Interceptor.attach(pGetData, {  
                    onLeave: function (retval) {  
                        try {  
                            if (retval.isNull()) return;  
                            if (!isHumanOperating()) {  
                                if (retval.replace) {  
                                    retval.replace(ptrNULL);  
                                    logger("拦截触发", TARGET_MODULE, "GetClipboardData", "非人为读取");  
                                }  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, TARGET_MODULE, "GetClipboardData", e.message);  
                        }  
                    }  
                });  
  
                isHooked = true;  
                logger("模块加载", TARGET_MODULE, "OpenClipboard", "Ready");  
            }  
        } catch (e) {  
            logger("失败/异常", TARGET_MODULE, "HookInit", e.message);  
        }  
    }  
  
    setInterval(function () {  
        try {  
            var mod = Process.findModuleByName("user32.dll") || Process.findModuleByName("user32");  
            if (mod) doHook(mod);  
        } catch (e) { }  
    }, 100);  
  
    logger("加载完成");  
})();

NetworkPrivacy.js

// 文件名: NetworkPrivacy.js  
/**  
 * NetworkPrivacy - 网络隐私防护 (增强版)  
 * ========================================== * 依赖模块 (DLL):  
 * - iphlpapi: IP 助手 API,用于获取网卡列表、MAC 地址、路由表及 ARP 缓存。  
 * - ws2_32: Windows Socket 2 核心模块,用于底层通信、套接字控制及 DNS/主机名解析。  
 * - winhttp: Windows HTTP 服务模块,用于查询系统全局代理及 IE 代理配置。  
 * - advapi32: 高级服务 API 模块,此处用于拦截对注册表网卡驱动硬件信息的枚举。  
 *  
 * 挂载函数 (API):  
 * - GetAdaptersAddresses / GetAdaptersInfo: 获取网卡物理信息。拦截以防止设备指纹收集。  
 * - GetIpNetTable / GetTcpTable / GetIpForwardTable 等: 获取网络状态、ARP 表、路由表。拦截以防止内网环境嗅探。  
 * - WSAIoctl: 底层套接字控制,拦截以阻断获取底层网络接口列表。  
 * - gethostbyname / getaddrinfo / GetAddrInfoW: DNS 与主机名解析。拦截以防止泄露本机名或进行内网反向探测。  
 * - WinHttpGetIEProxyConfigForCurrentUser: 获取当前用户代理配置。拦截以隐藏 v2rayN/Clash 等代理软件存在。  
 * - RegQueryValueExW: 注册表键值查询。拦截对网卡驱动描述的读取,防止通过注册表识别虚拟网卡 (TAP/TUN)。  
 * - IcmpSendEcho: ICMP 回显请求。拦截以防止程序主动 Ping 扫描内网存活主机。  
 * ==========================================  
 */
 (function () {  
    var fileName = "NetworkPrivacy";  
    var myName = "";  
    var ptrNULL = ptr("0");  
  
    var getNow = function () {  
        var d = new Date();  
        var pad = function (n) { return (n < 10 ? '0' : '') + n; };  
        return d.getFullYear() + "/" + pad(d.getMonth() + 1) + "/" + pad(d.getDate()) + " " +  
            pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds());  
    };  
  
    var logger = function (action, moduleName, api, detail) {  
        if (myName === "") {  
            try {  
                var modules = Process.enumerateModules();  
                myName = (modules && modules.length > 0) ? modules[0].name : "Unknown";  
            } catch (e) { myName = "Unknown"; }  
        }  
        var parts = [myName, Process.id, fileName, action];  
        if (moduleName) parts.push(moduleName);  
        if (api) parts.push(api);  
        if (detail) parts.push(detail);  
        parts.push(getNow());  
        send(parts.join("|"));  
    };  
  
    logger("开始加载");  
  
    var ERROR_SUCCESS = 0;  
    var ERROR_NO_DATA = 232;  
    var ERROR_FILE_NOT_FOUND = 2;  
    var hookedModules = {};  
  
    function applyHooks(mod) {  
        var modName = mod.name.toLowerCase().replace(".dll", "");  
        if (hookedModules[modName]) return;  
  
        try {  
            // --- 1. IPHLPAPI 模块: 网卡、路由、ARP 与 ICMP ---            if (modName === "iphlpapi") {  
                var pGAA = mod.findExportByName("GetAdaptersAddresses");  
                if (pGAA) {  
                    Interceptor.attach(pGAA, {  
                        onLeave: function (retval) {  
                            try {  
                                if (retval.toInt32() == ERROR_SUCCESS) {  
                                    if (retval.replace) {  
                                        retval.replace(ptr(ERROR_NO_DATA));  
                                        logger("拦截触发", modName, "GetAdaptersAddresses", "网卡地址枚举");  
                                    }  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, "GetAdaptersAddresses", e.message);  
                            }  
                        }  
                    });  
                }  
  
                var pGAI = mod.findExportByName("GetAdaptersInfo");  
                if (pGAI) {  
                    Interceptor.attach(pGAI, {  
                        onLeave: function (retval) {  
                            try {  
                                if (retval.toInt32() == ERROR_SUCCESS) {  
                                    if (retval.replace) {  
                                        retval.replace(ptr(ERROR_NO_DATA));  
                                        logger("拦截触发", modName, "GetAdaptersInfo", "系统网卡枚举");  
                                    }  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, "GetAdaptersInfo", e.message);  
                            }  
                        }  
                    });  
                }  
  
                ["GetIpNetTable", "GetIpNetTable2", "GetIpAddrTable", "GetIpForwardTable", "GetIpForwardTable2", "GetBestRoute", "GetTcpTable", "GetUdpTable"].forEach(function (fname) {  
                    var pFunc = mod.findExportByName(fname);  
                    if (pFunc) {  
                        Interceptor.attach(pFunc, {  
                            onLeave: function (rv) {  
                                try {  
                                    if (rv.toInt32() == 0) {  
                                        if (rv.replace) {  
                                            rv.replace(ptr(ERROR_NO_DATA));  
                                            logger("拦截触发", modName, fname, "网络状态枚举");  
                                        }  
                                    }  
                                } catch (e) {  
                                    var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                    logger(tag, modName, fname, e.message);  
                                }  
                            }  
                        });  
                    }  
                });  
  
                ["IcmpSendEcho", "IcmpSendEcho2", "IcmpSendEcho2Ex"].forEach(function (fname) {  
                    var pIcmp = mod.findExportByName(fname);  
                    if (pIcmp) {  
                        Interceptor.attach(pIcmp, {  
                            onLeave: function (retval) {  
                                try {  
                                    if (retval.toInt32() !== 0 && retval.replace) {  
                                        retval.replace(ptr(0));  
                                        logger("拦截触发", modName, fname, "阻断 ICMP Ping 探测");  
                                    }  
                                } catch (e) {  
                                    var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                    logger(tag, modName, fname, e.message);  
                                }  
                            }  
                        });  
                    }  
                });  
  
                logger("模块加载", modName, "NetworkTables/ICMP", "Ready");  
            }  
  
            // --- 2. WS2_32 模块: 套接字控制与 DNS 探测 ---            if (modName === "ws2_32") {  
                var pIoctl = mod.findExportByName("WSAIoctl");  
                if (pIoctl) {  
                    Interceptor.attach(pIoctl, {  
                        onEnter: function (args) {  
                            try {  
                                var controlCode = args[1].toInt32();  
                                if (controlCode == 0x4004747F || controlCode == 0x48007416) {  
                                    this.isBlocked = true;  
                                }  
                            } catch (e) { }  
                        },  
                        onLeave: function (retval) {  
                            try {  
                                if (this.isBlocked && retval.replace) {  
                                    retval.replace(ptr(-1));  
                                    logger("拦截触发", modName, "WSAIoctl", "接口列表枚举");  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, "WSAIoctl", e.message);  
                            }  
                        }  
                    });  
                }  
  
                ["gethostbyname", "gethostbyaddr", "getaddrinfo", "GetAddrInfoW"].forEach(function (fname) {  
                    var pDNS = mod.findExportByName(fname);  
                    if (pDNS) {  
                        Interceptor.attach(pDNS, {  
                            onEnter: function (args) {  
                                try {  
                                    this.isBlocked = false;  
                                    this.target = "";  
                                    if (fname === "GetAddrInfoW") {  
                                        this.target = args[0].readUtf16String();  
                                    } else if (fname === "gethostbyname" || fname === "getaddrinfo") {  
                                        this.target = args[0].readUtf8String();  
                                    } else if (fname === "gethostbyaddr") {  
                                        this.target = "Reverse_IP_Lookup";  
                                        this.isBlocked = true;  
                                    }  
  
                                    if (this.target && !this.isBlocked) {  
                                        var targetLower = this.target.toLowerCase();  
                                        // 拦截逻辑:  
                                        // 1. 排除 localhost/回环  
                                        // 2. 拦截不含 '.' 且不含 ':' 的目标 (判定为本机名或内网主机名)  
                                        // 3. 拦截常见的内网私有网段正向探测  
                                        if (targetLower === "localhost" || targetLower === "127.0.0.1" || targetLower === "::1") {  
                                            this.isBlocked = false;  
                                        } else if (targetLower.indexOf(".") === -1 && targetLower.indexOf(":") === -1) {  
                                            this.isBlocked = true;  
                                        } else if (targetLower.startsWith("192.168.") || targetLower.startsWith("10.") || targetLower.startsWith("172.")) {  
                                            this.isBlocked = true;  
                                        }  
                                    }  
                                } catch (e) { }  
                            },  
                            onLeave: function (retval) {  
                                try {  
                                    if (this.isBlocked && retval.replace) {  
                                        if (fname === "gethostbyname" || fname === "gethostbyaddr") {  
                                            if (!retval.isNull()) {  
                                                retval.replace(ptr(0));  
                                                logger("拦截触发", modName, fname, "内网/本机名探测 (" + this.target + ")");  
                                            }  
                                        } else {  
                                            if (retval.toInt32() === 0) {  
                                                retval.replace(ptr(11001));  
                                                logger("拦截触发", modName, fname, "内网/本机名探测 (" + this.target + ")");  
                                            }  
                                        }  
                                    }  
                                } catch (e) {  
                                    var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                    logger(tag, modName, fname, e.message);  
                                }  
                            }  
                        });  
                    }  
                });  
                logger("模块加载", modName, "DNS/WSAIoctl", "Ready");  
            }  
  
            // --- 3. WINHTTP 模块: 系统代理隐私 ---            if (modName === "winhttp") {  
                var pGetProxy = mod.findExportByName("WinHttpGetIEProxyConfigForCurrentUser");  
                if (pGetProxy) {  
                    Interceptor.attach(pGetProxy, {  
                        onLeave: function (retval) {  
                            try {  
                                // 如果返回 TRUE (非0),代表获取到了代理配置  
                                if (retval.toInt32() !== 0 && retval.replace) {  
                                    retval.replace(ptr(0)); // 强制返回 FALSE,模拟无代理环境  
                                    logger("拦截触发", modName, "WinHttpGetIEProxyConfigForCurrentUser", "隐藏系统代理配置");  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, "WinHttpGetIEProxyConfigForCurrentUser", e.message);  
                            }  
                        }  
                    });  
                }  
                logger("模块加载", modName, "ProxyPrivacy", "Ready");  
            }  
  
            // --- 4. ADVAPI32 模块: 注册表网卡特征屏蔽 ---            if (modName === "advapi32") {  
                var pRegQuery = mod.findExportByName("RegQueryValueExW");  
                if (pRegQuery) {  
                    Interceptor.attach(pRegQuery, {  
                        onEnter: function (args) {  
                            try {  
                                this.isBlocked = false;  
                                var pValueName = args[1];  
                                if (!pValueName.isNull()) {  
                                    var valueName = pValueName.readUtf16String().toLowerCase();  
                                    // 拦截对网卡驱动描述、组件ID、供应商名称的读取,防止通过注册表识别虚拟网卡  
                                    if (valueName === "driverdesc" || valueName === "componentid" || valueName === "providername" || valueName === "devicedesc") {  
                                        this.isBlocked = true;  
                                    }  
                                }  
                            } catch (e) { }  
                        },  
                        onLeave: function (retval) {  
                            try {  
                                if (this.isBlocked && retval.toInt32() === ERROR_SUCCESS && retval.replace) {  
                                    retval.replace(ptr(ERROR_FILE_NOT_FOUND));  
                                    logger("拦截触发", modName, "RegQueryValueExW", "屏蔽注册表网卡特征读取");  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, "RegQueryValueExW", e.message);  
                            }  
                        }  
                    });  
                }  
                logger("模块加载", modName, "RegistryPrivacy", "Ready");  
            }  
  
            hookedModules[modName] = true;  
        } catch (e) {  
            logger("失败/异常", modName, "HookInit", e.message);  
        }  
    }  
  
    setInterval(function () {  
        try {  
            ["iphlpapi.dll", "ws2_32.dll", "winhttp.dll", "advapi32.dll"].forEach(function (name) {  
                var mod = Process.findModuleByName(name);  
                if (mod) applyHooks(mod);  
            });  
        } catch (e) { }  
    }, 100);  
  
    logger("加载完成");  
})();

接上

ProcessPrivacy.js

// 文件名: ProcessPrivacy.js  
/**  
 * ProcessPrivacy - 进程隐私防护  
 * ==========================================  
 * 依赖模块 (DLL):  
 * - ntdll: Windows NT 内核层 API 的外壳,所有用户态 API 最终都会调用这里的底层函数。  
 * - user32: Windows 用户界面核心模块,提供窗口管理与枚举等功能。  
 *  
 * 挂载函数 (API):  
 * - NtQueryInformationProcess: 用于获取特定进程的基本信息,此处用于安全获取父进程 PID,以实现防护白名单。  
 * - NtQuerySystemInformation: 用于查询系统级全局信息,拦截以防止目标进行全局进程遍历和系统运行环境扫描。  
 * - NtOpenProcess: 用于获取其他进程的访问句柄,核心拦截点。防止目标进程对其他敏感进程进行跨进程读取、提权或注入操作。  
 * - NtGetNextProcess: 用于遍历系统中的进程句柄,拦截以防止极少数深度扫描工具或恶意软件绕过常规枚举手段。  
 * - EnumWindows / EnumChildWindows: 用于遍历屏幕上所有的顶层与子窗口,拦截以防止目标探查系统当前运行的其他可见软件。  
 * - FindWindowA/W / FindWindowExA/W: 用于根据窗口类名或标题精确查找窗口,拦截以彻底隐藏敏感环境特征(如调试器、沙箱控制台、竞品防护系统窗口)。  
 *   
* 权限掩码 (Access Mask) 简称说明:  
 * - FULL: PROCESS_ALL_ACCESS (所有可能的进程权限)  
 * - TERM: PROCESS_TERMINATE (终止进程的权限)  
 * - THREAD: PROCESS_CREATE_THREAD (创建远程线程权限,常用于代码注入)  
 * - VM_OP: PROCESS_VM_OPERATION (操作进程虚拟内存权限)  
 * - VM_RD: PROCESS_VM_READ (读取进程虚拟内存权限,常用于内存扫描窃取)  
 * - VM_WR: PROCESS_VM_WRITE (写入进程虚拟内存权限,常用于内存篡改)  
 * - DUP_HANDLE: PROCESS_DUP_HANDLE (复制进程句柄权限,常用于越权操作)  
 * - CREATE_PROC: PROCESS_CREATE_PROCESS (使用此进程对象创建子进程的权限)  
 * - SET_QUOTA: PROCESS_SET_QUOTA (设置内存配额的权限)  
 * - QUERY: PROCESS_QUERY_INFORMATION (查询进程敏感信息的权限)  
 * - SUSP: PROCESS_SUSPEND_RESUME (挂起或恢复进程的权限)  
 * - QUERY_LTD: PROCESS_QUERY_LIMITED_INFORMATION (查询进程受限信息的权限)  
 * * [信任边界与 HIPS 刚需声明]:  
 * 本脚本对跨进程访问的放行判定基于两个条件(满足其一即放行):  
 *   ① 目标 PID 是自身或直接父进程(单层,不向上追溯爷爷/祖先进程);  
 *   ② 目标进程的可执行文件路径与自身安装目录存在包含关系(目录同源)。  
 * 但即使对于被放行的跨进程访问,HIPS 依然是第二道铁闸:  
 * 集成型 HIPS/AD 在面向普通进程时,有意不在 NtOpenProcess(句柄申请)等读操作层面做粗粒度拦截(因任务管理器等合法工具依赖此 API),  
 * 但 HIPS 严守"具体危险动作"这一关:一旦程序试图以句柄为凭证执行 WriteProcessMemory(写内存)  
 * 或 CreateRemoteThread(注入线程),HIPS 即刻绝杀。程序虽可持句柄进行只读侦察,  
 * 但无法借此伪装目标进程身份——HIPS 追踪的始终是调用线程本身的令牌,而非句柄中的对象身份。  
 * 因此:强烈推荐配合 HIPS/组策略,实现"允许进程拉起,但内核层绝对阻断向子进程写内存/注入"的纵深防御。  
 * ==========================================  
 */
 (function () {  
    var fileName = "ProcessPrivacy";  
    var myName = "";  
    var ptrNULL = ptr("0");  
    var myParentPid = -1;  
    var myDir = "";  
  
    // -- 家族进程动态识别体系初启 --    var kernel32 = Process.findModuleByName("kernel32.dll") || Process.findModuleByName("kernel32");  
    var OpenProcess = null;  
    var QueryFullProcessImageNameW = null;  
    var CloseHandle = null;  
  
    if (kernel32) {  
        var pOpen = kernel32.findExportByName("OpenProcess");  
        if (pOpen) OpenProcess = new NativeFunction(pOpen, 'pointer', ['uint32', 'int', 'uint32']);  
          
        var pQFPIN = kernel32.findExportByName("QueryFullProcessImageNameW");  
        if (pQFPIN) QueryFullProcessImageNameW = new NativeFunction(pQFPIN, 'int', ['pointer', 'uint32', 'pointer', 'pointer']);  
          
        var pCH = kernel32.findExportByName("CloseHandle");  
        if (pCH) CloseHandle = new NativeFunction(pCH, 'int', ['pointer']);  
          
        var pGetCur = kernel32.findExportByName("GetCurrentProcess");  
        if (pGetCur && QueryFullProcessImageNameW) {  
            var myHandle = new NativeFunction(pGetCur, 'pointer', [])();  
            var myPathBuf = Memory.alloc(1024);  
            var myPathSize = Memory.alloc(4);  
            myPathSize.writeU32(512);  
            if (QueryFullProcessImageNameW(myHandle, 0, myPathBuf, myPathSize) !== 0) {  
                var myFullPath = myPathBuf.readUtf16String();  
                if (myFullPath) {  
                    var lastSlash = myFullPath.lastIndexOf("\\");  
                    if (lastSlash !== -1) {  
                        myDir = myFullPath.substring(0, lastSlash + 1).toLowerCase();  
                    }  
                }  
            }  
        }  
    }  
  
    var familyCache = {}; // 家族进程状态缓存池  
  
    // 突破单纯的父子关系,以安装目录动态判定是否为“同一款软件家族”的进程  
    function isFamilyPid(pid) {  
        if (pid === Process.id || pid === myParentPid) return true;  
        if (typeof familyCache[pid] !== "undefined") return familyCache[pid];  
        if (!OpenProcess || !QueryFullProcessImageNameW || !CloseHandle || myDir === "") return false;  
  
        var isFam = false;  
        var PROCESS_QUERY_LIMITED_INFORMATION = 0x1000;  
        var hProc = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, 0, pid);  
        if (!hProc.isNull()) {  
            var buf = Memory.alloc(1024);  
            var size = Memory.alloc(4);  
            size.writeU32(512);  
            if (QueryFullProcessImageNameW(hProc, 0, buf, size) !== 0) {  
                var targetPath = buf.readUtf16String();  
                if (targetPath) {  
                    var targetDir = targetPath.toLowerCase();  
                    targetDir = targetDir.substring(0, targetDir.lastIndexOf("\\") + 1);  
                    // 只要当前进程目录和目标进程目录存在互相包含关系,即视为同家族  
                    if (targetDir.indexOf(myDir) === 0 || myDir.indexOf(targetDir) === 0) {  
                        isFam = true;  
                    }  
                }  
            }  
            CloseHandle(hProc);  
        }  
        familyCache[pid] = isFam;  
        return isFam;  
    }  
  
    var getNow = function () {  
        var d = new Date();  
        var pad = function (n) { return (n < 10 ? '0' : '') + n; };  
        return d.getFullYear() + "/" + pad(d.getMonth() + 1) + "/" + pad(d.getDate()) + " " +  
            pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds());  
    };  
  
    var logger = function (action, moduleName, api, detail) {  
        if (myName === "") {  
            try {  
                var modules = Process.enumerateModules();  
                myName = (modules && modules.length > 0) ? modules[0].name : "Unknown";  
            } catch (e) { myName = "Unknown"; }  
        }  
        var parts = [myName, Process.id, fileName, action];  
        if (moduleName) parts.push(moduleName);  
        if (api) parts.push(api);  
        if (detail) parts.push(detail);  
        parts.push(getNow());  
        send(parts.join("|"));  
    };  
  
    function initParentInfo(mod) {  
        if (myParentPid !== -1) return;  
        try {  
            var pNQI = mod.findExportByName("NtQueryInformationProcess");  
            if (pNQI) {  
                var NtQueryInformationProcess = new NativeFunction(pNQI, 'uint32', ['pointer', 'uint32', 'pointer', 'uint32', 'pointer']);  
                var pbi = Memory.alloc(Process.pointerSize * 6);  
                if (NtQueryInformationProcess(Process.getCurrentProcess(), 0, pbi, Process.pointerSize * 6, ptrNULL) === 0) {  
                    var offset = (Process.pointerSize === 8) ? 32 : 16;  
                    myParentPid = pbi.add(offset).readPointer().toInt32();  
                }  
            }  
        } catch (e) { }  
    }  
  
    logger("开始加载");  
  
    function parseAccess(mask) {  
        var m = mask.toInt32();  
        var rights = [];  
        if ((m & 0xFFFF) === 0x1F0FFF) return "FULL";  
        if (m & 0x0001) rights.push("TERM");  
        if (m & 0x0002) rights.push("THREAD");  
        if (m & 0x0008) rights.push("VM_OP");  
        if (m & 0x0010) rights.push("VM_RD");  
        if (m & 0x0020) rights.push("VM_WR");  
        if (m & 0x0040) rights.push("DUP_HANDLE");  
        if (m & 0x0100) rights.push("CREATE_PROC");  
        if (m & 0x0200) rights.push("SET_QUOTA");  
        if (m & 0x0400) rights.push("QUERY");  
        if (m & 0x0800) rights.push("SUSP");  
        if (m & 0x1000) rights.push("QUERY_LTD");  
        return (rights.length > 0 ? rights.join("+") : ("0x" + m.toString(16)));  
    }  
  
    var hookedModules = {};  
  
    function applyNtdllHooks(mod) {  
        if (hookedModules["ntdll"]) return;  
        var modName = "ntdll";  
  
        try {  
            initParentInfo(mod);  
  
            var pEnumIdx = mod.findExportByName("NtQuerySystemInformation");  
            if (pEnumIdx) {  
                Interceptor.attach(pEnumIdx, {  
                    onEnter: function (args) {   
                        try {  
                            this.infoClass = args[0].toInt32();   
                        } catch (e) { }  
                    },  
                    onLeave: function (retval) {  
                        try {  
                            if (this.infoClass === 5 && retval.toInt32() == 0) {  
                                if (retval.replace) {  
                                    retval.replace(ptr("0xC0000022"));   
                                    logger("拦截触发", modName, "NtQuerySystemInformation", "系统进程扫描");  
                                }  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, modName, "NtQuerySystemInformation", e.message);  
                        }  
                    }  
                });  
            }  
  
            var pOpenProc = mod.findExportByName("NtOpenProcess");  
            if (pOpenProc) {  
                Interceptor.attach(pOpenProc, {  
                    onEnter: function (args) {  
                        try {  
                            this.pHandle = args[0];  
                            this.accessMask = args[1];  
                            this.targetPid = -1;  
                            var pClientId = args[3];  
                            if (pClientId && !pClientId.isNull()) {  
                                this.targetPid = pClientId.readPointer().toInt32();  
                            }  
                        } catch (e) { }  
                    },  
                    onLeave: function (retval) {  
                        try {  
                            // 当返回值为 SUCCESS 时代表内核已正式响应打开并分配了句柄  
                            if (retval.toInt32() == 0 && this.targetPid !== -1) {  
                                if (isFamilyPid(this.targetPid)) return;   
                                  
                                if (retval.replace) {  
                                    var handle = this.pHandle.readPointer();  
                                    // 核心防崩修复:我们在逻辑层面拦截了返回值,但必须帮程序处理掉内核里的原始句柄,防止句柄泄露风暴  
                                    if (CloseHandle && !handle.isNull()) {  
                                        CloseHandle(handle);  
                                    }  
                                    this.pHandle.writePointer(ptrNULL);  
                                    retval.replace(ptr("0xC0000022"));  
                                    logger("拦截触发", modName, "NtOpenProcess", "防越权进程访问: PID " + this.targetPid + " (" + parseAccess(this.accessMask) + ")");  
                                }  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, modName, "NtOpenProcess", e.message);  
                        }  
                    }  
                });  
            }  
  
            var pGetNextProc = mod.findExportByName("NtGetNextProcess");  
            if (pGetNextProc) {  
                Interceptor.attach(pGetNextProc, {  
                    onLeave: function (retval) {  
                        try {  
                            if (retval.toInt32() === 0) {  
                                // NtGetNextProcess 也会返回新句柄在 args[4],但该API并不常用,直接拒绝。为了彻底安全我们也该关掉它  
                                // 为了保持逻辑极简且规避更复杂的探测,直接阻止。如果有极端情况可能发生句柄泄漏,但由于极少被使用,影响微乎其微。  
                                if (retval.replace) {  
                                    retval.replace(ptr("0xC0000022"));  
                                    logger("拦截触发", modName, "NtGetNextProcess", "底层句柄遍历扫描");  
                                }  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, modName, "NtGetNextProcess", e.message);  
                        }  
                    }  
                });  
            }  
  
            hookedModules["ntdll"] = true;  
            logger("模块加载", modName, "NtOpenProcess", "Ready");  
        } catch (e) {  
            logger("失败/异常", modName, "HookInit", e.message);  
        }  
    }  
  
    function applyUser32Hooks(mod) {  
        if (hookedModules["user32"]) return;  
        var modName = "user32";  
  
        try {  
            var pGetPID = mod.findExportByName("GetWindowThreadProcessId");  
            var GetWindowThreadProcessId = null;  
            if (pGetPID) {  
                GetWindowThreadProcessId = new NativeFunction(pGetPID, 'uint32', ['pointer', 'pointer']);  
            }  
  
            // 1. 全面拦截全桌面顶层窗口遍历  
            var pEnumWindows = mod.findExportByName("EnumWindows");  
            if (pEnumWindows) {  
                Interceptor.attach(pEnumWindows, {  
                    onLeave: function (retval) {  
                        try {  
                            if (retval.toInt32() !== 0 && retval.replace) {  
                                retval.replace(ptr("0"));  
                                logger("拦截触发", modName, "EnumWindows", "全桌面窗口遍历");  
                            }  
                        } catch (e) {  
                            var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                            logger(tag, modName, "EnumWindows", e.message);  
                        }  
                    }  
                });  
            }  
  
            // 2. 窗口文本读取(防御 EnumWindows)  
            var infoFuncs = ["GetWindowTextA", "GetWindowTextW", "GetClassNameA", "GetClassNameW"];  
            infoFuncs.forEach(function (fname) {  
                var pFunc = mod.findExportByName(fname);  
                if (pFunc) {  
                    Interceptor.attach(pFunc, {  
                        onEnter: function (args) {  
                            try {  
                                this.shouldBlock = false;  
                                this.outBuf = args[1];  
                                var hwnd = args[0];  
                                  
                                if (!hwnd.isNull() && GetWindowThreadProcessId) {  
                                    var pdwPid = Memory.alloc(4);  
                                    GetWindowThreadProcessId(hwnd, pdwPid);  
                                    var ownerPid = pdwPid.readU32();  
                                      
                                    // 使用强化的动态家族身份核验体系  
                                    if (!isFamilyPid(ownerPid)) {  
                                        this.shouldBlock = true;  
                                    }  
                                }  
                            } catch(e) {}  
                        },  
                        onLeave: function (retval) {  
                            try {  
                                if (this.shouldBlock && retval.toInt32() > 0) {  
                                    var isWide = (fname.indexOf("W") !== -1);  
                                      
                                    if (fname.indexOf("ClassName") !== -1) {  
                                        var resultStr = isWide ? this.outBuf.readUtf16String() : this.outBuf.readAnsiString();  
                                        if (resultStr) {  
                                            var lower = resultStr.toLowerCase();  
                                            if (lower === "shell_traywnd" || lower === "notifyiconoverflowwindow" || lower === "traynotifywnd" || lower === "progman") {  
                                                this.shouldBlock = false;   
                                            }  
                                        }  
                                    }  
  
                                    if (this.shouldBlock) {  
                                        var zeros = isWide ? [0, 0] : [0];  
                                        this.outBuf.writeByteArray(zeros);   
                                        if (retval.replace) retval.replace(ptr("0"));   
                                        logger("拦截触发", modName, fname, "隐藏越界窗口信息");  
                                    }  
                                }  
                            } catch(e) { }  
                        }  
                    });  
                }  
            });  
  
            // 3. 智能隔离系统子窗口遍历与查找  
            var findFuncs = ["FindWindowA", "FindWindowW", "FindWindowExA", "FindWindowExW", "EnumChildWindows"];  
            findFuncs.forEach(function (fname) {  
                var pFunc = mod.findExportByName(fname);  
                if (pFunc) {  
                    Interceptor.attach(pFunc, {  
                        onEnter: function (args) {  
                            try {  
                                this.safeFind = false;  
                                if (fname.indexOf("EnumChild") === -1) {  
                                    var isWide = (fname.indexOf("W") !== -1);  
                                    var pClass = (fname.indexOf("Ex") !== -1) ? args[2] : args[0];  
                                    if (!pClass.isNull()) {  
                                        var className = isWide ? pClass.readUtf16String() : pClass.readAnsiString();  
                                        if (className) {  
                                            var lower = className.toLowerCase();  
                                            if (lower === "shell_traywnd" || lower === "notifyiconoverflowwindow" || lower === "traynotifywnd" || lower === "progman") {  
                                                this.safeFind = true;  
                                            }  
                                        }  
                                    }  
                                } else {  
                                    // 对于 EnumChildWindows(hwndParent),如果它查自己的父窗口,提前放行  
                                    var hwndParent = args[0];  
                                    if (!hwndParent.isNull() && GetWindowThreadProcessId) {  
                                        var pdwPid = Memory.alloc(4);  
                                        GetWindowThreadProcessId(hwndParent, pdwPid);  
                                        var ownerPid = pdwPid.readU32();  
                                        if (isFamilyPid(ownerPid)) {  
                                            this.safeFind = true;   
                                        }  
                                    }  
                                }  
                            } catch(e) {}  
                        },  
                        onLeave: function (retval) {  
                            try {  
                                if (retval.toInt32() !== 0 && !this.safeFind && GetWindowThreadProcessId) {  
                                    // 注意 EnumChildWindows 不返回 HWND 而是 BOOL 处理有些不同,如果 safeFind=true在上面拦截就不会走到这强制写0。  
                                    // 对于 EnumChildWindows, retval.toInt32()!==0 等同于执行成功,安全起见直接阻断越界查询。  
                                    if (fname.indexOf("EnumChild") !== -1) {  
                                         if (retval.replace) {  
                                             retval.replace(ptr("0"));  
                                             logger("拦截触发", modName, fname, "屏蔽敏感窗口子节点检索");  
                                         }  
                                    } else {  
                                        var pdwPid = Memory.alloc(4);  
                                        GetWindowThreadProcessId(retval, pdwPid);  
                                        var ownerPid = pdwPid.readU32();  
                                          
                                        if (!isFamilyPid(ownerPid)) {  
                                            if (retval.replace) {  
                                                retval.replace(ptr("0"));  
                                                logger("拦截触发", modName, fname, "屏蔽敏感窗口检索");  
                                            }  
                                        }  
                                    }  
                                }  
                            } catch (e) {  
                                var tag = (e.message.indexOf("not a function") !== -1) ? "环境失效" : "拦截异常";  
                                logger(tag, modName, fname, e.message);  
                            }  
                        }  
                    });  
                }  
            });  
  
            hookedModules["user32"] = true;  
            logger("模块加载", modName, "WindowEnums", "Ready");  
        } catch (e) {  
            logger("失败/异常", modName, "HookInit", e.message);  
        }  
    }  
  
    setInterval(function () {  
        try {  
            var ntdll = Process.findModuleByName("ntdll.dll") || Process.findModuleByName("ntdll");  
            if (ntdll) applyNtdllHooks(ntdll);  
  
            var user32 = Process.findModuleByName("user32.dll") || Process.findModuleByName("user32");  
            if (user32) applyUser32Hooks(user32);  
        } catch (e) { }  
    }, 100);  
  
    logger("加载完成");  
})();

Bat

以QQ(9.7.25),Wechat,两种差异模式为例。钉钉由于某些apihook触发了自保护,还未彻底排查,固先忽略

@echo off  
setlocal  
  
set LAUNCHER_PY=xxx\frida_launcher.py  
set TARGET_APP="xxx\QQScLauncher.exe"  
  
set SCRIPTS=^  
 "xxx\NetworkPrivacy.js"^  
 "xxx\Clipboard.js"^  
 "xxx\ProcessPrivacy.js"  
  
set CHILD_TARGETS=QQ.exe TXPlatform.exe  
  
echo [+] Starting Frida Loader for QQ...  
  
python "%LAUNCHER_PY%" --app %TARGET_APP% --scripts %SCRIPTS% --mode spawn-poll --child-targets %CHILD_TARGETS%  
  
pause

@echo off  
setlocal  
  
set LAUNCHER_PY=xxx\frida_launcher.py  
set TARGET_APP="xxx\WeChat.exe"  
  
set SCRIPTS=^  
 "xxx\NetworkPrivacy.js"^  
 "xxx\Clipboard.js"^  
 "xxx\ProcessPrivacy.js"  
  
echo [+] Starting Frida Loader for WeChat...  
  
python "%LAUNCHER_PY%" --app %TARGET_APP% --scripts %SCRIPTS%  
  
pause

脚本案例解释

以较为特殊的QQ为例

  1. 启动目标程序:QQScLauncher.exe

    1. QQScLauncher.exe 会拉起三个 QQ.exe 进程,然后立马杀掉自己和一个QQ进程。登录后会再杀掉一个QQ.exe 进程。这也是为什么用poll模式

    2. 没有对QQScLauncher.exe 设置注入脚本。因为会触发:xxx 指令引用了 xxx 内存。该内存不能为 written。这也算是脚本注入的局限性。题外话,之前提及的钉钉,也是启动器登录拉起主程序,但却可以对启动器进行注入,其自保护在主程序中

    3. QQScLauncher.exe 和 QQ.exe 的启动差异:多年前一次偶然误删了QQ的快捷方式,于是很单纯的创建了QQ.exe的桌面快捷方式,然后就发现状态栏消息通知图标无法显示头像了

  2. TXPlatform.exe。这玩意儿的说明是同账号同设备类型的多开检测组件,apimonitor的观察中也比较干净。不过其相关的启动项是在安装是被写入注册表的,正常情况下在QQ启动时被svchost.exe拉起,不会作为QQ相关的子进程。如果该组件没有启动,在关闭QQ时,svchost.exe也会尝试启动改程序。用hips禁止启动后,这是一次QQ启动时的相关日志

时间 应用程序 操作 目标 操作
2026/4/3 23:33:05 svchost.exe 启动新应用程序 TXPlatform.exe 已阻止
2026/4/3 23:33:05 QQ.exe 启动新应用程序 TXPlatform.exe 已阻止
2026/4/3 23:33:05 svchost.exe 启动新应用程序 TXPlatform.exe 已阻止
  1. 延迟。poll模式存在先发现目标,再注入的过程延迟。这期间,脚本生效前会被穿透。以explorer为例,QQ会尝试获取其的访问权,在无frida时,hips会周期性的提示拦截了QQ获取explorer的访问权。现在,启动QQ的一瞬间,hips仍然会触发相关的拦截,但在脚本注入生效后,不再会周期性的触发相关拦截,该行为在用户态被脚本截断

关于HIPS规则:

由于最初接触HIPS就是以阻断QQ,WeChat扫盘为目标。由于初尝试,以及后续的补充,再加上ESET HIPS 的单条规则没有白名单设置,只能以详细 > 粗略的优先级来配置多条"冲突"规则来实现黑白名单,整体的规则过于零散,就不整理展示了

不过,这仍然是很有必要的,不然账号可能不保

应用程序 操作 目标 操作
QQ.exe 修改注册表 \SOFTWARE\Tencent\bugReport\QQExternal\uin 已阻止
QQ.exe 启动新应用程序 TxBugReport.exe 已阻止
QQ.exe 修改注册表 \SOFTWARE\Tencent\Report\134239437 已阻止

最后,这是QQ一次启动(登录面板 → 主面板)的部分脚本日志,完整的超长了

其中,PID 93028 就是 explorer

[+] Starting Frida Loader for QQ...
[*] 模式: 孵化监控 (spawn-poll)
[*] 跳过启动器注入以防止崩溃...
[*] 监控目标进程: ['QQ.exe', 'TXPlatform.exe']

[!] 命中目标: QQ.exe (467840)
[-] 注入 PID 467840 失败: unable to find process with pid 467840

[!] 命中目标: QQ.exe (468100)
[*] QQ.exe|468100|NetworkPrivacy|开始加载|2026/04/05 15:14:32
[*] QQ.exe|468100|NetworkPrivacy|加载完成|2026/04/05 15:14:32
[*] QQ.exe|468100|Clipboard|开始加载|2026/04/05 15:14:32
[*] QQ.exe|468100|Clipboard|加载完成|2026/04/05 15:14:32
[*] QQ.exe|468100|ProcessPrivacy|开始加载|2026/04/05 15:14:32
[*] QQ.exe|468100|ProcessPrivacy|加载完成|2026/04/05 15:14:32
[+] 注入成功: 468100

[!] 命中目标: QQ.exe (466952)
[*] QQ.exe|468100|NetworkPrivacy|模块加载|iphlpapi|NetworkTables/ICMP|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|NetworkPrivacy|模块加载|ws2_32|DNS/WSAIoctl|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|NetworkPrivacy|模块加载|winhttp|ProxyPrivacy|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|NetworkPrivacy|模块加载|advapi32|RegistryPrivacy|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|Clipboard|模块加载|user32|OpenClipboard|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|ProcessPrivacy|模块加载|ntdll|NtOpenProcess|Ready|2026/04/05 15:14:32
[*] QQ.exe|468100|ProcessPrivacy|模块加载|user32|WindowEnums|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|开始加载|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|加载完成|2026/04/05 15:14:32
[*] QQ.exe|466952|Clipboard|开始加载|2026/04/05 15:14:32
[*] QQ.exe|466952|Clipboard|加载完成|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|开始加载|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|加载完成|2026/04/05 15:14:32
[+] 注入成功: 466952
[*] QQ.exe|466952|NetworkPrivacy|模块加载|iphlpapi|NetworkTables/ICMP|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|模块加载|ws2_32|DNS/WSAIoctl|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|模块加载|winhttp|ProxyPrivacy|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|模块加载|advapi32|RegistryPrivacy|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|Clipboard|模块加载|user32|OpenClipboard|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|模块加载|ntdll|NtOpenProcess|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|模块加载|user32|WindowEnums|Ready|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|EnumWindows|全桌面窗口遍历|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetIpForwardTable|网络状态枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|EnumWindows|全桌面窗口遍历|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersAddresses|网卡地址枚举|2026/04/05 15:14:32
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersAddresses|网卡地址枚举|2026/04/05 15:14:32
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:33
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:33

[!] 命中目标: TXPlatform.exe (459152)
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:33
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:33
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:33
[-] 注入 PID 459152 失败: unable to find process with pid 459152

[!] 命中目标: TXPlatform.exe (459432)
[-] 注入 PID 459432 失败: unable to find process with pid 459432
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:33
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersAddresses|网卡地址枚举|2026/04/05 15:14:33
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersAddresses|网卡地址枚举|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:34
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:34
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:35
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:39
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|EnumWindows|全桌面窗口遍历|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:39
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|EnumWindows|全桌面窗口遍历|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetIpForwardTable|网络状态枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtQuerySystemInformation|系统进程扫描|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|GetClassNameW|隐藏越界窗口信息|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|EnumWindows|全桌面窗口遍历|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|ws2_32|GetAddrInfoW|内网/本机名探测 (主机名)|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|advapi32|RegQueryValueExW|屏蔽注册表网卡特征读取|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetIpForwardTable|网络状态枚举|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:40
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:40
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetAdaptersInfo|系统网卡枚举|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:41
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:42
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:42
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:42
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtOpenProcess|防越权进程访问: PID 93028 (DUP_HANDLE)|2026/04/05 15:14:42
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|ntdll|NtOpenProcess|防越权进程访问: PID 93028 (DUP_HANDLE)|2026/04/05 15:14:42
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:43
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:43
[*] QQ.exe|468100|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:43
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetIpForwardTable|网络状态枚举|2026/04/05 15:14:43
[*] QQ.exe|466952|NetworkPrivacy|拦截触发|iphlpapi|GetIpForwardTable|网络状态枚举|2026/04/05 15:14:46
[*] QQ.exe|466952|ProcessPrivacy|拦截触发|user32|FindWindowW|屏蔽敏感窗口检索|2026/04/05 15:14:46

最后用apimonitor检测一下

RegQueryValueExW

GetClassNameW 相关和非相关窗口

NtQuerySystemInformation对特定参数的拦截

js只负责引用frida库对api做拦截逻辑,python主要用于目标识别和注入