CN109542508A - 一种基于函数调用关系图的代码同源性分析方法 - Google Patents

一种基于函数调用关系图的代码同源性分析方法 Download PDF

Info

Publication number
CN109542508A
CN109542508A CN201811212440.8A CN201811212440A CN109542508A CN 109542508 A CN109542508 A CN 109542508A CN 201811212440 A CN201811212440 A CN 201811212440A CN 109542508 A CN109542508 A CN 109542508A
Authority
CN
China
Prior art keywords
function
code
function call
relationship graph
degree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811212440.8A
Other languages
English (en)
Other versions
CN109542508B (zh
Inventor
付才
张哲畅
胡启宬
韩兰胜
刘铭
崔永泉
骆婷
汤学明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201811212440.8A priority Critical patent/CN109542508B/zh
Publication of CN109542508A publication Critical patent/CN109542508A/zh
Application granted granted Critical
Publication of CN109542508B publication Critical patent/CN109542508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于函数调用关系图的代码同源性分析方法,包括以:基于代码的函数调用关系图生成母图;计算函数调用关系图与母图之间的相对编辑距离、函数调用关系图对应矩阵的半方差值、函数调用关系图的度分布有序值;基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。相对编辑距离从程序组织的角度进行代码同源性分析,判断程序整体的有序性和无序性;半方差值从代码逻辑的角度进行代码同源性分析,判断程序编写者的深度优先或广度优先编写习惯;度分布有序值从统计学的角度进行代码同源性分析,判断程序的调用次数分布。通过综合三种指标,区分功能函数的设计和调用特征,在代码溯源领域有较优的表现。

Description

一种基于函数调用关系图的代码同源性分析方法
技术领域
本发明属代码溯源技术领域,更具体地,涉及一种基于函数调用关系图的代码同源性分析方法。
背景技术
目前针对恶意代码的研究主要分为一维研究和多维研究。一维研究主要包括静态分析与多数动态分析,仅针对恶意代码本身,检测局限性较为明显。多维研究是目前研究的主要趋势,包括执行特征、传播特征和通信特征等。目前有学者将恶意代码研究投入到恶意代码溯源的领域,通过分析恶意代码各类行为社会特征,判定恶意代码同源性,从而区分编写者,为犯罪调查提供证据或对实时恶意代码持续跟踪。
专利CN104933365A公开了一种基于调用习惯的恶意代码自动化同源判定方法及系统,该方法依据定义的7类WinAPI调用特征项,基于某作者的恶意代码样本集,构建该作者调用习惯模型并选择判定阈值,进而判定待测样本是否同源。具体包括两个阶段:学习阶段与判定阶段。其中学习阶段基于特定作者的样本集构建该作者的编程习惯模型与选择同源判定阈值,主要步骤包括:特征提取、习惯模型构建、同源度计算、阈值选择;判定阶段依据学习阶段构建的编程习惯模型与选择的阈值,判定待测样本是否与训练样本集同源。
然而,现有的代码同源性分析方法均未考虑将代码特征与代码编写行为联系起来。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于函数调用关系图的代码同源性分析方法,其将代码特征与代码编写行为联系起来,旨在为代码挖掘取证、同源性分析提供新思路,也同时对代码特征提炼研究提供理论支持。
为实现上述目的,本发明实施例提供了一种基于函数调用关系图的代码同源性分析方法,该方法包括以下步骤:
S1.基于代码的函数调用关系图,生成函数调用关系图的母图;
S2.计算函数调用关系图与母图之间的相对编辑距离、函数调用关系图对应矩阵的半方差值、函数调用关系图的度分布有序值;
S3.基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。
具体地,所述基于代码的函数调用关系图,生成函数调用关系图的母图为:
按广度优先遍历函数调用关系图,在遍历过程中对图进行操作,即第一次寻到某函数时标记该函数所在层数,即可得到母图。
具体地,计算函数调用关系图与母图之间的相对编辑距离,包括以下步骤:
(1)编辑距离DE初始为0;
(2)从函数调用关系图的顶层开始,依次检查每个层次所有节点的子节点,当前检查层次记为1,每检查到函数调用关系图中的一个1层节点的子节点对应到母图中的层数不是1+1层,则编辑距离DE增加1;
(3)按照层次遍历所有节点,得到编辑距离DE
(4)基于编辑距离DE,按照下列公式计算相对编辑距离DRE
式中,n为函数的总个数。
具体地,计算函数调用关系图对应矩阵的半方差值,包括以下步骤:
(1)基于函数调用关系图,生成函数调用矩阵Xn×n
(2)计算函数调用矩阵的半方差值γ;
式中,h为每一步计算的距离值,取值范围为N(h)为抽样间隔等于h时的点对数,n为函数的总个数,Xi,j为函数调用矩阵Xn×n第i行第j列矩阵元素。
具体地,所述基于函数调用关系图,生成函数调用矩阵Xn×n,具体如下:
(1)按照代码的编写顺序的先后,将函数升序地定义为函数调用矩阵的列名、行名;
(2)根据函数调用关系图,判断第i行对应的函数是否调用了第j列对应的函数,若是,则矩阵元素Xi,j为1;否则,矩阵元素Xi,j为0。
具体地,计算函数调用关系图的度分布有序值,包括以下步骤:
(1)计算每个函数节点的平均调用次数及泊松函数调用度分布;
函数节点平均调用次数的计算公式如下:
式中,分别为函数i的出度和入度,n为总函数个数;
函数节点的泊松函数调用度分布如下:
式中,P(δ=k)表示函数节点出度和入度之和为k时的概率值;
(2)计算每个函数节点的实际调用次数和总体实际调用度分布;
统计每个函数调用和被调用次数相加得到该函数的实际调用次数;统计实际调用次数相同的函数的个数,分别除以所有的函数个数,得到不同实际调用次数的函数出现的频率;依照计算的频率可得到实际调用度分布;
(3)将泊松函数调用度分布和总体实际调用度分布画在同一坐标系上,计算两条曲线空白面积ΔS。
具体地,只绘制函数节点的出度入度之和不大于15的曲线,对于大于15的概率统一置为0。
具体地,基于相对编辑距离分析代码同源性的方式如下:相对编辑距离越小,函数调用关系图与母图的相似性越高,程序的层次性越好,从代码的逻辑角度认为它更清晰;反之,函数调用关系图与母图之间的相似性越低,那么函数调用的层次性越差,从代码的逻辑角度认为它更混乱。
具体地,基于半方差值分析代码同源性的方式如下:
当函数总数n在1×101~1×102之间时,若半方差值γ<5×10-3,认为该代码的编写者属于广度优先编写者,若半方差值γ>7.5×10-3,认为该代码的编写者属于深度优先编写者;
当函数总数n在5×102~2.5×103之间时,若半方差值γ<5×10-4,认为该代码的编写者属于广度优先编写者,若半方差值γ>7.5×10-4,认为该代码的编写者属于深度优先编写者。
具体地,基于度分布有序值分析代码同源性的方式如下:
已知的开发者开发的数个程序的度分布有序值序列的平均值为Sa,那么,对于一个未知程序的度分布有序值Sx,如果|Sx-Sa|≤0.1,则可以判定该未知程序的编写者与已知的开发者在函数调用频次角度使用了相同的编码方式,偏向于认为该未知程序由已知的开发者编写;如果|Sx-Sa|>0.2,则可以判定该未知程序的编写风格与已知的开发者有很大差异,偏向于认为该未知程序不由已知的开发者编写。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。相对编辑距离从程序组织的角度进行代码同源性分析,判断程序整体的有序性和无序性;半方差值从代码逻辑的角度进行代码同源性分析,判断程序编写者的深度优先或广度优先编写习惯;度分布有序值从统计学的角度进行代码同源性分析,判断程序的调用次数分布。通过综合三种指标,区分功能函数的设计和调用特征,在代码溯源领域有较优的表现。
附图说明
图1为本发明实施例提供的一种基于函数调用关系图的代码同源性分析方法流程图;
图2(a)为本发明实施例提供的深度优先编写习惯的示意图;
图2(b)为本发明实施例提供的广度优先编写习惯的示意图;
图3(a)为本发明实施例提供的DFC调用矩阵及半方差示意图;
图3(b)为本发明实施例提供的BFC调用矩阵及半方差示意图;
图4为本发明实施例提供的泊松函数调用度分布和总体实际调用度曲线图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明实施例提供的一种基于函数调用关系图的代码同源性分析方法流程图。如图1所示,该方法包括以下步骤:
S1.基于代码的函数调用关系图,生成函数调用关系图的母图;
S2.计算函数调用关系图与母图之间的相对编辑距离、函数调用关系图对应矩阵的半方差值、函数调用关系图的度分布有序值;
S3.基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。
步骤S1.基于函数调用关系图生成函数调用关系图的母图(以后都简称为母图)。
程序是由函数和函数调用关系组成的,以函数为节点,以函数调用关系为边,生成有向图,即为函数调用关系图。
母图为本发明定义的一种特殊的函数调用关系图,它是假定的最标准的函数调用关系图,即不存在兄弟互相调用以及孩子调用父亲节点的情况。其生成方法如下:按广度优先遍历函数调用关系图,在遍历过程中对图进行操作,即第一次寻到某节点时标记该节点的层数,即可得到母图。
步骤S2.计算函数调用关系图与母图之间的相对编辑距离、函数调用关系图对应矩阵的半方差值、函数调用关系图的度分布有序值。
程序的组织有混乱和有序之分。理想情况下,代码的运行是以main函数为入口,一层一层往下调用的,那么函数的调用关系将会是一个树形结构。然而,函数的调用关系并不会如此理想,兄弟节点可能会互相调用,也有可能孩子节点调用父亲节点,以上情况都会导致函数调用关系的混乱。由此,引出了第一个指标——相对编辑距离,用于判断函数调用关系图与母图的相似程度。相对编辑距离越小,函数调用关系图与母图的相似性越高,程序的层次性越好,从代码的逻辑角度认为它更清晰;反之,函数调用关系图与母图之间的相似性越低,那么函数调用的层次性越差,从代码的逻辑角度认为它更混乱。相对编辑距离可从程序组织的角度,判断程序整体的有序性和无序性,进而可以从程序组织的角度进行代码特征分析,区分编写者。编辑距离指的是由一个图转化为另一个图所需要的最小变化。
相对编辑编辑距离DRE的计算方法如下:
(1)编辑距离DE初始为0。
(2)从函数调用关系图的顶层开始,依次检查每个层次所有节点的子节点,当前检查层次记为1,每检查到函数调用关系图中的一个1层节点的子节点对应到母图中的层数不是1+1层,则编辑距离DE增加1。
函数调用关系图的顶层对应入口函数main。
(3)按照层次遍历所有节点,得到编辑距离DE
(4)基于编辑距离DE,按照下列公式计算相对编辑距离DRE
式中,n为函数的总个数。
不同的程序员有不同的代码编写习惯,本发明以深度优先编写和广度优先编写两种编写习惯来区别不同的编写者。以main函数调用f(x)、g(x)和h(x),f(x)函数调用m(x),g(x)函数调用p(x)、n(x)为例,说明不同编写者的编写习惯。图2(a)为本发明实施例提供的深度优先编写习惯的示意图。如图2(a)所示,深度优先编者偏好从高层函数一直写完所需要的所有底层函数,其编写顺序为:main->f(x)->m(x)->g(x)->p(x)->n(x)->h(x)。图2(b)为本发明实施例提供的广度优先编写习惯的示意图。如图2(b)所示,广度优先编者偏好在高层函数需要调用低层函数时,一次编写相同层别的所有函数,其编写顺序为:main->f(x)->g(x)->h(x)->m(x)->p(x)->n(x)。
反映到函数调用矩阵上,可以用半方差值来体现两者的区别。半方差值可从代码逻辑的角度,判断程序编写者的深度优先或广度优先编写习惯。深度优先编者的半方差值相对较大,而广度优先编者的半方差值相对较小,由此可以进行编写者的偏好编写习惯的判别。
计算函数调用关系图对应矩阵的半方差值,包括以下步骤:
(1)基于函数调用关系图,生成函数调用矩阵Xn×n
函数调用矩阵中的行列依照函数排布生成,函数排布由函数的编写顺序决定。具体如下:
①按照代码的编写顺序的先后,将函数升序地定义为函数调用矩阵的列名、行名。
代码的编写顺序可通过反编译等方式获得。图2(a)中的编写顺序为:main->f(x)->m(x)->g(x)->p(x)->n(x)->h(x),对应的图3(a)中,列名依次为main、f(x)、m(x)、g(x)、p(x)、n(x)、h(x)。
②根据函数调用关系图,判断第i行对应的函数是否调用了第j列对应的函数,若是,则矩阵元素Xi,j为1;否则,矩阵元素Xi,j为0。
(2)计算函数调用矩阵的半方差值γ;
式中,h为每一步计算的距离值,取值范围为N(h)为抽样间隔等于h时的点对数,n为函数的总个数,Xi,j为函数调用矩阵Xn×n第i行第j列矩阵元素。
图3(a)为本发明实施例提供的DFC调用矩阵及半方差示意图,图3(b)为本发明实施例提供的BFC调用矩阵及半方差示意图。如图3(a)、3(b)所示,倾向于深度优先编写的编写者矩阵中的1相对分散,使得半方差值较大;而倾向于广度优先编写的编写者矩阵中的1相对集中,使得半方差值较小。
将不同的半方差值映射成不同的编码逻辑特征,当函数总数n在1×101~1×102左右的时候,若半方差值γ<5×10-3,认为属于广度优先编写者;若半方差值γ>7.5×10-3,认为属于深度优先编写者。当函数总数n在5×102~2.5×103左右的时候,若半方差值γ<5×10-4,认为属于广度优先编写者,若半方差值γ>7.5×10-4,认为属于深度优先编写者。
在分析有开发团队编写的程序时,由于函数的调用受到开发人员习惯和具体功能需求的影响,一般调用次数不会呈现随机分布。基于这个观点本次研究可以对函数的度分布进行分析,计算函数的度分布与泊松分布之间的差距,假设不同的开发人员写出的程序差距是不同的,那么这个差距就能被用于区分开发团队的人员信息。
度分布有序值为同一坐标系下函数调用关系图中节点度分布的统计图和以函数调用关系图中节点平均度为数学期望的泊松分布统计图之间的面积差。度分布有序值可以从统计学的角度,区分功能函数的设计和调用特征。
计算函数调用关系图的度分布有序值,包括以下步骤:
(1)计算每个函数节点的平均调用次数及泊松函数调用度分布;
函数节点平均调用次数的计算公式如下:
式中,分别为函数i的出度和入度,n为总函数个数;
函数节点的泊松函数调用度分布如下:
式中,P(δ=k)表示函数节点出度和入度之和为k时的概率值;
(2)计算每个函数节点的实际调用次数和总体实际调用度分布;
统计每个函数调用和被调用次数相加得到该函数的实际调用次数;统计实际调用次数相同的函数的个数,分别除以所有的函数个数,得到不同实际调用次数的函数出现的频率;依照计算的频率可得到实际调用度分布;
(3)将泊松函数调用度分布和总体实际调用度分布画在同一坐标系上,计算两条曲线空白面积ΔS。
具体地,只绘制函数节点的出度入度之和不大于15的曲线,对于大于15的概率统一置为0。
图4为本发明实施例提供的泊松函数调用度分布和总体实际调用度曲线图。如图4所示,横坐标为出入度之和δ,纵坐标为当出入度之和δ为k时的概率值/频率值。按照图2(a)的函数调用情况,统计每个函数的出度和入度之和,按照公式计算得到的值为12/7,代入泊松分布计算公式可以得到图4中实线“泊松分布计算值”曲线。统计出入度之和相同的函数个数,由此可以得到图4中虚线“节点度分布统计值”曲线。两个曲线的面积差即是由两条曲线围成或者由两条曲线和坐标轴围成的部分的面积。
度分布有序值ΔS的范围在[0,2]区间内,该值用于描述编写者在调用函数频率上的习惯特征。一般来说,相近的度分布有序值说明了编写者的编码习惯相近,假如获得了由某一开发者开发的数个程序的度分布有序值序列,假设该序列的平均值为Sa,那么对于一个未知程序的度分布有序值Sx,如果|Sx-Sa|≤0.1,则可以判定该未知程序的编写者与已知开发者在函数调用频次角度使用了相同的编码方式,如果条件充足,则偏向于认为该未知程序由已知开发者编写;如果|Sx-Sa|>0.2,则可以判定该未知程序的编写风格与已知开发者有很大差异,如果条件充足,则偏向于认为该未知程序不由已知开发者编写。
步骤S3.基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。
单独的基于相对编辑距离、半方差值、度分布有序值三者的中一个,分析代码同源性,在前面已经描述,不再重复。也可以通过加权等方式选择两种或三种共同分析代码同源性。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于函数调用关系图的代码同源性分析方法,其特征在于,该方法包括以下步骤:
S1.基于代码的函数调用关系图,生成函数调用关系图的母图;
S2.计算函数调用关系图与母图之间的相对编辑距离、函数调用关系图对应矩阵的半方差值、函数调用关系图的度分布有序值;
S3.基于相对编辑距离、半方差值、度分布有序值三者的中至少一个,分析代码同源性。
2.如权利要求1所述的代码同源性分析方法,其特征在于,所述基于代码的函数调用关系图,生成函数调用关系图的母图为:
按广度优先遍历函数调用关系图,在遍历过程中对图进行操作,即第一次寻到某函数时标记该函数所在层数,即可得到母图。
3.如权利要求1所述的代码同源性分析方法,其特征在于,计算函数调用关系图与母图之间的相对编辑距离,包括以下步骤:
(1)编辑距离DE初始为0;
(2)从函数调用关系图的顶层开始,依次检查每个层次所有节点的子节点,当前检查层次记为1,每检查到函数调用关系图中的一个1层节点的子节点对应到母图中的层数不是l+1层,则编辑距离DE增加1;
(3)按照层次遍历所有节点,得到编辑距离DE
(4)基于编辑距离DE,按照下列公式计算相对编辑距离DRE
式中,n为函数的总个数。
4.如权利要求1所述的代码同源性分析方法,其特征在于,计算函数调用关系图对应矩阵的半方差值,包括以下步骤:
(1)基于函数调用关系图,生成函数调用矩阵Xn×n
(2)计算函数调用矩阵的半方差值γ;
式中,h为每一步计算的距离值,取值范围为N(h)为抽样间隔等于h时的点对数,n为函数的总个数,Xi,j为函数调用矩阵Xn×n第i行第j列矩阵元素。
5.如权利要求4所述的代码同源性分析方法,其特征在于,所述基于函数调用关系图,生成函数调用矩阵Xn×n,具体如下:
(1)按照代码的编写顺序的先后,将函数升序地定义为函数调用矩阵的列名、行名;
(2)根据函数调用关系图,判断第i行对应的函数是否调用了第j列对应的函数,若是,则矩阵元素Xi,j为1;否则,矩阵元素Xi,j为0。
6.如权利要求1所述的代码同源性分析方法,其特征在于,计算函数调用关系图的度分布有序值,包括以下步骤:
(1)计算每个函数节点的平均调用次数及泊松函数调用度分布;
函数节点平均调用次数的计算公式如下:
式中,分别为函数i的出度和入度,n为总函数个数;
函数节点的泊松函数调用度分布如下:
式中,P(δ=k)表示函数节点出度和入度之和为k时的概率值;
(2)计算每个函数节点的实际调用次数和总体实际调用度分布;
统计每个函数调用和被调用次数相加得到该函数的实际调用次数;统计实际调用次数相同的函数的个数,分别除以所有的函数个数,得到不同实际调用次数的函数出现的频率;依照计算的频率可得到实际调用度分布;
(3)将泊松函数调用度分布和总体实际调用度分布画在同一坐标系上,计算两条曲线空白面积ΔS。
7.如权利要求6所述的代码同源性分析方法,其特征在于,只绘制函数节点的出度入度之和不大于15的曲线,对于大于15的概率统一置为0。
8.如权利要求1所述的代码同源性分析方法,其特征在于,基于相对编辑距离分析代码同源性的方式如下:相对编辑距离越小,函数调用关系图与母图的相似性越高,程序的层次性越好,从代码的逻辑角度认为它更清晰;反之,函数调用关系图与母图之间的相似性越低,那么函数调用的层次性越差,从代码的逻辑角度认为它更混乱。
9.如权利要求1所述的代码同源性分析方法,其特征在于,基于半方差值分析代码同源性的方式如下:
当函数总数n在1×101~1×102之间时,若半方差值γ<5×10-3,认为该代码的编写者属于广度优先编写者,若半方差值γ>7.5×10-3,认为该代码的编写者属于深度优先编写者;
当函数总数n在5×102~2.5×103之间时,若半方差值γ<5×10-4,认为该代码的编写者属于广度优先编写者,若半方差值γ>7.5×10-4,认为该代码的编写者属于深度优先编写者。
10.如权利要求1所述的代码同源性分析方法,其特征在于,基于度分布有序值分析代码同源性的方式如下:
已知的开发者开发的数个程序的度分布有序值序列的平均值为Sa,那么,对于一个未知程序的度分布有序值Sx,如果|Sx-Sa|≤0.1,则可以判定该未知程序的编写者与已知的开发者在函数调用频次角度使用了相同的编码方式,偏向于认为该未知程序由已知的开发者编写;如果|Sx-Sa|>0.2,则可以判定该未知程序的编写风格与已知的开发者有很大差异,偏向于认为该未知程序不由已知的开发者编写。
CN201811212440.8A 2018-10-18 2018-10-18 一种基于函数调用关系图的代码同源性分析方法 Active CN109542508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811212440.8A CN109542508B (zh) 2018-10-18 2018-10-18 一种基于函数调用关系图的代码同源性分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811212440.8A CN109542508B (zh) 2018-10-18 2018-10-18 一种基于函数调用关系图的代码同源性分析方法

Publications (2)

Publication Number Publication Date
CN109542508A true CN109542508A (zh) 2019-03-29
CN109542508B CN109542508B (zh) 2020-12-29

Family

ID=65844203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811212440.8A Active CN109542508B (zh) 2018-10-18 2018-10-18 一种基于函数调用关系图的代码同源性分析方法

Country Status (1)

Country Link
CN (1) CN109542508B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111240696A (zh) * 2020-01-09 2020-06-05 中国科学院深圳先进技术研究院 移动恶意程序相似模块提取方法
CN112732681A (zh) * 2021-04-01 2021-04-30 壹药网科技(上海)股份有限公司 数据平台迁移方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074035A1 (en) * 2011-09-20 2013-03-21 Nec Corporation Source code comparison device, source code comparison method and source code comparison program
CN104866765A (zh) * 2015-06-03 2015-08-26 康绯 基于行为特征相似性的恶意代码同源性分析方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130074035A1 (en) * 2011-09-20 2013-03-21 Nec Corporation Source code comparison device, source code comparison method and source code comparison program
CN104866765A (zh) * 2015-06-03 2015-08-26 康绯 基于行为特征相似性的恶意代码同源性分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李宇航: "安卓应用代码的纹理特征分析", 《万方学位论文》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111240696A (zh) * 2020-01-09 2020-06-05 中国科学院深圳先进技术研究院 移动恶意程序相似模块提取方法
CN112732681A (zh) * 2021-04-01 2021-04-30 壹药网科技(上海)股份有限公司 数据平台迁移方法及系统
CN112732681B (zh) * 2021-04-01 2021-06-08 壹药网科技(上海)股份有限公司 数据平台迁移方法及系统

Also Published As

Publication number Publication date
CN109542508B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN102831057B (zh) 一种用功能图分析软件功能变更及其影响的方法
CN104715073B (zh) 基于改进Apriori算法的关联规则挖掘系统
Xia et al. Research in clustering algorithm for diseases analysis
Roberts An introductory primer on multilevel and hierarchical linear modeling.
CN108710914A (zh) 一种基于广义模糊聚类算法的无监督数据分类方法
CN108952699B (zh) 一种复杂地质钻进过程地层岩性智能识别方法
Read Intuitive typology and automatic classification: Divergence or full circle?
Wartenberg et al. Solving the cluster puzzle: clues to follow and pitfalls to avoid
Warnars Mining patterns with attribute oriented induction
CN109542508A (zh) 一种基于函数调用关系图的代码同源性分析方法
Costa et al. A fair comparison between the spatial scan and the Besag–Newell Disease clustering tests
Aher et al. Best combination of machine learning algorithms for course recommendation system in e-learning
CN109271546A (zh) 图像检索特征提取模型建立、数据库建立及检索方法
Kolb Learning constraints and optimization criteria
CN106226817A (zh) 基于连续平行坐标的多属性地震数据可视化方法
Aurisano et al. Visual Analytics for Ontology Matching Using Multi-linked Views.
Yan et al. The self-adaptive integrated algorithm on time-sensitive cluster evolution tracking
Singh et al. Performance analysis of faculty using data mining techniques
CN115310606A (zh) 基于数据集敏感属性重构的深度学习模型去偏方法及装置
Zeitz et al. Bringing interactive visual analytics to the classroom for developing EDA skills
Abdullah et al. Discovering interesting association rules from student admission dataset
CN107577681A (zh) 一种基于社交媒体图片的地域分析、推荐方法及系统
Kľúčik Introducing new tool for official statistics: genetic programming
Millan Valldeperas et al. Using machine learning techniques for architectural design tracking: An experimental study of the design of a shelter
Zhang Visual cluster analysis in data mining

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant