V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mikewang
V2EX  ›  程序员

防御性关机:某 OCR 库中内置关机代码

  •  1
     
  •   mikewang ·
    MikeWang000000 · 1 天前 · 2902 次点击

    今天刷到一个帖子,开始吃瓜:


    顺藤摸瓜去验证了一下(这里换成了 Internet Archive 的 URL ):

    $ curl -fLO 'https://web.archive.org/web/20260113105345/https://globalcdn.nuget.org/packages/paddleocrsharp.6.0.0.nupkg?packageVersion=6.0.0'
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 59.6M  100 59.6M    0     0  6756k      0  0:00:09  0:00:09 --:--:-- 12.7M
    
    $ unzip 'paddleocrsharp.6.0.0.nupkg' build/ytLib/PaddleOCR.dll
    Archive:  paddleocrsharp.6.0.0.nupkg
      inflating: build/ytLib/PaddleOCR.dll
    
    $ strings build/ytLib/PaddleOCR.dll | grep shutdown
    shutdown /s /t 1
    shutdown /s /t 5
    

    https://gitee.com/raoyutian/PaddleOCRSharp/commit/ef9071fbca79088d85c55bcd0502dbdebdff6cae

    某些人利用反汇编提取特殊代码,属于混淆是非。关机指令是为了防止破坏本程序导致进一步的可能损失, 防御性关机。与收费不收费无直接关联。

    https://github.com/raoyutian/PaddleOCRSharp/issues/25

    PaddleOCRSharp 6.0 代码中本来限制时间是 20261030 ,无意情况下代码多了“0”,时间变为 202601030 ,因此在转换时间变成了 2026 年 1 月 3 日。于是在意外的情况下于 2026 年 1 月 3 日触发关机命令。


    好吧... 原来如此( Time Bomb 被提前触发了)

    25 条回复    2026-01-14 17:24:46 +08:00
    yanqiyu
        1
    yanqiyu  
       1 天前
    这原爆料者是被公关了?不过能理解,个人遇到公司耍流氓在法律层面因素很浪费时间和精力,也捞不到好处。

    > 如果继续使用该缺陷版本到 2026 年 8 月 30 日,则触发关机命令 shutdown 。

    怎么看都是恶意行为。

    > 关机指令是为了防止破坏本程序导致进一步的可能损失, 防御性关机。

    直接 exit 还差不多,软件拒绝启动、功能降级、弹出警告都是合理的 DRM 行为。

    shutdown 就是在恶意破坏用户计算机系统,还在回应耍小聪明,既没文档记载的行为也超出软件功能也有破坏性,这种行为在中国和多个国家就是妥妥的违法行为。
    nilaoda
        2
    nilaoda  
       1 天前
    有无数种方式阻止非法使用,但他选择了最*的一种做法
    w568w
        3
    w568w  
       1 天前
    假开源、逻辑炸弹、律师函公关删文

    这就是我们国产效率啊,你们有没有这样的效率啊

    老话说不要搞民族叙事,但我看这就是标榜所谓「国产软件」背后的所有投机倒把者的劣根性,谁也别笑谁

    你做「国产」我推荐,你发国产我不用
    pmman
        4
    pmman  
       23 小时 58 分钟前
    有点好奇什么时候复刻江民炸弹
    Curtion
        5
    Curtion  
       23 小时 36 分钟前
    这没什么好说的, 只能说明可能不存在主观恶心投毒, 但是这种做法首先很不道德, 其次甚至说是有法律风险的, 故意设计关机锁死功能, 以反盗版商业授权为名, 对用户计算机系统造成实际性影响, 这种做法是有判定的违法案例的。
    iOCZS
        6
    iOCZS  
       23 小时 22 分钟前
    英田没有错,玉田要吃饭
    iorilu
        7
    iorilu  
       23 小时 18 分钟前
    没搞懂, 软件一运行就关机? 这还要发布软件干啥
    liuliuliuliu
        8
    liuliuliuliu  
    PRO
       23 小时 15 分钟前
    zhang666
        9
    zhang666  
       23 小时 2 分钟前 via iPhone
    省流。百度
    mooyo
        10
    mooyo  
       22 小时 56 分钟前
    假开源的垃圾产品有什么好关注的。。。
    lizhenda
        11
    lizhenda  
       22 小时 47 分钟前
    围观,有意思
    cwxiaos
        12
    cwxiaos  
       22 小时 44 分钟前 via iPhone
    防御性关机,哈哈哈,谁信

    这再次展示了远离百度产品的重要性

    以前 paddle 内存泄露不知道修好没,不知道还有没有人还在重启程序来擦 paddle 的屁股
    ccc008
        13
    ccc008  
       22 小时 42 分钟前   ❤️ 6
    @zhang666 #9 这还真不是百度的锅。PaddleOCR 是百度挺不错的一个开源项目。这个 PaddleOCRSharp 是第三方把百度免费开源的项目打包来卖钱。
    secretys
        14
    secretys  
       22 小时 26 分钟前
    @cwxiaos 理论上是修了,还没验证过,我还真的在关注这个。可惜我生产系统用的 umi-ocr (用到了 paddleocr )好久没更新了,还是有内存问题,要改 paddle 好麻烦。20 年的 bug ,25 年终于修了(虽然我也不知道这个 PaddleX 和 PaddleOCR 是不是一回事) https://github.com/PaddlePaddle/PaddleOCR/issues/15866#issuecomment-3639930259
    BarryPan
        15
    BarryPan  
       22 小时 13 分钟前
    基本开机
    xiaomushen
        16
    xiaomushen  
       22 小时 12 分钟前
    @cwxiaos 这事儿和百度没有关系吧
    sn0wdr1am
        17
    sn0wdr1am  
       22 小时 10 分钟前
    就没有一个非法控制计算机系统罪吗?😊
    skiy
        18
    skiy  
       21 小时 12 分钟前   ❤️ 1
    疯魔了。看到 Paddle 就以为是百度的?帖子都不点开看。
    phrack
        19
    phrack  
       21 小时 11 分钟前
    baidu 这下是真躺枪了,虽然我一点不可怜它
    cwxiaos
        20
    cwxiaos  
       11 小时 48 分钟前 via iPhone
    @xiaomushen 是没有,上面有哥们说百度,让我以为那个英田啥公司是百度的子公司

    但也没啥,paddle 本身也有问题,能不用还是尽量不用,生产环境有时候要命的
    jasonyang9
        21
    jasonyang9  
       11 小时 3 分钟前 via Android
    这 dll 有最高权限的话把 shutdown 换成 format 什么的是不是能防御的更好
    dode
        22
    dode  
       10 小时 45 分钟前
    涉嫌违法
    xiaomushen
        23
    xiaomushen  
       9 小时 40 分钟前
    @cwxiaos 还好吧,PaddleOCR 还是很不错的。至于内存泄漏?这个我解决过:内存弄大些,然后每天凌晨两个容器定时轮流重启就行。
    当然,现在内存贵了
    coefu
        24
    coefu  
       6 小时 58 分钟前
    https://gitee.com/raoyutian/PaddleOCRSharp/issues/IDIYUE

    “PaddleOCRSharp 6.0 代码中本来限制时间是 20261030 ,无意情况下代码多了“0”,时间变为 202601030 ,因此在转换时间变成了 2026 年 1 月 3 日。于是在意外的情况下于 2026 年 1 月 3 日触发关机命令。收到用户反馈后已对该情况做紧急升级修复。2026 年 1 月 4 日修复并发补丁版本 6.0.1 。2026 年 1 月 5 日修复并发补丁版本 6.0.2 (修复 6.0.1 识别率下降问题)。出现问题后对有关 gitee\github 、QQ 群 使用者进行逐一解释和回复,可选回滚以前版本或者升级最新版本避免。
    截止目前,已在相关 QQ 群、微信群均已公告,在此给广大开发者造成的不便深感抱歉。”

    不是,这都不做测试的吗?随便找个虚拟机调整一下时间,验证一下功能。真是绝了。
    afirefish
        25
    afirefish  
       2 小时 51 分钟前
    也是抽象,要是上线项目用了这玩意儿,那妥妥的定时炸弹。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    ♥ Do have faith in what you're doing.