一种Java软件水印虚方法中指令代码的生成方法

    公开(公告)号:CN104200139A

    公开(公告)日:2014-12-10

    申请号:CN201410467066.1

    申请日:2014-09-12

    Applicant: 南通大学

    CPC classification number: G06F21/16 G06F2221/07

    Abstract: 本发明涉及一种Java软件水印虚方法中指令代码的生成方法,基于BCEL类库,包括如下步骤:1)通过BCEL类库载入待嵌入指令的Java类文件,对所述类文件进行解析,转化成符合BCEL处理要求的Java类文件对象;2)从所述Java类文件对象中获取类文件的参数信息,所述参数信息包括类中的方法,再从获取的方法中找到并取出虚方法;3)根据获取的虚方法与参数信息创建一个新的虚方法,用于取代原先的虚方法;4)产生用于嵌入水印信息的指令代码,将它们添加到所述新虚方法的指令集合中;5)将所述新虚方法套入所述Java类文件中。有益效果为:利用本发明,可以通过计算机程序在虚方法中自动产生用于嵌入水印信息的指令代码,解决了以往需要专业人员人工编写,不具通用性,不便实际应用的问题。

    一种Java软件水印的嵌入方法

    公开(公告)号:CN103530536B

    公开(公告)日:2017-01-25

    申请号:CN201310464154.1

    申请日:2013-09-30

    Applicant: 南通大学

    Abstract: 一种Java软件水印的嵌入方法,包括水印嵌入:将水印信息按设定的规则进行编码,形成水印字符串;调用软件中具备共同特征的n个数据,并对所述数据按1至n进行编号;将所述水印字符串分为n组,分别按所述编号顺序依次与所述n个数据一一建立唯一对应的映射关系,形成一个码本文件;和水印提取:调用软件中所述具备共同特征的n个数据;对照所述码本文件,将所述每个数据所对应的各组字符串取出,并按其编号顺序拼接成水印字符串;根据设定的规则将所述水印字符串译码,得到水印信息。有益效果为:该方法嵌入和提取水印的过程除程序中的方法名外不涉及任何具体的程序代码,隐蔽性强,可以抵抗多种常见的针对软件水印的攻击。

    一种Java软件水印虚方法中指令代码的生成方法

    公开(公告)号:CN104200139B

    公开(公告)日:2017-11-24

    申请号:CN201410467066.1

    申请日:2014-09-12

    Applicant: 南通大学

    Abstract: 本发明涉及一种Java软件水印虚方法中指令代码的生成方法,基于BCEL类库,包括如下步骤:1)通过BCEL类库载入待嵌入指令的Java类文件,对所述类文件进行解析,转化成符合BCEL处理要求的Java类文件对象;2)从所述Java类文件对象中获取类文件的参数信息,所述参数信息包括类中的方法,再从获取的方法中找到并取出虚方法;3)根据获取的虚方法与参数信息创建一个新的虚方法,用于取代原先的虚方法;4)产生用于嵌入水印信息的指令代码,将它们添加到所述新虚方法的指令集合中;5)将所述新虚方法套入所述Java类文件中。有益效果为:利用本发明,可以通过计算机程序在虚方法中自动产生用于嵌入水印信息的指令代码,解决了以往需要专业人员人工编写,不具通用性,不便实际应用的问题。

    一种Java软件水印的嵌入方法

    公开(公告)号:CN103530536A

    公开(公告)日:2014-01-22

    申请号:CN201310464154.1

    申请日:2013-09-30

    Applicant: 南通大学

    Abstract: 一种Java软件水印的嵌入方法,包括水印嵌入:将水印信息按设定的规则进行编码,形成水印字符串;调用软件中具备共同特征的n个数据,并对所述数据按1至n进行编号;将所述水印字符串分为n组,分别按所述编号顺序依次与所述n个数据一一建立唯一对应的映射关系,形成一个码本文件;和水印提取:调用软件中所述具备共同特征的n个数据;对照所述码本文件,将所述每个数据所对应的各组字符串取出,并按其编号顺序拼接成水印字符串;根据设定的规则将所述水印字符串译码,得到水印信息。有益效果为:该方法嵌入和提取水印的过程除程序中的方法名外不涉及任何具体的程序代码,隐蔽性强,可以抵抗多种常见的针对软件水印的攻击。

    一种Java软件水印植入虚方法的永假式构造方法

    公开(公告)号:CN103714271B

    公开(公告)日:2016-10-26

    申请号:CN201310459225.9

    申请日:2013-09-30

    Applicant: 南通大学

    Abstract: 一种Java软件水印植入虚方法的永假式构造方法,包括调用软件中具备共同特征的数据;对每一所述数据进行编码,将所述编码进行设定的计算,使得计算的恒定值为零并作为该永假式的值。本发明的有益效果在于:将Java反射机制、动态随机产生0、1串和正反码编解码等技术手段有机的结合使用,使得通过本发明构造的虚方法具有很好的隐蔽性,不易被察觉和发现,同时可以有效抵抗包括语义变换攻击、统计攻击、代码增减攻击和单步跟踪调试攻击等多种常见的针对软件水印的攻击。

    一种Java软件水印植入虚方法的永假式构造方法

    公开(公告)号:CN103714271A

    公开(公告)日:2014-04-09

    申请号:CN201310459225.9

    申请日:2013-09-30

    Applicant: 南通大学

    Abstract: 一种Java软件水印植入虚方法的永假式构造方法,包括调用软件中具备共同特征的数据;对每一所述数据进行编码,将所述编码进行设定的计算,使得计算的恒定值为零并作为该永假式的值。本发明的有益效果在于:将Java反射机制、动态随机产生0、1串和正反码编解码等技术手段有机的结合使用,使得通过本发明构造的虚方法具有很好的隐蔽性,不易被察觉和发现,同时可以有效抵抗包括语义变换攻击、统计攻击、代码增减攻击和单步跟踪调试攻击等多种常见的针对软件水印的攻击。

Patent Agency Ranking