亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        .NET平臺軟件知識產(chǎn)權司法鑒定中的跨語言鑒定方法研究

        2017-03-03 03:29:34劉玉琴雷孝平
        中國司法鑒定 2017年1期
        關鍵詞:計算機軟件語言

        劉玉琴,桂 婕,雷孝平

        (1.北京印刷學院 綠色印刷包裝產(chǎn)業(yè)技術研究院,北京102600;2.工業(yè)和信息化部軟件與集成電路促進中心知識產(chǎn)權司法鑒定所,北京100038;3.中國科學技術信息研究所,北京100038)

        鑒定科學ResearchPaper

        .NET平臺軟件知識產(chǎn)權司法鑒定中的跨語言鑒定方法研究

        劉玉琴1,2,桂 婕3,雷孝平3

        (1.北京印刷學院 綠色印刷包裝產(chǎn)業(yè)技術研究院,北京102600;2.工業(yè)和信息化部軟件與集成電路促進中心知識產(chǎn)權司法鑒定所,北京100038;3.中國科學技術信息研究所,北京100038)

        目的 為明確微軟.NET Framework跨語言編程平臺下不同計算機編程語言設計的軟件之間是否可以進行相似性鑒定以及具體的鑒定方案。方法 分析了.NET Framework平臺下各種編程語言的編譯運行機制,應用代碼轉換工具對C#.NET和VB.NET源代碼進行自動轉換驗證。結果 結果顯示在無任何人工干預條件下,可實現(xiàn)同一軟件源代碼在不同編程語言間自由的、自動的轉換。結論 .NET Framework平臺下跨語言的源代碼相似性鑒定、編譯為中間語言的目標代碼相似性鑒定以及加密或混淆技術處理過的目標代碼相似性鑒定是必要和可行的。

        .NET平臺;跨語言鑒定;知識產(chǎn)權司法鑒定

        隨著微軟公司跨語言平臺.NET Framework(.NET框架)技術的日趨成熟,采用.NET平臺下的C#.NET、VB.NET、C++.NET、J#.NET、F#.NET等計算機編程語言進行設計開發(fā)的軟件產(chǎn)品大量涌現(xiàn),隨之引起的軟件知識產(chǎn)權糾紛逐漸增多。由于.NET平臺的跨語言、跨平臺特性使得相關糾紛的司法鑒定工作遇到了一些新的技術問題。其中最為關鍵的問題之一是. NET平臺下不同語言之間是否可以進行相似性鑒定,以及具體的鑒定方法等。

        為明確.NET平臺下不同語言之間是否可以進行相似性鑒定以及具體的鑒定方案。本文通過對.NET平臺運行機制的分析,以實例來探究確認.NET平臺下不同語言的軟件之間進行相似性鑒定的必要性,并提出相應的鑒定方案。

        1 軟件知識產(chǎn)權司法鑒定學術研究回顧

        我國學者對于軟件知識產(chǎn)權司法鑒定的學術研究主要集中在兩方面:一是軟件知識產(chǎn)權司法鑒定的相關概念、原則、方法等理論層面的探討。例如,1998年,韓小燕[1]對軟件知識產(chǎn)權侵權現(xiàn)象進行分類總結。2005年,馮金成[2]從計算機司法鑒定角度闡述計算機犯罪的定義與司法鑒定內(nèi)容。2005年,羅蘇平[3]探討軟件源程序在知識產(chǎn)權司法鑒定中的重要意義。2008年,李維[4]提出軟件著作權的鑒定原則和方法。二是集中在針對軟件產(chǎn)品同一性或相似性鑒定技術層面的研究。例如,2005年,陳雪[5]通過對一起經(jīng)最高人民法院民事庭指令再審的軟件侵權糾紛案進行述評,認為軟件相似性鑒定應根據(jù)實際情況,采用最有效的鑒定方法,而不應只限于在編碼層進行鑒定。2007年,趙丙秀等[6]研究利用軟件流程比對、功能點比對、界面比對、文件比對和安裝過程比對,對提供二進制代碼的計算機軟件產(chǎn)品進行鑒定的方法。2008年,張益成[7]從鑒定實踐中總結軟件產(chǎn)品的鑒定技術和方法,重點介紹了EXE、OCX、DLL、LIB、FBL文件的同一性鑒定。2013年,陳小靜等[8]結合計算機軟件技術信息的特殊性,以目標代碼、源代碼探討計算機軟件技術秘密鑒定和相似性鑒定方法。2013年,劉惠萍等[9]結合具體案例,從技術角度研究Microsoft PowerPoint演示文稿的同一性鑒定方法。

        就目前的研究來說,對于.NET Framework平臺下的軟件知識產(chǎn)權司法鑒定,并沒有針對性的展開。

        2 .NET平臺軟件跨語言鑒定的背景

        以主張著作權為由的軟件相似性鑒定的法律依據(jù)主要是我國的《著作權法》和《計算機軟件保護條例》?!队嬎銠C軟件保護條例》第二條、第三條給出了計算機軟件的相關定義:“計算機軟件,是指計算機程序及其有關文檔。計算機程序,是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執(zhí)行的代碼化指令序列,或者可以被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。同一計算機程序的源程序和目標程序為同一作品。文檔,是指用來描述程序的內(nèi)容、組成、設計、功能規(guī)格、開發(fā)情況、測試結果及使用方法的文字資料和圖表等,如程序設計說明書、流程圖、用戶手冊等”?!队嬎銠C軟件保護條例》第七條明確了軟件著作權保護的客體:“本條例對軟件著作權的保護不延及開發(fā)軟件所用的思想、處理過程、操作方法或者數(shù)學概念等?!?/p>

        因此,以往基于計算機軟件著作權保護的軟件知識產(chǎn)權司法鑒定實踐中,對于由不同語言設計開發(fā)的軟件,一般不對其進行相似性比對。比如,司法鑒定實踐中很少從著作權的角度對分別由編程語言C++和JAVA設計的軟件進行相似性鑒定。然而,在微軟公司跨語言平臺.NET出現(xiàn)后,這種情況產(chǎn)生了一些變化。由于.NET的跨平臺、跨語言特性,同一個基于.NET平臺進行設計開發(fā)的軟件可以使用兩種以上的編程語言進行開發(fā),甚至可以借助一些轉換工具將一種語言的代碼轉換為另外一種語言,且這種轉換可以自動完成。因此,在基于.NET平臺進行設計開發(fā)的軟件知識產(chǎn)權糾紛案例中,經(jīng)常遇到被控侵權方提交鑒定的軟件源代碼與控告方提交的軟件源代碼所使用的計算機編程語言不同,但都是基于.NET平臺下的編程語言,而且雙方的軟件的目標代碼相同或相似程度較高。被控侵權方力圖通過軟件源代碼的編程語言不同,主張兩款軟件不同,以此逃避侵權責任。但這并不符合“同一計算機程序的源程序和目標程序為同一作品”的規(guī)定。這為軟件知識產(chǎn)權司法鑒定技術、鑒定方法提出了新的挑戰(zhàn)。以下分別從.NET的運行機制和代碼實例來說明這種情況下進行相似性鑒定的必要性。

        3 .NET平臺軟件跨語言鑒定的必要性分析

        3.1 .NET平臺下各種語言的編譯運行機制

        .NET Framework是微軟公司2002年推出的一種跨語言平臺,它是以公共語言運行庫(Common Language Runtime,CLR)為核心前提的。.NET平臺下各種語言的執(zhí)行需要經(jīng)過兩個編譯過程(圖1)。

        第一個編譯過程是把源代碼編譯為微軟中間語言IL,第二個編譯過程是CLR把IL編譯為平臺專用的代碼。其中微軟中間語言是一種低級語言,使用數(shù)字代碼,而不是文本代碼,語法很簡單,可快速地轉換為本地機器碼,具有平臺無關性、提高性能和語言的互操作性等優(yōu)點。

        圖1 .NET的運行機制示意圖

        通過上面編譯運行機制的分析可以看出,.NET平臺下各種編程語言設計的軟件產(chǎn)品,最終執(zhí)行的都是微軟中間語言構成的代碼,從而為不同語言設計的軟件產(chǎn)品進行相似性鑒定提供了技術上的理論依據(jù)。

        3.2 不同語言軟件間的自動轉化實例

        .NET平臺下不僅同一個軟件可以由多種語言混合編寫[10],而且利用一些第三方軟件廠商的工具,如Developer Fusion[11]、Coder Converter[12]可以實現(xiàn)同一軟件在不同語言間自由的、自動的切換。以下源代碼函數(shù)分別由C#.NET和VB.NET編寫(圖2)。直觀上看,兩個代碼的表現(xiàn)形式差別較大,但本質上,第二段代碼是由Coder Converter在第一段代碼的基礎上自動轉化過來的,沒有進行任何人工干預。兩個代碼均實現(xiàn)與數(shù)據(jù)庫連接進行數(shù)據(jù)查詢的功能。

        圖2 源代碼函數(shù)

        這兩段代碼在計算機編譯執(zhí)行過程中,首先轉化為相同的微軟中間語言代碼(圖3)。

        圖3 中間語言代碼

        同時,以上這段中間語言代碼可以由轉換工具轉換為上面兩段代碼中的任意一種形式。

        通過這個轉換實例可以看出,對于.NET平臺軟件知識產(chǎn)權司法鑒定,如果認為兩款軟件是由不同語言編寫而拒絕進行相似性鑒定的依據(jù)顯然是不科學的。

        4 .NET平臺軟件跨語言鑒定的方法

        4.1 跨語言的源代碼相似性鑒定

        基于.NET平臺下各種語言編譯運行機制的分析,對.NET平臺下跨語言的源代碼相似性鑒定,可以按照如下三個步驟進行:

        (1)利用第三方的轉換工具把不同語言的代碼轉化為同一語言。

        (2)找出鑒定雙方代碼的對應關系,利用Beyond Compare對轉化后的代碼進行統(tǒng)計,統(tǒng)計雙方代碼中相同、不同和獨有的代碼行數(shù),以代碼的表現(xiàn)形式來判斷相似性。

        (3)如果第(2)步中發(fā)現(xiàn)雙方的代碼表現(xiàn)形式差異較大,還要人工的按照文件、類、函數(shù)去進一步解讀代碼,從代碼的含義來判斷相似性。

        4.2 編譯為中間語言的目標代碼相似性鑒定

        在沒有原始源代碼的情況,可以采用三種方式對編譯為中間語言的目標代碼進行相似性鑒定。

        (1)查看編譯后的代碼文件的二進制格式或十六進制格式,利用Beyond Compare統(tǒng)計雙方代碼中相同、不同和獨有的字節(jié)數(shù),以二進制或十六進制的表現(xiàn)形式來判斷相似性。

        (2)利用第三方工具,如.NET Reflector[13],直接查看雙方中間代碼,然后利用Beyond Compare統(tǒng)計雙方代碼中相同、不同和獨有的代碼行數(shù),以中間語言代碼的表現(xiàn)形式來判斷相似性。

        (3)如應用第(1)(2)種方法發(fā)現(xiàn)雙方的代碼表現(xiàn)形式差異較大,還要繼續(xù)采用第三方的工具,如. NET Reflector,將中間語言的目標碼反編譯成同一種語言的源代碼,從代碼的含義來判斷相似性。由于中間語言非機器碼,反編譯的準確率高。

        5.3 加密或混淆技術處理過的目標代碼相似性鑒定

        由于編譯為中間代碼的目標代碼容易進行反編譯,很多軟件產(chǎn)品在發(fā)布的時候,進行了加密或混淆處理,以防止程序被反編譯。.NET平臺下的典型加密工具有Remotesoft Protector、Maxtocode、CliProtector、Reactor等。這種情況下很難對其目標代碼的相似性做出肯定或否定的判斷。但在加密或混淆的過程中,仍會保留一些加密前的痕跡。比如,文件名稱、類名稱、函數(shù)名稱、GUID(全局唯一標識符,Globally U-nique Identifier)等。在鑒定實踐中,要根據(jù)其采用的加密或混淆技術做具體分析,從細微處尋找進行深入鑒定的依據(jù),以使鑒定雙方提供更加直接、更容易進行鑒定的材料。

        例如,采用Reactor加密過的.NET目標代碼,某些情況下通過反編譯工具.NET Reflector反編譯后,雖然不能得到全部的源代碼,但是能夠體現(xiàn)代碼組織結構的類文件名稱,部分函數(shù)名稱是可以獲得的。特別是目標代碼文件的GUID加密前后保持不變。如果被比對雙方的代碼文件名稱、類文件名稱、函數(shù)名稱相同,即便無法獲取每個函數(shù)具體的源代碼,也可以說明雙方軟件代碼在組織結構安排上相同,在實際開發(fā)中這種可能性非常小,據(jù)此可以促使鑒定雙方提供未經(jīng)加密過的原始源代碼或目標代碼。

        GUID是一個16字節(jié)的整數(shù),其生成過程中用到了計算機的以太網(wǎng)卡地址、納秒級時間、芯片標示碼等信息。如果兩個目標代碼文件的GUID相同,無論其是否經(jīng)過加密處理,都意味著這兩個目標代碼對應的源代碼存在一定的關聯(lián)性。這是因為GUID是在源代碼設計開發(fā)時生成的,無論是不同機器還是同一機器上重復的機率非常小[14]。因此,如果兩個目標代碼文件的GUID相同,說明雙方源代碼具有共同的原始來源。

        5 結論

        隨著.NET平臺的不斷發(fā)展與日趨成熟,其影響和使用范圍越來越廣泛,.NET平臺間的跨語言轉換日趨普遍,甚至出現(xiàn)了.NET平臺語言向RUBBY、PYTHON、DELPHI等非.NET平臺語言進行轉換的需求和工具。這種情況下,要求計算機軟件的司法鑒定方法要與時俱進,適應新技術的發(fā)展需求,更加謹慎細致地對待跨語言的軟件知識產(chǎn)權司法鑒定問題。

        [1]韓小燕.軟件侵權現(xiàn)象及其司法鑒定淺析[J].軟件世界,1998,(10):77.

        [2]馮金成.論計算機司法鑒定[J].政法學刊,2005,22(6):102-104.

        [3]羅蘇平.對軟件侵權鑒定中的源程序作用的認識[J].廣東交通職業(yè)技術學院學報,2005,4(1):55-57.

        [4]李維.淺析計算機軟件著作權技術鑒定[J].科技與法律,2008,(6):61-64.

        [5]陳雪.軟件作品的著作權司法鑒定——以“公安基層管理系統(tǒng)”著作權糾紛案為例[J].華南師范大學學報(社會科學版),2005,(3):24-30.

        [6]趙丙秀,王堅.軟件知識產(chǎn)權鑒定方法的初步研究與探索[J].計算機時代,2007,(4):4-7.

        [7]張益成.計算機軟件產(chǎn)品的司法鑒定技術[J].2008,(7):16-18. [8]陳小靜,黃少暉,梁永宏.淺析計算機軟件技術信息的商業(yè)秘密鑒定[J].中國發(fā)明與專利,2013,(8):31-33.

        [9]劉惠萍,羅文華.從知識產(chǎn)權侵害案件看Microsoft Power-Point演示文稿鑒定實踐[J].中國司法鑒定,2013,(3):62-65.

        [10][美]Simon Robinson,Christian Nage.C#高級編程[M].李銘,譯.北京:清華大學出版社,2005:2-7.

        [11]Developer Fusion[EB/OL].(2008-10-13)[2014-12-15]. http://www.developerfusion.com/tools/convert/csharp-to-vb/

        [12]Code Converter[EB/OL].(2014-01-01)[2014-12-15].http:// www.codechanger.com/.

        [13].NET Reflector[EB/OL].(1999-01-01)[2014-12-15].http:// www.reflector.net/.

        [14]Guid Structure[EB/OL].(2012-08-15)[2014-12-15].https:// msdn.microsoft.com/en-us/library/system.guid.aspx.

        (本文編輯:盧啟萌)

        Cross Language Examination Method for.NET Framework Software in Intellectual Property Forensics

        LIU Yu-qin1,2,GUI Jie3,LEI Xiao-ping3
        (1.Academic of Printing and Packaging Industrial Technology,Beijing Institute of Graphic Communication, Beijing 102600,China;2.Intellectual Property Expertise Center of Judicature,Ministry of Industry and Information Technology Software and Integrated CircuitPromotionCenter,Beijing 100038,China;3.Institute of Scientific and Technical Information of China,Beijing 100038,China)

        Objective To clarify whether it is feasible to identify similarities between different programming languages within the.NET framework.Method The operation mechanism of the.NET framework was analysed;an example was given to explore and confirm the necessity of similarity identification between different languages within the.NET framework. Results The same software source code could be converted freely and automatically between different programming languages without any human intervention.Conclusion Similarity identification of cross-language source code,target language compiled to intermediate language and object-code which is processed by encryption or obfuscation technology are necessary and feasible within the.NET framework.

        .NET platform;cross language examination;forensic expertise of intellectual property

        DF794;D923.4

        A

        10.3969/j.issn.1671-2072.2017.01.007

        1671-2072-(2017)01-0056-04

        2016-02-01

        劉玉琴(1979—),男,高級工程師,博士,主要從事數(shù)據(jù)挖掘、信息可視化、軟件知識產(chǎn)權研究。

        E-mail:liuyuqin2004@126.com。

        猜你喜歡
        計算機軟件語言
        語言是刀
        文苑(2020年4期)2020-05-30 12:35:30
        基于C語言的計算機軟件編程
        電子制作(2018年16期)2018-09-26 03:27:08
        讓語言描寫搖曳多姿
        淺談不同編程語言對計算機軟件開發(fā)的影響
        電子制作(2018年1期)2018-04-04 01:48:36
        計算機軟件數(shù)據(jù)庫設計應用探析
        電子制作(2017年14期)2017-12-18 07:08:03
        多向度交往對語言磨蝕的補正之道
        淺談基于C語言的計算機軟件程序設計
        電子制作(2017年24期)2017-02-02 07:14:40
        累積動態(tài)分析下的同聲傳譯語言壓縮
        我有我語言
        神州修車救援APP取得計算機軟件著作權
        中文人妻av久久人妻水蜜桃| 中文熟女av一区二区| 国产精品国产三级农村妇女| 无套无码孕妇啪啪| 亚洲国产另类精品| 99ri国产在线观看| av资源在线永久免费观看| 亚洲av免费不卡在线观看| 一区二区三区国产| 日本免费人成视频播放| av一区二区不卡久久| 性感女教师在线免费观看| 毛片无码国产| 日韩视频第二页| 日本高清中文字幕二区在线| 在线观看日本一区二区三区四区| 国语对白嫖老妇胖老太| 五月婷婷六月激情| 成人短篇在线视频夫妻刺激自拍| 精品国产一区二区三区三| 天天综合网天天综合色| 国产在线无码免费视频2021| 人妻中文字幕一区二区三区| 亚洲av色香蕉一区二区三区| 少妇人妻偷人精品视蜜桃| 亚洲日本无码一区二区在线观看| 久久亚洲中文字幕精品二区 | 一区二区三区人妻在线| 欧美高清精品一区二区| 少妇人妻200篇白洁| 91福利国产在线观看网站| 一级一片内射视频网址| 内射合集对白在线| 亚洲一级毛片免费在线观看| 玖玖资源网站最新网站| 日产乱码一二三区别免费l| 亚洲熟女乱色一区二区三区| 国产乱人伦AⅤ在线麻豆A| 东北熟妇露脸25分钟| 中文无码久久精品| 亚洲VA中文字幕欧美VA丝袜|