频道栏目
读书频道 > 安全 > 软件加密与解密
1.7.2 软件作者鉴别
2012-08-25 16:34:47     我来说两句
收藏   我要投稿

本文所属图书 > 软件加密与解密

本书介绍了如何利用混淆、水印和防篡改等技术,来保护软件免受盗版、篡改和恶意逆向工程的危害,主要内容包括攻击者和防御者用来分析程序的各种主流方法,如何使用代码混淆技术使程序更难以被分析和理解,如何在...  立即去当当网订购
软件作者鉴别(software forensics)就是要回答这样一个问题:“在这些程序员中,是谁编写了程序S?”为了回答这个问题,你必须先拿到所有可能编写程序S的程序员的代码样本,如图1-36所示。



图 1-36
从这些样本出发,你可以提取一些你认为可以唯一的标识每个程序员的特征,然后把这些特征和从程序S中提取出来的特征相比较,以图1-36为例,辨认的结果很可能就是图1-37中给出的这个样子,即程序S的作者最有可能是Axel,而不是Doris或者Carol。




图 1-37
图1-37中f是用来从程序中提取各类特征集的函数。实践中,特征集中一般都含有每行代码的长度、函数的大小或者花括号的位置等信息(尽管对这些特征能否准确地指明作者的身份这一点还有激烈的争论)。
尽管现在大多数的软件鉴别算法都是针对高级语言的源代码的,但研究针对二进制可执行文件的鉴别方法也是很有前途的。例如,FBI抓到了一名编写恶意软件的疑犯,他们可能想要把这名疑犯的编程风格和所有已知的病毒相比较,以便尽可能多地找到这家伙编写的病毒,进而在法庭上提供更多对他不利的证据。
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.7.1 代码剽窃
下一篇:1.7.3 软件“胎记”
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站