相关概念的整理如下
本研究对软件抄袭的定义为攻击者(抄袭者)在对软件没有任何或很少了解的情况下花费很少的精力对软件代码实施的抄袭; 也就说抄袭者不会花时间破解或理解代码, 甚至完全没有任何代码知识, 而是通过专业工具或者很少的人工修改实施抄袭, 这也是目前研究人员关注的抄袭问题。
将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为,使得阅读的人无法根据名字猜测其用途。 重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归。
代码混淆器也会带来一些问题。主要的问题包括:
被混淆的代码难于理解,因此调试以及除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。对于支持反射的语言,代码混淆有可能与反射发生冲突。代码混淆并不能真正阻止反向工程,只能增大其难度。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。因为对寄存器静态水印概念不是特别理解,所以我又去看了另一篇论文,笔记如下
QP和QPS的方法
插入的信息转换为字节序列根据需要的字节序列,每两个顶点之间都连有一条边,特殊的边通过算法计算出来QP
通过图着色的方法插入数字签名但是在确切的环境下无法准确地提取出水印改进提出了QP
可以准确提出信息但是可以存入的信息非常短于是出现了本文研究的方法STC
可以准确提出信息可以存入任意长度的信息[1]田振洲,刘烃,郑庆华,佟菲菲,吴定豪,朱森存,陈恺.软件抄袭检测研究综述[J].信息安全学报,2016,1(03):52-76.
[2]LU XiaoCheng School of Computer Science and Technology Wuhan University of Technology Wuhan,China CHEN Zhiming School of Computer Science and Technology Wuhan University of Technology Wuhan,China. Software Watermarking Algorithm Based on Register Allocation[A]. Wuhan University of Technology、Hong Kong Lingnan University.Proceedings of the Ninth International Symposium on Distributed Computing and Applications to Business,Engineering and Science[C].Wuhan University of Technology、Hong Kong Lingnan University:武汉理工大学计算机科学与技术学院,2010:5.