-
Notifications
You must be signed in to change notification settings - Fork 17
Description
大家好,我是PaddleOCRSharp项目作者。首先针对 6.0 版本因代码逻辑缺陷导致的用户非预期关机问题,我司深表歉意。
PaddleOCRSharp是由广州英田信息科技有限公司自主开发、维护的第三方 C# 封装项目,与 PaddleOCR 官方(百度飞桨)团队无隶属关系。该项目的商业逻辑及代码维护由我司独立承担。PaddleOCRSharp项目在gitee托管和github上托管,许可协议遵循Apache-2.0,并在微软www.nuget.org包管理网站分发,针对帖子中热议的情况在此做出说明:
PaddleOCRSharp的win CPU普通版的库,同样使用Apache-2.0 license。
PaddleOCRSharp是对PaddleOCR.dll的二次封装,其中PaddleOCR.dll并没有公开源代码,仅PaddleOCRSharp公开源代码到5.1版本,出现致命缺陷版本分支没有推送。
在PaddleOCRSharp 6.0之前的所有版本(指win CPU普通版,官网、Gitee、Github均有说明,并且无任何用户反馈因使用PaddleOCRSharp 6.0之前的版本导致关机。)
事情起因是PaddleOCRSharp 6.0版本内置了到期不能使用OCR的功能,时间限定2026年5月31日,到期仅报错无返回OCR识别内容,并无恶意。如果继续使用该缺陷版本到2026年8月30日,则触发关机命令shutdown。
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群、微信群均已公告,在此给广大开发者造成的不便深感抱歉。
注意:修复版本6.0.2版仍存在防御性编程,防破解防篡改的关机指令shutdown,免费版自从4.4版就存在关机指shutdown,触发条件是修改PaddleOCR.dll并强制以GPU模式运行。默认情况免费版改配置使用GPU,会被默认改回CPU模式,正常不会触发,只有篡改PaddleOCR.dll关键代码才会触发。
截至目前,并未收到关于防破解防篡改的关机指令shutdown被触发导致关机。后续版本将采用异常返回的形式解决防篡改问题。
在此告知广大用户,从6.0.2开始,普通版限时免费,与1月3日关机缺陷并无直接关联关系。建议大家可选回滚以前版本或者升级最新版本避免。
版本6.0.2在初始化时有控制台显示免费到期时间:
+-----------------------------------------------------+
+ +
+ 广州英田信息科技有限公司 +
+ https://www.yingtianit.com/ +
+ 定制开发、购买加速版或linux版请联系 +
+ QQ:277784829 +
+ version:6.0.2 +
+ 当前版本免费试用到2026年5月 +
+ +
+-----------------------------------------------------+
所有6.0版本以前的普通版,均是永久免费使用的。6.0版之所以在微软www.nuget.org包管理网站下架, 属于对存在缺陷的版本正常标记,用于告知用户该版本存在严重缺陷不建议使用。并非刻意回避缺陷的存在。
亲爱的社区开发者和广大用户们,感谢大家的关注与监督、提示。给大家带来的不便深表歉意。如仍需进一步交流探讨,欢迎与我联系。
Activity
liusuyi2021 commentedon Jan 11, 2026
你说破天,就是假开源,污染了开源环境,还限时开源,吃相太难看
TangXiaoLin-CN commentedon Jan 11, 2026
吃相难看,没人提就不改。人家那篇知乎文章已经把大家想说的说明白了,你要想收费就正儿八经收费,要开源就老老实实开源,内置恶意关机代码,这会又是是防破解,那已经造成的实际损失你怎么算呢?又当婊子又要立牌坊,又当又立,又蠢又坏。
DragonFlyEast commentedon Jan 11, 2026
做了就是做了,大方承认道歉整改,直接shutdown的做法毫无底限
liusuyi2021 commentedon Jan 11, 2026
一、惊魂启动:打开软件,电脑直接关机?
作为一名常年和代码打交道的开发者,我对开源项目始终抱着敬畏与信任 —— 毕竟开源精神的核心,是共享、透明、互助,无数开发者靠着开源工具节省时间、提升效率,这也是科技圈最宝贵的氛围之一。但最近一次使用 PaddleOCRSharp 的经历,彻底打破了我的信任,甚至让我怒不可遏!
事情要从一周前说起,因工作需要处理大量图文识别任务,我想起了圈内口碑不错的开源项目 PaddleOCRSharp,按照官方文档的指引下载、配置,一切都很顺利。可就在我点击程序启动图标的瞬间,屏幕突然黑屏,紧接着电脑直接强制关机!
起初我以为是电脑硬件故障,反复检查了电源、系统设置,甚至重装了操作系统。可当我第二次尝试启动 PaddleOCRSharp 时,同样的情况再次发生 —— 程序一运行,电脑立刻关机,所有未保存的工作全部丢失,一整天的心血付诸东流!
带着疑惑,我通过技术手段排查日志,最终发现了惊人的真相:PaddleOCRSharp 的安装包中,竟然被植入了隐藏的关机指令!只要程序启动,这条恶意代码就会自动执行,直接强制关闭计算机,性质和计算机病毒毫无区别!
二、开源的底线:免费≠可以藏毒!
作为一个开源项目,PaddleOCRSharp 打着 “免费开源” 的旗号吸引开发者使用,却在背后植入恶意代码,这种行为简直是对开源精神的公然践踏,更让所有开发者不齿!
开源不等于义务奉献,开发者想要收费完全可以光明正大 —— 设置付费版、增值服务、商业授权,这些都是行业内认可的模式。多少优秀的开源项目,靠着清晰的收费机制实现了可持续发展,既赢得了用户的尊重,也保障了自身的权益。
可 PaddleOCRSharp 偏偏选择了最卑劣的方式:一边披着 “开源免费” 的外衣博取信任,一边偷偷植入恶意代码,不仅损害了用户的财产安全(未保存的工作、可能损坏的硬件),更污染了整个开源环境。当开发者们不敢再信任开源项目,当 “开源” 变成 “开毒” 的代名词,最终受伤的是整个技术社区。
三、开发者的呐喊:请守住开源的底线!
这次的经历让我既愤怒又心寒。我写下这篇文章,不是为了单纯发泄情绪,而是希望能引起更多人的重视:
对于开源项目作者:请铭记开源精神的核心是 “信任”。如果你需要盈利,不妨光明正大地推出付费服务;如果你不想收费,就请守住技术人的底线,不要让恶意代码玷污了开源的初衷。你的每一行代码,都承载着用户的信任,这比任何短期利益都更珍贵。
对于其他开发者:使用开源项目时一定要多加留意,尤其是小众项目或非官方渠道下载的软件,务必做好安全检测,避免重蹈我的覆辙。同时,也希望大家能一起抵制这种恶意行为,让违背开源精神的项目无处遁形。
对于开源社区:需要建立更完善的监督机制,加强对开源项目的审核,严厉打击植入恶意代码的行为,保护开发者的合法权益,让开源环境回归纯净、透明。
开源之所以伟大,是因为它让技术不再有壁垒,让开发者们能够抱团取暖、共同进步。但这份伟大,需要每一个人的守护。希望 PaddleOCRSharp 的开发者能正视问题、删除恶意代码,也希望所有开源人都能坚守底线 —— 别让开源,从技术人的信仰,变成让人避之不及的 “陷阱”!
如果你也有过类似的遭遇,欢迎在评论区分享你的经历,让我们一起发声,守护干净的开源环境!
funkpopo commentedon Jan 11, 2026
你的意思是,不管出于什么目的,设计远程关机的机制是合理操作?
yuliusw commentedon Jan 11, 2026
The issue is that shutdown shouldn't be used. If you want defensive programming for the paid version, you can fully utilize null checks, infinite loops, exceptions, and single-threaded exit signals. Why insist on directly shutting down the system and disrupting other processes and services? Please provide an explanation for this.
问题是不应该shutdown啊,如果想要收费版防御性编程,完全可以使用除零错误,无限循环,异常,单个线程的退出信号等更安全的方式进行。为什么非要直接关机破坏其它进程和服务?请对此做出解释。
amlkiller commentedon Jan 11, 2026
你的意思是,开源项目还要防御性编程?
关别人机你怎么敢的?
要是推进生产环境你没多写那个0到时候一堆公司爆炸你背锅吗?
hlf2016 commentedon Jan 11, 2026
防御性开源是吗🤔 有意思
wangnumb commentedon Jan 11, 2026
开源,防御?你开的什么源?要收费就直接把关了,关机,你真牛逼啊。又当又立
DesireOr2 commentedon Jan 11, 2026
幽默开源
vanplus commentedon Jan 11, 2026
这特么不是病毒行为吗?
koeria commentedon Jan 11, 2026
不管什么原因为什么有远程关机这个机制
4 remaining items
Babygogogo commentedon Jan 12, 2026
幽默饶玉田,又当又立太棒了
hyfree commentedon Jan 12, 2026
关于对 PaddleOCRSharp 项目及 raoyutian 先生的公开澄清与致歉信:
https://zhuanlan.zhihu.com/p/1993425370909799760
Bliod-Cook commentedon Jan 12, 2026
就算是写错了,这种要求付费的方式在我看来也是不可理喻的
chenxuuu commentedon Jan 12, 2026
为了避免不小心用到该库,我先把作者防御性拉黑处理,这样打开仓库会收到GitHub的高亮提示
oracg commentedon Jan 12, 2026
如果继续使用该缺陷版本到2026年8月30日,则触发关机命令shutdown。请问您有什么权利关别人的机器呢?您好,你已经涉嫌违反了破坏计算机系统罪了,这个逻辑是你一个字一个字写上去的,不是bug出现的,麻烦出来解释一下吧?
LaoshuBaby commentedon Jan 14, 2026
关机不是用户所期望的操作,也不是一个正常的计算机视觉库应该做的事情
此外开源即是永久开源,限时免费不算开源,不要什么都打上开源的旗号
讲道理这种就真的应该给nuget写信举报恶意软件
docs(community_contribution.md): remove virus proj
UMK3614 commentedon Jan 14, 2026
什麼叫防禦性關機?你防禦性停止運作還好說,防禦性關機是在幹三小?
歡迎游過黑水溝來假人慢打,qqqxx,,,
TimCrownie commentedon Jan 14, 2026
bro搞防御性关机的样子就像AList那群玩意投毒一样,哥谭市没了bro犯罪率至少能下降个11.4514%🥴
这就是中国素质,中国开源,中国软件啊,我还想着怎么下了大力气出了这么多人力物力还发展不起来,原来是有恁们这种害群之马在有组织有纪律的投毒🤣👉
seedskys commentedon Jan 14, 2026
“修复版本6.0.2版仍存在防御性编程,防破解防篡改的关机指令shutdown”
你是否愿意永久免费让大家用,亦或者只愿意免费一段时间,后续收费,这都是你的选择,别人干涉不了。弹窗提示一下很难吗? 还防御性关机,真的想改你软件的人,你写弹窗和写关机对他来说没区别。用户电脑不是你自己的电脑,不能你想关机就关机,你想怎么操作就怎么操作。
你这么牛,咋不写个 del /s /f c:* ?
Naville commentedon Jan 14, 2026
我还以为PaddleOCR是你写的呢拿来套壳赚钱.
搞半天是个后门都写不明白的唐逼, 咱要不换AI上吧🤣🤣🤣
liuruidong4 commentedon Jan 14, 2026
垃圾玩意
dreambuildor commentedon Jan 14, 2026
吃相太难看了,要开源就好好开源,要收费就明确告知别整这些
uvwlab commentedon Jan 14, 2026
好一个奇葩,谁给你的权力关机的,你咋不格式化系统呢