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

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

  •  2
     
  •   mikewang ·
    MikeWang000000 · 1 月 13 日 · 4510 次点击

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


    顺藤摸瓜去验证了一下(这里换成了 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 被提前触发了)

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

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

    怎么看都是恶意行为。

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

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

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

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

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

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

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

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

    但也没啥,paddle 本身也有问题,能不用还是尽量不用,生产环境有时候要命的
    jasonyang9
        21
    jasonyang9  
       1 月 14 日 via Android
    这 dll 有最高权限的话把 shutdown 换成 format 什么的是不是能防御的更好
    dode
        22
    dode  
       1 月 14 日
    涉嫌违法
    xiaomushen
        23
    xiaomushen  
       1 月 14 日
    @cwxiaos 还好吧,PaddleOCR 还是很不错的。至于内存泄漏?这个我解决过:内存弄大些,然后每天凌晨两个容器定时轮流重启就行。
    当然,现在内存贵了
    coefu
        24
    coefu  
       1 月 14 日
    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  
       1 月 14 日
    也是抽象,要是上线项目用了这玩意儿,那妥妥的定时炸弹。
    maichaide
        26
    maichaide  
       1 月 14 日
    远离这种污染开源,投毒开源的项目,这些开发者是整个开源社区的祸害
    VeteranCat
        27
    VeteranCat  
       1 月 15 日
    防御? 这要是运行到生产服务器,关机造成的损失,就看人家起诉不起诉就完事儿了。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:48 · PVG 11:48 · LAX 19:48 · JFK 22:48
    ♥ Do have faith in what you're doing.