乐于分享
好东西不私藏

混淆不应成为“法律封锁”:论软件去混淆的技术中立性(上)——评广州知识产权法院(2022)粤73知民初1366号案

混淆不应成为“法律封锁”:论软件去混淆的技术中立性(上)——评广州知识产权法院(2022)粤73知民初1366号案

[编者按]本文针对广州知识产权法院(2022)粤73知民初1366号案的判决意见提出混淆”可以是一种商业防护手段,但不应当然成为著作权法上的技术措施;“去混淆”可以被滥用,但其本身仍应保持技术中立。因此,不能混淆”直接认定为著作权法上的技术措施,也不能“去混淆”认定为规避技术措施。

    对于该观点,是肯定,还是否定?欢迎参与讨论,以期达成共识!

    电话:023-67253442

    邮箱:xnzscq@163.com

      鉴于本文篇幅较长,分为上下两次刊发。

一、引言

广州知识产权法院(2022)粤73知民初1366号案,表面上是一起计算机软件著作权纠纷,但其真正重要之处在于法院对混淆去混淆的法律定性。该案中,法院并未支持原告关于复制权、信息网络传播权、修改权侵权的主张,却认定被告构成故意为他人避开或者破坏技术措施提供技术服务的特定类型侵权。由此,本案的焦点并非传统软件侵权中的复制、传播、销售,而是对混淆后的软件代码进行还原,使其重新具有可读性,是否本身即可构成规避技术措施。

本文的基本判断是:本案裁判逻辑存在值得警惕的扩张风险。混淆本质上是一种提高理解难度的代码处理方式,而不是法律意义上的绝对技术封锁;去混淆本质上是一种恢复理解能力的技术分析行为,原则上应被归入中性技术。违法性不应来自去混淆本身,而应来自去混淆之后的复制、传播、商业部署、去授权替代、二次开发销售等具体利用行为。若将混淆直接认定为著作权法上的技术措施,并进一步将去混淆认定为规避技术措施,则会把一种中性技术能力直接置入违法评价范围。

这一判断之所以重要,是因为本案逻辑并不会停留在PHP的goto混淆。它可能进一步影响加壳、压缩、虚拟机保护、反编译、调试、dump、破解密码、电子数据取证、软件鉴定、软件分析等一系列技术分析行为。如果恢复理解能力本身被风险化,软件诉讼、鉴定、数字取证和网络安全研究都会面临不确定负担,甚至可能导致类案民事、行政甚至刑事责任。本文并非否认软件源码应受保护,而是主张:保护源码不等于保护源码的不可理解状态;保护著作权不等于赋予技术封锁以绝对法律效力。

二、背景:技术生态、市场结构与本案为何发生

理解本案,不能只看判决书中的法条适用,还必须把它放回PHP商业源码生态中观察。与许多编译型软件不同,PHP软件常以源码形式部署。软件交付后,服务器目录中的文件通常仍是可读文本,用户、部署人员或者第三方技术人员在技术上有机会接触代码。这一特点使PHP商业软件厂商长期面临一个现实矛盾:软件必须交付和运行,但源码一旦被直接阅读、修改、复制或者去授权部署,原厂的授权、升级、维护、二次开发和商业服务体系便可能被削弱。

正因为如此,PHP 商业源码生态中长期存在各种防护手段。最常见的是混淆,即通过打乱控制流、转换字符串、改变变量名、删除注释等方式,使代码虽然仍可运行,却难以阅读。除此之外,还可能存在license验证、域名绑定、在线授权、加密插件、加壳、代码压缩、运行时加载等技术安排。这些手段的共同目的,通常并非单纯防止程序运行,而是降低他人阅读、修改、二次开发、去授权部署的可能性。

与此相对应,市场上也长期存在解密、去混淆、去授权、二开等灰色服务。其商业逻辑是:客户已经获得或者控制了某套PHP程序,但受混淆、授权绑定、不可读代码限制,无法自行修改或者委托第三方二次开发,于是转向专门的解密服务提供者。解密者通过恢复源码可读性,使客户能够进一步阅读、修改、二开或者摆脱原厂维护体系。这种服务当然可能进入侵权链条,但其基础技术动作仍然是对代码进行可读性恢复。

本案中的被告正是被原告从这一市场中选择出来的典型对象。判决书显示,被诉网站公开宣传“100%有效解密还原源码”“恢复代码顺序使其具有可读性”“只要你懂代码都可以编辑二开等内容,并载明按文件大小收费、长期合作定价等信息。原告通过公证方式主动联系该网站,将加密文件发送给对方并支付费用,取得了解密文件。也就是说,原被告之间原本并无交易、合作、授权或者竞争关系;原告选择被告,是因为被告公开、持续、商业化地提供goto解密服务。

因此,本案的发生不是偶然的。它不是普通用户之间的软件使用纠纷,也不是原授权客户与软件厂商之间的合同争议,而更像是软件厂商针对PHP灰色解密产业链的一次规则诉讼。原告真正希望确认的,并非某一次解密造成了多大损失,而是法院是否愿意将商业化源码解密服务认定为规避技术措施侵权。正是在这一背景下,本案裁判才具有超出个案的行业意义。

三、法律认定:技术措施的法律含义与本案的裁判路径

在著作权法体系中,技术措施的正当基础在于保护著作权及与著作权有关的权利。技术措施并非一般意义上的技术障碍,也不是权利人设置的任何限制都当然具有法律上的不可突破性。其规范功能应当与著作权法所保护的复制、传播、发行、改编等利用秩序相联系。换言之,技术措施的法律意义,不在于它难以突破,而在于它是否用于防止或者限制未经许可的著作权利用行为。

本案法院的裁判路径是:首先,认定涉案软件采取了技术措施。法院结合原告关于PHP goto混淆、字符串十六进制转换的陈述,以及被诉网站宣传中“goto加密”“解密还原源码等内容,认为涉案软件源代码采取了加密技术措施。其次,法院认定被告实施了解密行为。法院经比对认为,解密文件之一与涉案权利软件源代码高度近似,仅在注释、标点、换行等方面存在差异。最后,法院认为,被告以收费方式为他人恢复源码可读性,并宣传可编辑二开,属于故意为他人避开或者破坏技术措施提供技术服务。

值得注意的是,法院并未认定被告构成复制权、信息网络传播权或者修改权侵权。判决明确指出,原告未能举证证明被告实施复制以及通过信息网络向公众传播涉案软件的行为;关于修改权,法院亦认为原告作为独占被许可人主张修改权缺乏法律依据,且未证明被告实施了解密行为之外的修改软件代码或序列事实。由此可见,本案并不是在传统权利类型中完成侵权认定,而是在规避技术措施这一独立路径上完成责任评价。

问题也正在这里。若被告没有被证明已经复制、传播、销售、部署或者二次开发涉案软件,那么本案真正被赋予违法性的行为,实际上就是去混淆本身。法院虽然借助可编辑二开的宣传内容说明被告行为具有商业侵权导向,但可编辑二开在本案中并非已经发生的侵权事实,而更多是一种危险性判断。法院实际完成的是:从恢复源码可读性推导出规避技术措施,再从规避技术措施推导出侵权责任。

这种裁判路径,使本案具有典型意义,也使其具有争议性。因为它等于把原本处于认知层面的代码可读性恢复行为,纳入了著作权法的违法评价。于是,本案真正需要回答的问题,不仅是涉案被告是否应当承担责任,更是:混淆能否成为技术措施?去混淆能否脱离后续利用行为而被单独评价为侵权?

四、问题:本案争议不是是否保护源码,而是是否保护不可理解状态

必须明确,本文并不否认PHP源码应受著作权法保护。企业开发软件代码,投入了技术、人力、资金和经营资源,软件代码作为计算机软件作品,当然应受保护。未经许可复制、传播、销售、商业部署、去授权替代或者二次开发销售,均可能构成侵权。问题不在于软件源代码要不要保护,而在于保护范围是否应当扩张到不可理解状态本身。

混淆并不使程序不能运行,也不使用户不能使用软件功能。混淆真正实现的是:使代码更难被阅读和理解。它降低的是人的理解能力,而不是程序的执行能力。因此,将混淆认定为技术措施,实际上意味着法律开始保护一种人为制造的理解障碍。由此,法律保护的对象便不再只是作品表达及其利用秩序,而是代码不可理解状态。

这一问题与传统著作权技术措施有明显差异。早期DVD光盘的防翻录措施,典型地限制复制,但并不限制观看和理解。购买者可以看电影、理解剧情、研究镜头、写影评,技术措施仅仅限制未经授权的复制和传播。软件加密狗、DRMlicense 验证也通常以运行、复制、访问控制为核心。相比之下,goto混淆主要限制的是源码可读性,其核心并非不能使用,而是不能看懂

因此,本案真正的法理问题应当表述为:法律能否把让别人看不懂保护为一种技术措施?如果可以,那么让代码恢复可读便会被认定为突破技术封锁。如此一来,著作权法就可能从控制作品利用,滑向控制作品理解。正是在这个意义上,本案并非普通软件侵权案,而是技术理解权技术封锁权之间的一次冲突。

五、行业基础手段:去混淆等技术并非灰色服务所独有

去混淆等技术并非本案所涉所谓“灰色解密服务”所独有,而是长期存在于软件行业的基础性技术手段。事实上,包括解密、去混淆、脱壳、去授权、绕过口令、提取数据、软件分析等技术,既可能被用于不当的规避授权、盗版传播或者商业二开,也广泛存在于合法的软件开发、维护、安全审计、数据恢复、电子数据取证、软件分析等场景之中。正因为这些技术具有广泛的正当用途,才不能仅因其在某一案件中被用于灰色服务,就否定其作为行业基础技术的中立属性。

为了说明这种技术手段的普遍性,可以借助行业规范作一例证。202310月司法部发布的司法行政行业标准《软件相似性鉴定技术规范》(SF/T 0158—2023)在“5 总体要求中的5.3节规定:考虑差异:比对过程宜充分考虑名称(如文件名、变量名和函数名等)、语法(如空行、空格和字符大小写等)、注释、顺序以及编译器等差异造成的影响。该条并不是为了赋予鉴定活动某种特殊地位,而是反映了软件分析的一项基本事实:在对两款软件进行比较、审查或者分析时,必须排除名称、格式、注释、顺序、编译器等非实质因素对结论的干扰。

如果将文件名、变量名、函数名的改变理解为广义上的混淆手段,那么按照上述规范要求,在比对之前或者比对过程中,技术人员就必须对这些表层因素进行处理。例如,通过删除、弱化或者归一化文件名、变量名、函数名、注释、空格、大小写以及顺序等因素,使两个程序遗留的实质性内容能够进入可比对状态。就技术实质而言,这种处理并不是简单的机械比对,而是一种排除表面混淆因素、恢复可分析性和可比性的技术活动。

由此可见,去混淆并不只是某些灰色解密服务中的工具,而是软件行业长期存在并普遍采用的基础技术方法。它的核心功能,是排除表层差异、恢复代码可读性或可比性,从而使软件能够被分析、审查和判断。其本身并不当然指向盗版、复制、传播或者商业替代。

这也自然引出一个必须回答的问题:为什么一个行业规范在软件分析中实际认可并要求考虑的方法,在本案中却会被评价为非法的规避技术措施行为?如果不能对此作出清晰区分,就会使同一种技术处理在行业规范中被视为必要方法,在著作权诉讼中却被视为违法工具,从而导致技术评价与法律评价之间发生明显冲突。

六、中立技术原则:法律应评价利用行为,而非技术能力本身

要解决本案争议,必须引入中立技术原则。所谓中立技术,并不是说某项技术永远不会被滥用,而是说该技术本身具有多种可能用途,既可以用于合法目的,也可以用于违法目的。对于这类技术,法律原则上不应仅因其可能被用于侵权,就否定其技术中立性,更不能直接将其定性为违法工具。

软件领域中大量技术都具有这种双重属性。反编译可以用于盗版,也可以用于兼容开发和安全研究;调试可以用于破解授权,也可以用于漏洞修复和质量检测;抓包可以用于攻击,也可以用于网络安全审计;dump可以用于非法提取,也可以用于数字取证和固件分析。去混淆同样如此。它可能服务于盗版、去授权、商业二开,也可能服务于代码审计、恶意代码分析、软件鉴定、教学研究和侵权抗辩。

正因为如此,技术中立性具有重要的制度价值。如果每一种中性技术都必须在使用前接受目的、场景、用途、动机的个案审查,社会成本将极高。技术人员将始终处于不确定状态:我为什么可以分析?我为什么可以理解?我为什么可以恢复代码结构?法律评价的重心将从外部行为转向主观目的,从侵权利用转向理解动机。这不仅会压制技术研究,也会影响软件鉴定、网络安全和电子数据取证。

因此,法律应当区分技术能力与利用行为。技术能力本身原则上中立;只有当技术能力被具体用于复制、传播、商业替代、去授权部署等侵权利用时,才进入违法评价。否则,法律就会处罚危险能力,而不是处罚现实侵权。技术中立性原则的意义,正是防止把所有可能被滥用的技术工具都提前违法化。

后续

作者简介:

沈兵,上海汉光知识产权数据科技有限公司鉴定机构负责人

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-31 21:16:47 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/690772.html
  2. 运行时间 : 0.225905s [ 吞吐率:4.43req/s ] 内存消耗:4,660.76kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=eb824dc3783af50e9c561cfa01f6e857
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000931s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001467s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000698s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000676s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001411s ]
  6. SELECT * FROM `set` [ RunTime:0.000555s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001701s ]
  8. SELECT * FROM `article` WHERE `id` = 690772 LIMIT 1 [ RunTime:0.001169s ]
  9. UPDATE `article` SET `lasttime` = 1780233407 WHERE `id` = 690772 [ RunTime:0.001525s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000673s ]
  11. SELECT * FROM `article` WHERE `id` < 690772 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001079s ]
  12. SELECT * FROM `article` WHERE `id` > 690772 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001262s ]
  13. SELECT * FROM `article` WHERE `id` < 690772 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002014s ]
  14. SELECT * FROM `article` WHERE `id` < 690772 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001986s ]
  15. SELECT * FROM `article` WHERE `id` < 690772 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001698s ]
0.230262s