软件目标代码同一性司法鉴定方法概述

2024
03-21 15:39

(部分咨询收费)
直线:139 2652 7105
咨询:0755-2500 0007
咨询:0755 8696 0099
邮件:zhenjie@ipcoo.com
地址:深圳市南山区粤海街道软件产业基地5栋C座1002A

软件目标代码同一性司法鉴定方法概述


首先,进行目标代码预处理。如果目标代码进行了加壳/加密,首先要对目标代码进行脱壳处理。由于加壳技术手段多种多样,所以必须了解目何种技术才能有效地进行脱壳处理。如果目标代码经过特殊具转化,那么还要对目标代码进行还原。例如,在嵌入式软件开发中,由源代码编译生成的目标代码,经过特殊的工具转化后烧录到芯片中。那么在对芯片中提取的目标代码进行同一性鉴定时,就要进行相应的转化操乍。还有在特殊的情况下,通过技术手段读取的嵌入在芯片中的目标代码是多个目标代码的混合体,提取后进行同一性比对,应进行各部分的拆分。
 
其次,进行目标代码的二进制比对,比对采用Beyond Compare。二进制代码相同,目标代码具有同一性;二进制代码不完全相同,但相同部分占整体代码的比例较高,达到90%以上,且不同代码集中在代码文件的头部或尾:,这种情况目标代码差异不显著,—一般认为目标代码具有同一性。
 
以二进制进行代码比对时,通过计算双方目标代码中相同字节占总字节的比例来判断目标代码是否具有同一性。图最后,如果目标代码二进制内容相同或相同的字节比例较高,可认为目标代码具有同一性。如果目标代码二进制具有明显的差异,并不能直接含足目标代码的同一性,应结合软件的编译运行环境进行分析判断。这是因为相同的源代码在不同的操作系统上进行编译,或者在不同的编译器下进行编译,都可能会产生不同的二进制内容。因此,在二进制代码具有明显差异的情况下,应结合编译运行环境进行分析,适当采用反编译的技术手段获取反编译代码进行比对。
 
需要指出的是,不同计算机语言反编译的技术、工具及反编译得到的代码,可读性差异较大。采用C/C++语言编写的目标代码能够反编译为汇编语言,可读性高于二进制代码;但与原始源代码相比,可读性仍然较低。采用JAVA/C婀吾言编写的目标代码反编译,可以得到与原始源代码完全相同或高度相似的代码,可读性较高。然而,反编译也是有条件的,当目标代码进行加密或加壳处理,反编译难度增加,甚至无法反编译。这时,要结合加密技术做具体技术处理。

--the end--
推荐阅读
    热点阅读

全流程服务

我们用八年经验积累服务每一位朋友

软件著作权侵权证据调查

侵权证据调查
固定民事侵权\刑事立案证据

软件源代码司法鉴定

司法鉴定
预鉴定提高鉴定精准度

侵犯计算机软件著作权罪公安报案立案

侵犯著作权罪公安立案
通过公安立案严厉打击刑事犯罪

网站主页
咨询我们