软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

admin 2025年4月9日00:38:10评论3 views字数 3976阅读13分15秒阅读模式

案例背景

随着信息化时代的发展,软件在我们日常生活和工作中扮演着越来越重要的角色。然而,随之而来的软件侵权、盗版等问题也日益突出,给个人隐私安全、企业知识产权保护带来了严峻挑战。近期,我鉴定所接到一起侵犯计算机软件著作权纠纷案件,本案中,办案机关依法送检了疑似侵权的软件(以下简称“检材软件”)以及权利人提供的正版软件(以下简称“样本软件”),并委托我鉴定所对检材软件和样本软件之间的相似性进行鉴定。

01

技术规范解读

在电子数据司法鉴定中,软件相似性鉴定可采用SF/T 0158-2023《软件相似性鉴定技术规范》,该规范在2023年12月01日发布并实施,替代了之前的使用的旧规范SF/Z JD0403001-2014《软件相似性鉴定实施规范》。

新旧规范在软件相似性鉴定中均要求排除公共程序库文件、第三方库文件等无关内容,并对源程序和目标程序进行多维度比对,涵盖目录结构、文件内容、函数、变量、宏定义等方面;同时需比对检验安装程序、安装过程及程序使用过程。

新发布的SF/T 0158-2023《软件相似性鉴定技术规范》在此基础上,更注重技术方法的多样性和深度分析能力,扩展比对维度,纳入动态分析、逆向工程等复杂技术。该方法中单独规定了针对数据库、代码和资源等特殊文件的详细比对方式,如检材样本中包含数据库文件时,需将数据库文件转储为SQL脚本代码,分析数据库的库名、数据表名称、结构及数据等项目;分析代码文件时,应重点关注特有内容和代码执行逻辑等,并排除大小写、变量名、空行、注释和函数名的影响;资源文件分析则需根据文件类型按照对应的方法进行比对。

且新方法SF/T 0158-2023《软件相似性鉴定技术规范》针对不同维度的比对方式列出了对应的计算公式,除此之外该方法还增加了软件相似性鉴定意见的表述。如下图所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

02

案例剖析

本次案件中,委托方送检的鉴定材料为检材和样本软件安装后生成的目录。其中检材软件安装目录中共计25个文件,2个文件夹;样本软件安装目录中共计27个文件,3个文件夹。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

01

目录结构相似比例

使用Beyond Compare分别加载检材和样本文件夹,对其目录文件夹进行结构比较,比较结果显示检材与样本文件夹下文件名相同的文件共计22个。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!
软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

比较规则如下图所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

计算检材与样本的结构相似比,以检材为参考对象的相似比为22(检材与样本同名文件数量)/25(检材文件夹内文件数量)=88%;以样本为参考对象的相似比为:22(检材与样本同名文件数量)/27(样本文件夹内文件数量)=81.48%。

02

文件相似比例

使用Beyond Compare对检材和样本目录中的文件内容比较,比较结果显示20个相同文件、3个检材独有文件、1个样本独有文件和2个差异文件。比较结果如下图所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

比较规则如下图所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

计算检材与样本的文件相似比,以检材为参考对象的相似比为:20(检材与样本相同文件数量)/25(检材文件夹内文件数量)=80%;以样本为参考对象的相似比为:20(检材与样本相同文件数量)/27(样本文件夹内文件数量)=74.07%。

03

代码文件相似比例

查看检材和样本文件中差异文件“taskxpot.dll”的详细信息,其中数字签名的签名者姓名、摘要算法和时间戳内容一致。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

使用ida分别加载检材与样本的“taskxpot.dll”文件,加载后界面如下:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

通过下述脚本分别将检材和样本文件反编译后所有函数的代码保存至“检材_dll_func.txt”和“样本_dll_func.txt”中。代码如下:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

“检材_dll_func.txt”文件中共计6,446行,“样本_dll_func.txt”文件中共计3,154行。使用Beyond compare对导出的检材和样本反编译代码文件进行文本内容比较,比较结果显示2,916个相同行。比较信息如下:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以检材文件作为参考对象,计算检材和样本文件总体文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以样本文件作为参考对象,计算检材和样本文件总体文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

编写下述脚本将检材和样本文件反编译后原创函数的代码保存至“排除非原创后代码后检材_dll_func.txt”和“排除非原创后代码后样本_dll_func.txt”中。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

去除“排除非原创后代码后检材_dll_func.txt”文件中的字符串“NoneNoneNone”后,该文件共计4,951行,“排除非原创后代码后样本_dll_func.txt”文件中共计1,657行。使用Beyond compare对导出的检材和样本反编译代码文件进行文本内容比较,比较结果显示1,419个相同行。比较信息如下:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以检材文件作为参考对象,计算检材和样本文件排除非原创代码文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以样本文件作为参考对象,计算检材和样本文件排除非原创代码文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

编写脚本去除上述排除非原创后代码后文件“排除非原创后代码后检材_dll_func.txt”和“排除非原创后代码后样本_dll_func.txt”中的空行、注释,并把文件中的符合正则表达式“([A-Za-z]+)_[A-Za-z0-9]{6}”的函数名斜杠后的六位字符串替换为“xxxxxx”。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

修改完函数名,去除注释和空行后,“排除非原创修改函数名排除其他内容后检材_dll_func.txt”文件中共计4,872行;“排除非原创修改函数名排除其他内容后样本_dll_func.txt”文件中共计1,633行。再次进行文本内容比较,比较结果显示1,420个相同行。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以检材文件作为参考对象,计算检材和样本文件排除非原创代码、修改函数名、去除注释和空行后文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以样本文件作为参考对象,计算检材和样本文件排除非原创代码文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

04

数据库文件相似比例

将检材与样本的db文件还原至本地数据库中(使用Navicat新建sqlite连接并选择本地的db文件),还原后检材与样本的数据库名相同、数据表数量及对应的表名相同。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

检材与样本数据库的结构和数据分别转储为sql文件“main_检材.sql”和“main_样本.sql”,导出后文件“main_检材.sql”中共计159行,“main_样本.sql”中共计171行。然后使用Beyond compare对导出的sql文件进行文本内容比较,比较结果显示154个相同行。比较信息如下:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以检材文件作为参考对象,计算检材和样本文件总体文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以样本文件作为参考对象,计算检材和样本文件总体文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

去除“main_检材.sql”和“main_样本.sql”文件中的注释和空行后,“main_检材.sql”文件中共计75行;“main_样本.sql”文件中共计87行。再次进行文本内容比较,比较结果显示72个相同行。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以检材文件作为参考对象,计算检材和样本文件排除注释和空行后文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

以样本文件作为参考对象,计算检材和样本文件排除注释和空行后文件相似比例为:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

03

鉴定意见表述

经检验,检材与样本相似,相似比值如下表所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

检材与样本内的文件“taskxpot.dll”相似,相似比值如下表所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

检材与样本内的文件“samples.db”相似,相似比值如下表所示:

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

总结

在本次软件相似性鉴定案例中,采用了SF/T 0158-2023《软件相似性鉴定技术规范》作为指导标准,对疑似侵权的检材软件与权利人提供的样本软件进行了全面细致的技术分析。整个鉴定过程遵循SF/T 0158-2023《软件相似性鉴定技术规范》中规定的比对步骤和技术要求,确保结果的准确性和可靠性。

在做软件的相似性鉴定时,根据检材与样本的送检形式分别使用相应的比对方法。其中对于二进制代码文件的比对需要通过反编译后提取函数代码进行比对,除了直接比对反编译后代码文件的总体相似比之外,还需进一步排除非原创部分,标准化函数名称、去除注释及空行后计算对应的相似比例;对于数据库文件的比对分析也按照该规范中的分析要求进行了比对。具体的相似程度需要根据不同的参照对象和分析维度来进行具体的考量。

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

奇安信集团旗下有北京、上海、西安三家司法鉴定所:北京网神洞鉴科技有限公司司法鉴定所、盘石软件(上海)有限公司计算机司法鉴定所与陕西西安洞鉴云侦声像资料司法鉴定所。其中,上海所是上海第一家通过 CNAS 认证认可的民营计算机类司法鉴定机构。三所均通过了CMA资质认定,是目前国内少数能够通过自主研发软件进行取证与分析的电子数据司法鉴定机构,具有独立的实验室场所,其中包括:案件受理区、数据恢复区、手机取证区、计算机取证区、屏蔽室、无尘工作间和物证室,并配备多种国内外先进的技术检验及辅助设备。经过多年的时间积累和发展,现拥有一批胜任鉴定工作的专业技术人员,以专业的技能和丰富的经验,来开展声像资料和电子数据司法鉴定工作。开展的鉴定服务范围包括:声像资料鉴定、电子数据司法鉴定、计算机证据固定和获取、手机终端取证与分析、数据恢复、密码破解以及涉及电子设备的民事调查等。

鉴定热线&地址:

010-56509288(北京)

北京市西城区西直门外南路26号院1号-奇安信安全中心B1

021-52658848(上海)

上海市闵行区合川路2555号科技绿洲三期五-3号楼4层

029-86196688(西安)

陕西省西安市经济技术开发区凤城二路1幢经发大厦B座10607室

原文始发于微信公众号(电子物证):软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月9日00:38:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   软件侵权纠纷如何取证?一文看懂相似性鉴定关键步骤!https://cn-sec.com/archives/3911228.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息