金山毒霸下崽器到底给你的电脑带来了什么?

逆向工程 其它 算法
109 编辑于
kinotern

伪装成 PCL2 启动器的推广安装器分析

样本文件名:假PCL2启动器.exe

分析日期:2026-10-04

分析材料:IDA 反汇编 + 三份 CAPE 沙箱行为报告(Windows 10 1903 x64、Windows 7 SP1 x86/x64)


结论

假PCL2启动器.exe 是金山(猎豹移动)的推广安装器,内部命名空间为 KInstallTool

运行后它会静默安装金山毒霸、一个内核驱动和两个浏览器扩展,

再把装机结果上报给按效果计费的广告系统

文件名是渠道方贴的标签。二进制里没有 PCL2 或 Minecraft 相关代码

判定依据来自程序自己泄漏的三类证据:

未剥离的 RTTI 类名

硬编码的计费接口

以及一整套反虚拟机代码。

样本信息

项目值
SHA25624ab747f1e421da70e7c3195e05157a9380b1761b0e49122fbacc4f7b0049d2c
MD57A4A0478E3B2C9EC30E7A50639563AB4
CRC32C871D831
编译器Visual C++
架构32 位 PE
时间戳1970-02-15 13:15:44(伪造,零值)
构建路径D:\WinFile\Download\假PCL2启动器.exe
沙箱评分10.2 至 11.2(三个环境一致)
沙箱检出无

反汇编工具导出的 PE 头:

asm
; Input SHA256 : 24AB747F1E421DA70E7C3195E05157A9380B1761B0E49122FBACC4F7B0049D2C
; Input MD5    : 7A4A0478E3B2C9EC30E7A50639563AB4
; Input CRC32  : C871D831
; Compiler     : Visual C++
; File Name   : D:\WinFile\Download\PCL2启动器.exe
; Format      : Portable executable for 80386 (PE)
; Imagebase   : 400000
; Timestamp   : 003C0E00 (Sun Feb 15 13:15:44 1970 UTC)
; Section 1. (virtual address 00001000)
; Virtual size : 002170EC
; Section size in file : 00217200
; Flags 60000020: Text Executable Readable

节区表:

节虚拟地址文件大小内容
_text0x10002.19 MB代码
_rdata0x219000664 KB字符串与数据
_data0x2BC00040 KB可写数据
_gfids0x2CE0001 KBCFG 表
_tls0x2CF000512 BTLS

没有 .rsrc 资源节,图标不走标准路径。时间戳清零

伪装如何确认

PCL 三个字母在整个二进制里只出现一次,位置是 PE 头注释里的文件名本身:

asm
; File Name   : D:\WinFile\Download\假PCL2启动器.exe

全量字符串扫描没有要找Minecraft的相关条目

程序抓的是"用户从第三方站点找启动器"这个场景

开发方身份:RTTI 泄漏

编译器没有剥离 RTTI,虚表符号以 mangled 形式留在 .rdata 里。反汇编中直接可读:

asm
mov dword ptr [esi], offset ??_7KInstallToolBlock@KInstallTool@@6B@
; const KInstallTool::KInstallToolBlock::`vftable'

mov dword ptr [esi], offset ??_7ReportHelper@KSemReport@@6B@
; const KSemReport::ReportHelper::`vftable'

mov dword ptr [ecx], offset ??_7KDubaOcpcCnf@ocpc@cf@@6B@
; const cf::ocpc::KDubaOcpcCnf::`vftable'

mov dword_6CADE8, offset ??_7?$KOcpcImpl@VKDubaOcpcCnf@ocpc@cf@@@ocpc@cf@@6B@
; const cf::ocpc::KOcpcImpl<cf::ocpc::KDubaOcpcCnf>::`vftable'

mov dword ptr [edi], offset ??_7CDetectVMFromPCI@anti_cheat@@6B@
; const anti_cheat::CDetectVMFromPCI::`vftable'

完整类名清单:

KInstallTool::KInstallToolReport / KInstallToolBlock
KInstallTool::KProcessInfoReport / KProcessInfoBlock
KInstallTool::KUIInfoReport / KUIInfoBlock
KInstallTool::KUpdateInfoReport / KUpdateInfoBlock
KInstallTool::KOcpcInfoBlock / KInstallTool::OcpcInfoReport
KInstallTool::KDumpInfoReport / KDumpBlock
KSemReport::ReportHelper
cf::ocpc::IOcpcInterface / KOcpcBaseCnf / KDubaOcpcCnf
cf::ocpc::KOcpcImpl<cf::ocpc::KDubaOcpcCnf>
anti_cheat::CDetectVMFromPCI
kbase::kxThreadBase / kxQueueThreadRun / Locker
NCompress::NLzma::CDecoder / CEncoder
NCompress::NBcj2::CDecoder / CEncoder
NCompress::CCopyCoder
ease_tween::* (动画库)

三组符号定性:

  • KInstallTool 加 KSemReport::ReportHelper,金山的安装工具与 SEM(搜索竞价推广)上报模块。

  • cf::ocpc::KDubaOcpcCnf,OCPC 是"优化点击付费",按装机效果结算的广告模式,Duba 指毒霸。

  • anti_cheat::CDetectVMFromPCI,独立的反虚拟机组件。

  • NCompress::NLzma 加 NBcj2,7-Zip 的 LZMA 加 BCJ2 自解压解包,用于处理下载回来的装机包。

反虚拟机套件

入口是 sub_5E3A69,一台分发器。命中任一条件就返回编号

c
int __cdecl sub_5E3A69(_DWORD *a1, _DWORD *a2, _DWORD *a3)
{
  if ( sub_5E3F68(&v17) == 0 )          /* VMware 端口 + CPUID + SIDT/SGDT/SLDT */
  {
    if ( sub_5E3DEC(&v17) != 0 )        { *a1 = 1; *v4 = 2; }   /* VirtualBox */
    else if ( sub_5E40AB(&v17) != 0 )   { *a1 = 1; *v5 = 3; }   /* VirtualPC */
    else if ( sub_5E4526(&v17) == 0 )   { ... }                 /* KVM / MAC */
    ...
  }
}

判据一览:

编号函数手法
1sub_5E3F00VMware 后门 I/O 端口
2sub_5E3ED7SGDT/SIDT/SLDT
4sub_5E3E20CPUID hypervisor 厂商串
无sub_5E3DB2VBoxHook.dll
无sub_5E3DC4\\.\VBoxMiniRdrDN
4097sub_5E4206进程 vmusrvc.exe
4098sub_5E42A1vpcubus.sys、vpcgbus.sys、vpc-s3.sys
4099sub_5E4105服务 vpcuhub、vpcubus、vpc-s3、1-vmsrvc
4101sub_5E4031vpcext 指令
8193sub_5E456C文件系统
8194sub_5E43BE注册表 BIOS 值
8195sub_5E4402网卡 MAC 前缀
12289/12290sub_5E46F6CPUID 0x3001/0x3002
6sub_5E3A57模块句柄
7sub_5E393B驱动 De*.sys
8sub_5E39C9驱动 YzIdiot.sys

VMware:后门端口 0x5658

0x564D5868 是 VMware 的 "VMXh" magic

程序从 0x5658 端口发包,再检查 EBX 是否回显 magic:

asm
sub_5E3F00 proc near
    mov     eax, 564D5868h        ; 'VMXh' magic
    mov     ebx, 0
    mov     ecx, 0Ah              ; command 0x0A: get version
    mov     edx, 5658h            ; VMware backdoor port
    in      eax, dx               ; read I/O port
    cmp     ebx, 564D5868h        ; EBX must echo magic
    setz    byte ptr [ebp+var_1C]

VirtualPC:vpcext 指令

asm
sub_5E4031 proc near
    mov     ebx, 0
    mov     eax, 1
    vpcext  7, 0Bh                ; VirtualPC hypervisor call
    test    ebx, ebx
    setz    [ebp+var_19]

Red Pill:SGDT / SIDT / SLDT

asm
sub_5E3FAA proc near              ; SGDT
    sgdt    fword ptr [ebp+var_8]
    ...
sub_5E3FC1 proc near              ; SIDT
    sidt    fword ptr [ebp+var_8]
    ...
sub_5E3FD8 proc near              ; SLDT
    sldt    [ebp+var_8]

CPUID hypervisor 厂商

c
_EAX = 1;
__asm { cpuid }
if ( (_ECX & 0x80000000) != 0 )       /* hypervisor present bit */
{
    _EAX = 0x40000000;
    __asm { cpuid }
    sub_5E3FF6(vendor, _EBX, _ECX, _EDX);
    return _strnicmp("VMwareVMware", vendor, 0xC) == 0;
}

VirtualBox

c
BOOL sub_5E3DB2() { return LoadLibraryA("VBoxHook.dll") != nullptr; }

BOOL sub_5E3DC4()
{ return (char *)CreateFileA("\\\\.\\VBoxMiniRdrDN", 0x80000000, 1, nullptr, 3, 0x80, nullptr) + 1 != nullptr; }

VirtualPC 文件、服务与进程

c
// 文件
wchar_t *off_6BFB74[10] = {
  L"system32\\DRIVERS\\vpcubus.sys",  L"system32\\DRIVERS\\vpcgbus.sys",
  L"system32\\DRIVERS\\vpc-s3.sys",   L"System32\\vpc-s3.dll", ...
};
// 服务
wchar_t *off_6BFB88[5] = { L"vpcuhub", L"vpcubus", L"vpc-s3", L"1-vmsrvc", ... };
// 进程
if ( _wcsicmp(L"vmusrvc.exe", pe.szExeFile) == 0 ) { found = 1; break; }

KVM:注册表与 MAC

c
bool sub_5E43BE()          /* BIOS\SystemProductName 等于 "KVM",或 CPU 名含 "Vi" */
{
  v0 = sub_5E449C(HKLM, L"HARDWARE\\DESCRIPTION\\System\\BIOS",
                  L"SystemProductName", L"KVM");
  result = sub_5E449C(HKLM, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0",
                  L"ProcessorNameString", L"Vi");
  ...
}

sub_5E4402 调 GetAdaptersInfo 比对网卡 MAC 前缀(00:0C:29、00:50:56 为 VMware,08:00:27 为 VirtualBox,52:54:00 为 QEMU)。

沙箱驱动探测

c
BOOL sub_5E39C9()          /* system32\drivers\YzIdiot.sys */
{
  sub_4071E6(String, L"%Systemroot%\\system32\\drivers\\");
  sub_4078DF(String, L"YzIdiot.sys", wcslen(L"YzIdiot.sys"));
  return sub_5E3CA3(String[0], L"YzIdiot") != 0;
}

编号 7 的函数查 De*.sys,编号 8 查 YzIdiot.sys

CAPE 沙箱跑在 KVM 上,SystemProductName 就是 KVM,编号 8194 必然命中

样本仍然跑完装机流程,检测结果大概率只作为环境特征上报服务器

导入表能力

部分导入超出"安装器"的范围:

asm
extrn ldap_initW:dword              ; Import by ordinal 145
extrn ldap_simple_bind_sW:dword     ; Import by ordinal 216
extrn ldap_search_sW:dword
extrn ldap_sslinitW:dword
extrn IcmpSendEcho:dword            ; IPHLPAPI
extrn WTSEnumerateSessionsW:dword   ; WTSAPI32
extrn RasEnumConnectionsW:dword     ; RASAPI32
extrn CreateProcessAsUserW:dword    ; ADVAPI32
extrn DuplicateTokenEx:dword        ; ADVAPI32
extrn SetTokenInformation:dword     ; ADVAPI32
extrn CertOpenStore:dword           ; CRYPT32
extrn CertFindCertificateInStore:dword ; CRYPT32
extrn DeviceIoControl:dword         ; KERNEL32
能力用途
LDAP 客户端域环境探测
IcmpSendEcho内网 ping 扫描
WTSEnumerateSessionsWRDP 会话枚举
RasEnumConnectionsW拨号/VPN 枚举
令牌 API提权到 SYSTEM
证书库 API证书枚举
CreateToolhelp32Snapshot进程枚举
DeviceIoControl驱动通信

LDAP、ICMP、RDP 枚举这个组合用于判断机器是否处在企业域环境,

装机联盟靠这个决定投放力度

字符串混淆

推广端点以 base64 硬编码,运行时解码。反汇编里的调用点:

asm
lea     ecx, [ebp+var_34]
push    offset aAhr0cdovlzizot ; "aHR0cDovLzIzOTguMzVnby5uZXQvZGVmZW5kL28"...
call    sub_40FAC0             ; base64 解码

反编译还原:

c
sub_40FAC0(v12, "aHR0cDovLzIzOTguMzVnby5uZXQvZGVmZW5kL28xL2pjcWd4LmluaQ==");
/* 解码结果: http://2398.35go.net/defend/o1/jcqgx.ini */

sub_40FAC0(v13, "aHR0cDovL2NvbmZpZy5pLmR1YmEubmV0L3NlbWluc3RhbGwvJWQvJXMueG1sP3RpbWU9JWQ=");
/* 解码结果: http://config.i.duba.net/seminstall/%d/%s.xml?time=%d */

strings 扫不出任何域名。计费接口是唯一例外,以宽字符串明文存放:

c
const wchar_t *sub_4A64xx(int a2)
{
  if ( a2 == 0 )
    return L"https://newvip.duba.net/api/v2/ocpc/report_install_success";
  result = L"https://newvip.duba.net/api/v2/ocpc/un_install";
  ...
}

计费接口保留明文便于调试,渠道接口混淆以防反查

投放架构

程序分两段。

第一段是样本本体,一个 2.9MB 的 stub:

c
// sub_49885E:下载渠道控制配置
sub_40FAC0(v12, "aHR0cDovLzIzOTguMzVnby5uZXQvZGVmZW5kL28xL2pjcWd4LmluaQ==");
v10 = sub_40C0CD(v12);          // HTTP GET
v3  = sub_40CDF0(v12);          // 取响应缓冲
sub_4A9DAD(v11, v3, v10);       // 解密
// 结果存入 this+9

// 装机清单
// http://config.i.duba.net/seminstall/%d/%s.xml?time=%d

沙箱观察到的文件操作:

下载 http://2398.35go.net/defend/o1/dbazdk03.dat
落地 C:\ProgramData\dbazdk03.dat
释放 C:\Users\Administrator\AppData\Local\Temp\kantivirus\InstallHelper.exe
释放 C:\Users\Administrator\AppData\Local\Temp\kantivirus\ksapi.dll
释放 C:\Users\Administrator\AppData\Local\Temp\kdb_semrjgj.dll
删除 C:\ProgramData\dbazdk03.dat

第二段是 InstallHelper.exe,由第一段释放并启动:

InstallHelper.exe -Pid:"2732"
  -LogFileName:"...\kantivirus\semPacketDllLog.log"
  -InstallPath:"...\kantivirus"
  -Tid1:"10" -Tid2:"258" -Tod1:"1289" -Tod2:"1"
  -IId:"211246499" -UUID:"A62850586E107DD40A16863C03BB7DF2"
  -TryNo:"1335" -SvrId:"2025.SP4.5"
  -StrategyList:"0;1;2;3;4|0;2;3;4" -Version:"3"
  -ProductInstalled:"0" -CompetitorMask:"0" -CompetitorInstalled:"0"

样本里查不到

InstallHelper、kantivirus、-Pid、SvrId、StrategyList 任何一个串

装机主体靠运行时下载。同一个 stub 换一份包就能装载不同软件,静态分析看不到最终载荷

网络端点

渠道(第三方,base64 隐藏):

http://2398.35go.net/defend/o1/jcqgx.ini       渠道控制配置
http://2398.35go.net/defend/o1/dbazdk03.dat   下载后落地再自删

金山与猎豹官方:

config.i.duba.net/seminstall/%d/%s.xml          装机清单
config.i.duba.net/aldconfig/area.dat
config.i.duba.net/aldconfig/resource.png
dubacdn.cmcmcdn.com/sem/installer/%s.png
dubacdn.cmcmcdn.com/sem/installer/ald2_%d.png
softmgr.duba.net/softmgr_v2/softdetail/%s.json
softmgr-softsem-srv.jinshanapi.com/sem/lenovomm/get_software_mapping
softmgr-softsem-srv.jinshanapi.com/sem/lenovomm/get_software_sem_info
infoc0.duba.net/c/
ct.duba.net
cd001.www.duba.net
wq.cloud.duba.net
weather2db.cmcm.com/ip/cityid                   按 IP 定位投广告

备用 IP:

221.228.204.36:80
122.193.207.36:80

联想应用商店接入:

pc-store.lenovomm.cn/advertappservice/api/adAppCheck

腾讯推广落地页:

https://wpa1.qq.com/5ciKQjBf?_type=wpa&qidian=true
https://wpa1.qq.com/FDdK6y0s?_type=wpa&qidian=true

沙箱连接到的 IP:

114.132.191.224   121.22.232.153   121.22.232.155
121.22.232.156    121.22.232.157   139.9.43.15
139.9.45.227      218.11.1.245     218.11.1.247

落地物与注册表

安装目标:

路径说明
C:\Program Files (x86)\Kingsoft\kingsoft antivirus\金山毒霸主体,300 余文件
C:\Windows\System32\drivers\neorkbsep.sys内核驱动
...\data\extension\oegbiabd...mlgak.dat浏览器扩展
...\data\extension\jcmomden...pckpgb.dat第二个浏览器扩展
...\data\kpopdata.dat弹窗推广素材
...\data\knewvip.iniVIP 诱导付费
...\data\nointerrupt.ini禁止打断开关

注册表:

c
RegOpenKeyExW(HKLM, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce", ...)
RegOpenKeyExW(HKLM, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DriverGenius", ...)
RegOpenKeyExW(HKLM, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Fastpdf", ...)
RegOpenKeyExW(HKLM, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Fastpic", ...)

其他键:

SOFTWARE\Kingsoft\liebaocopy            LBBrowser\liebao.exe
SOFTWARE\LiebaoAI / liebao              猎豹浏览器、猎豹 AI
SOFTWARE\cmcm\kcalendar / kdesk         金山日历、猎豹桌面
SOFTWARE\KSafe / kingsoft\Kwifi         金山安全、金山 WiFi
SOFTWARE\kingsoft\Antivirus\KNeedReboot 需要重启标记
SYSTEM\CurrentControlSet\Services\%s    驱动服务注册
SYSTEM\CurrentControlSet\Enum\PCI       硬件指纹
HARDWARE\DESCRIPTION\System\BIOS        硬件指纹

竞品与捆绑检测名单:

Uninstall\{DriverGenius, Fastpdf, Fastpic, sysslim, carefree, LiebaoAI, liebao}

命令行

c
BOOL __thiscall sub_48D381(wchar_t *this)
{
  ...
  if ( sub_4827AF((int *)v4, this) != 0 )
    v3 = sub_482A42((int *)v4, L"update");
  ...
}

sub_48D381 解析命令行,识别 update 关键字后进入升级模式

沙箱运行未带参数,走默认装机流程

定性

维度结论
类别PUP,捆绑推广安装器
归属金山/猎豹官方 KInstallTool,SEM 推广 stub
载荷运行时下载与 LZMA 解包,静态不可见
对抗全套反虚拟机、URL base64 混淆、时间戳伪造
危害静默装软件、内核驱动、浏览器扩展,并提权到 SYSTEM

它不做勒索,不偷文件。危害集中在三点:

  1. 用户没同意就多出一套杀软、驱动和浏览器扩展
  2. 内核驱动进 Ring0,与既有安全软件冲突时可能蓝屏
  3. 采集网卡和主板序列号上报,用于计费和定位

对抗手段(反虚拟机、LDAP 探测、提权)已经达到恶意软件的水平

局限

InstallHelper.exe 由样本运行时下载,不在分析材料内。第二段的实际装机逻辑、改名机制(installrename03.dat)和最终载荷未能逆出。文中关于第二段的描述来自沙箱行为记录

反虚拟机检测结果如何被消费(上报还是本地阻断)未确认

样本在 KVM 沙箱内跑完流程,倾向于上报

处置建议

运行过这个文件的话:

  1. 卸载金山毒霸和驱动精灵
  2. 删除 C:\Windows\System32\drivers\neorkbsep.sys
  3. 检查浏览器扩展,移除来源不明项
  4. 检查 HKLM\...\RunOnce 启动项
  5. 全盘查杀

下载 PCL2 只认官方来源:github.com/Hex-Dragon/PCL2 和作者爱发电发布页

IOC

哈希

SHA256  24ab747f1e421da70e7c3195e05157a9380b1761b0e49122fbacc4f7b0049d2c
MD5     7A4A0478E3B2C9EC30E7A50639563AB4
CRC32   C871D831

域名

2398.35go.net
config.i.duba.net
infoc0.duba.net
softmgr.duba.net
newvip.duba.net
sem.duba.net
wq.cloud.duba.net
ct.duba.net
cd001.www.duba.net
softmgr-softsem-srv.jinshanapi.com
dubacdn.cmcmcdn.com
weather2db.cmcm.com
pc-store.lenovomm.cn
wpa1.qq.com

URL

http://2398.35go.net/defend/o1/jcqgx.ini
http://2398.35go.net/defend/o1/dbazdk03.dat
https://newvip.duba.net/api/v2/ocpc/report_install_success
https://newvip.duba.net/api/v2/ocpc/un_install

文件路径

%TEMP%\kantivirus\InstallHelper.exe
%TEMP%\kantivirus\ksapi.dll
%TEMP%\kdb_semrjgj.dll
%ProgramData%\dbazdk03.dat
%ProgramData%\installrename03.dat
C:\Windows\System32\drivers\neorkbsep.sys

注册表

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\SOFTWARE\WOW6432Node\Kingsoft\KISCommon\beginInstallTime
HKLM\SOFTWARE\Classes\WOW6432Node\CLSID\{9B7A98EC-7EF9-468c-ACC8-37C793DBD7E0}
HKLM\SOFTWARE\Classes\WOW6432Node\CLSID\{79B5BC47-CEA1-4772-B433-7D1B3139F278}

互斥体

{C16A0C4F-108B-4580-A7A0-8DEF25D2E9EF}
Local\SM0:2732:168:WilStaging_02

附录:法律定性(美国 / 欧盟)

本节梳理这类行为在美国和欧盟现行法下的后果

文末附条文来源

免责声明:以下是对公开法律条文的梳理,不构成法律意见

具体定性取决于受害用户所在法域、证据和管辖

行为与法律争点的映射

行为法律争点
冒用 PCL2启动器.exe 名称欺骗性商业行为
未告知静默安装软件未经授权访问;误导性遗漏
装入内核驱动 neorkbsep.sys潜在"损害"
采集网卡、主板序列号并上报个人信息处理无合法依据
装浏览器扩展终端设备存储需同意
按装机量向 OCPC 计费广告欺诈
反虚拟机、base64 藏域名不独立成罪,支撑"故意"要件

一、美国

FTC Act 第 5 条,15 U.S.C. § 45(a)

覆盖"不公平或欺骗性的行为",是本案最常用的工具

  • 用别人的产品名做文件名,误导用户对下载物的认知,构成欺骗

  • 静默装机加难以卸载,构成不公平

  • 采集设备标识不告知,构成欺骗性遗漏

救济上有一个限制。AMG Capital Management v. FTC(2021)之后,FTC 不能再靠 § 13(b) 直接要钱。现在的路径是 § 45(m) 的民事罚款,违反规则或明知违反 § 5 时,每项违规约 5 万美元(逐年按通胀调整)

自动化续费和"负选项"(negative option)规则是相关工具。第八巡回法院在 2025 年撤销了 2024 版"点击取消"规则,FTC 在 2026 年 2 月重启立法程序,并同步用《恢复在线购物者信心法》(ROSCA)执法。捆绑推广里常见的"沉默即续订"设计会撞上这条线

CFAA,18 U.S.C. § 1030

关键条文是 § 1030(a)(2)(C) 和 § 1030(a)(5)(A)。

  • 静默装驱动和扩展,可论证为"未经授权访问",前提是用户授权范围只到"运行一个 Minecraft 启动器"

  • 内核驱动进 Ring0,与既有安全软件冲突导致蓝屏时,构成 § 1030(a)(5) 的"损害"。

  • 刑期:(a)(5)(A) 初犯最长 10 年,(a)(2) 最长 5 年。另有 § 1030(g) 民事诉权,受害用户可自行起诉。

Van Buren v. United States(2021)收窄了"超出授权访问"的解释,但"未经授权"(without authorization)那一支未受影响,静默安装落在这支。

电汇欺诈,18 U.S.C. § 1343

OCPC 按装机量结算这条,若有虚假上报或伪造归因,可考虑电汇欺诈,最长 20 年。门槛高于 FTC 的行政路径,通常在金额和跨州要素明确时才用。

州法

  • 加州:UCL(Bus. & Prof. Code § 17200)和 FAL(§ 17500),以及《计算机数据访问与欺诈法》(Penal Code § 502)。加州允许私人诉权,集体诉讼风险高

  • 各州 UDAP 法普遍允许州总检察长起诉并处高额罚款

执法先例

  • FTC v. Restoro / Reimage(2024):假杀软弹窗诱导购买"修复服务",和解 2600 万美元,向受害者退款

  • FTC v. Paddle.com(2025 至 2026,进行中):支付处理商为上述欺诈软件放行收款,被指控协助欺骗。这条先例对渠道方和支付方同样适用

  • FTC v. Zango(2009):广告软件未经同意安装,300 万美元和解

  • FTC v. Direct Revenue(2006):同类广告软件案

  • FTC v. Vizio(2017):智能电视采集观看数据未获同意,220 万美元

这些案子说明监管路径是"欺骗性商业行为"而非黑客罪名,

罚款量级在百万到千万美元,取决于规模和是否和解

二、欧盟

不公平商业行为指令 2005/29/EC(UCPD)

  • 第 6 条(误导性行为)、第 7 条(误导性遗漏):用别的产品名分发、隐瞒会装什么,直接命中

  • 第 8 至 9 条(侵略性商业行为):难以卸载、反复弹窗可归于此

  • 附件一(31 项黑名单):一旦命中即视为不公平,无需个案证明影响消费者决策。附件一第 26 项针对"持续且不受欢迎的招揽",弹窗推广可对照

  • 处罚由成员国自定。德国 2022 年 5 月生效的 § 19 UWG 对"广泛违规"(weitverbreiteter Verstoß)可处最高 200 万欧元;法国可达 1000 万欧元或营业额的 10%

欧盟法院 C-310/15(Deroo-Blanquart v. Sony,2016)确认预装软件与设备构成"单一要约",消费者不能仅以预装为由要求退款。这个判决对本案不利的一面是,单纯捆绑本身不必然违法。违法的核心在未披露和难以移除,本案两点都占。

GDPR(2016/679)+ ePrivacy 指令(2002/58/EC)

采集网卡 MAC、主板序列号、PCI 硬件指纹并上传,在欧盟构成个人信息处理。

  • 合法性:GDPR 第 6 条要求六项合法依据之一;第 5(1)(a) 要求合法、公平、透明。静默采集既无同意,也无"正当利益"可言

  • 透明度:第 13 条要求告知处理目的

  • 罚款:第 83(5) 条,最高 2000 万欧元或全球年营业额的 4%,取高者

  • ePrivacy 第 5(3) 条独立于 GDPR:在用户终端设备上存储或读取信息(含浏览器扩展、本地持久化)需事先同意。EDPB 在 2024 年 11 月发布第 5(3) 条新指南,把范围扩展到设备指纹等"类似技术"

欧盟法院 C-673/17(Planet49)确立预勾选框不构成有效同意,同意必须是主动、具体、知情的。本案连勾选框都没有

网络韧性法案(CRA,EU 2024/2847)

CRA 把"含数字要素的产品"纳入强制合规,制造商须做漏洞管理、及时修漏洞。第 14 条的漏洞与事件报告义务在 2026 年 9 月 11 日生效,24 小时内须向 ENISA 单一报告平台通报在野利用漏洞。罚款最高 1500 万欧元或全球营业额 2.5%

这条针对"投放欧盟市场的制造商"。渠道方在欧盟无实体时,执行受限

新产品责任指令(EU 2024/2853)

软件和数字产品被明确纳入缺陷产品范畴。内核驱动导致系统崩溃或数据损坏,用户可依此索赔,无需证明过错

成员国刑法

  • 德国:§ 202a StGB(窥探数据)、§ 303a StGB(数据篡改)、§ 263a StGB(计算机诈骗,对应 OCPC 虚假计费)。§ 263a 最高 5 年,情节严重可到 10 年

  • 法国:Code pénal 第 323-1 条(非法访问)、第 323-3 条(非法植入数据),最高 3 至 5 年监禁并处罚金

  • 英国(脱欧后仍作对比):《计算机滥用法 1990》(Computer Misuse Act 1990,s.3 和 s.3ZA),未经授权修改计算机内容最高 10 年

三、结论

同一套行为会被拆开追责:

追责路径主要法条量级
欺骗性装机与隐蔽采集FTC Act § 5;UCPD百万至千万美元/欧元
设备标识采集GDPR2000 万欧元或全球营业额 4%
内核驱动造成损害CFAA § 1030(a)(5);德国 § 303a;法国 323-3刑事,最高 10 年
虚假计费上报18 U.S.C. § 1343;德国 § 263a刑事,最高 20 年

会打疼的是多法域叠加加私人集体诉讼。Restoro 案 2600 万美元和 Paddle 案对中间商的追责,是这类案子的实际标尺。

反虚拟机、base64 藏域名、伪造时间戳这些动作本身不成罪,但会被用来证明"明知故犯",影响是否适用加重条款和惩罚性赔偿。

参考条文与判例

本文版权遵循 CC BY-NC 协议 和 本站版权政策

3 条回复

simple_fish
发布于

这还是GAL论坛吗?我还以为进吾爱了鲲 Galgame 表情包 [1] - 47

kinotern
发布于

@simple_fish #1 这么做,有人给gal也塞点这些就有说法了鲲 Galgame 表情包 [1] - 4

铃
铃

843

#3
发布于

(。>︿<。) 已经一滴回复都不剩了哦~