大小:64.48M
更新时间:23-08-30
系统:Pc
软件加密与解密是一本对抗软件盗版、篡改和恶意逆向工程的理论、技巧和工具,由 Christian Collberg和Jasvir Nagra两人共同编著,崔孝晨翻译。
本书详尽地介绍了软件加密与解密的相关技术,涵盖了计算机科学的各个相关领域,包括密码学、隐写术、水印、软件度量、逆向工程和编译优化等。
此外,作者通过大量的示例代码,向读者展示了代码混淆、软件水印、代码防篡改和“胎记”技术等保护算法的实现方式,并且从理论和实践两个角度探讨了这些技术的局限,适用于研究人员、在校学生,开发人员阅读。
在《软件加密与解密》中,作者试图把当前所有有关隐蔽软件的研究成果组织起来系统化地介绍给读者。他们力争每章内容涵盖一种技术,并描述这一技术的应用领域以及目前可用的算法。第1章将给出隐蔽软件这个领域的一些基本概念;第2章用对抗性演示的模式介绍黑客逆向分析软件时常用的工具和技巧,然后针对这些工具和技巧介绍如何防范黑客的攻击;第3章详细讲述黑客和软件保护方用于分析计算机程序的技术;第4章、第5章和第6章分别介绍与代码混淆有关的算法;第7章介绍与防篡改技术相关的算法;第8章和第9章分别介绍与水印相关的算法;第10章介绍与软件“胎记”相关的算法;第11章讲述基于硬件设备的软件保护技术。
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
对抗软件盗版、篡改和恶意逆向工程的理论、技巧和工具
近十年来,人们在软件防盗版和防篡改技术的研发上取得了重大进展。这些技术在保护软件开发人员的知识产权方面具有不可替代的作用。无论是研究人员、在校学生,还是开发人员,要了解这些技术及其能提供的安全级别和可能引发的性能开销,都可以从本书获得权威、全面的参考资料。
Christian Coliberg和Jasvir Nagra在书中详尽地介绍了相关技术,探讨了计算机科学的各个相关领域,包括密码学、隐写术、水印、软件度量、逆向工程和编译优化等。本书通过大量的示例代码,向读者展示了代码混淆、软件水印、代码防篡改和“胎记”技术等保护算法的实现方式,并且从理论和实践两个角度探讨了这些技术的局限。
涵盖的内容
◆攻击者和防御者用来分析程序的各种主要方法
◆代码混淆技术,用于提高程序被分析和理解的难度
◆软件水印和指纹,用于标识软件开发者并追踪盗版
◆代码防篡改技术,用于检测和响应非法修改代码和数据的行为,从而保护软件
◆动态水印和动态混淆技术,用于阻止软件的非法复制
◆软件相似性分析和“胎记”算法,用于检测代码剽窃
◆硬件技术,用于保护软件及各类媒体免遭盗版和篡改
◆在分布式系统中,检测远端不可信平台上运行的软件是否被篡改
◆代码混淆技术在理论上的局限性
对代码进行混淆处理的目的之一就是要让代码变得足够复杂,从而使攻击者放弃分析程序中的算法或者修改程序的尝试。但是万一Axel成功地突破了Doris的混淆保护,我们又该怎么办呢?Drois除了进行代码混淆之外,还可以对她的代码进行防纂改处理°。这也就是说,当Axel试图去修改Doris的程序时,程序会产生一些出乎Axel意料的行为:比如被破解的程序会拒绝运行,或者会随机地崩溃掉,更有甚者它会删掉Axel计算机中所有的文件,或者再绝一点,它会给Doris家里打个电话告诉她Axel正在破解她的程序……
通常,防篡改算法要完成两个基本任务。第一个任务是,它要能检查程序是否被修改。要做到这一点,一个常用的方法是计算代码的校验和,然后把这个检验和和正确的值相比较。另一个常用方法是通过检查一些变量的值去确认程序的状态是否处于一个正常范围之内R。
一旦发现代码被修改,防篡改算法就要去完成第二个任务,执行相应的反制措施。比如它可以让程序马上退出。不过这一点并不像它看上去那样容易做到——因为我们还要使这些代码不容易被黑客找到并删掉。比如说不能用下面这种代码:
if(tampering-detected()abort(
这段代码实在是不堪一击,因为黑客很容易就能找到使程序退出的代码(就是调用abort()函数的这句),接着黑客马上能从abort()函数出发找到检查代码是否被修改的函数。所以黑客很容易就能把它干掉!一个好的防篡改系统一定是把检测程序是否被修改的代码和反制代码放在程序的不同位置上,而且不会让它们像上面给出的代码那样顺序执行。
应用信息
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
oracle dba手记2数据库诊断案例与内部恢复实践34.8M盖国强pdf扫描版 oracle dba手记2是一本Oracle诊断案例和案例实践指南,全称叫做oracle dba手记2数据库诊断案例与内部恢复实践,是由数据库技术专家盖国强和爱好者崔华合著而成,集合了各行业DBA的工作经验与思考,包含了精心挑选的数据库诊断案例与数
查看
c#高级编程第10版172.94MChristian Nagel pdf扫描版 c#高级编程第10版是C#经典名著C#高级编程的第十个版本,本书由微软开发技术代言人Christian Nagel编著,李铭翻译。全书涵盖了充分利用升级功能,积极简化工作流程所需的全部信息。作者循序渐进地讲解了Visual Studio 2015、
查看
objective-c程序设计 第4版35.98M斯蒂芬pdf扫描版 objective-c程序设计 第4版是一本Objective-C程序设计指南,由斯蒂芬Stephen G. Kochan编著。本书是一本的Objective-C2.0参考书,详细介绍该语言的具体内容。全书用丰富而详实的实例讲解了如何使用Objec
查看
spring实战 第3版29.82Mpdf高清扫描版 Spring框架已经成为Java开发人员的必备知识,但是如何更好的学习呢?这里小编推荐大家阅读spring实战 第3版,这是一本java Spring开发的经典图书之一,由美国高级工程师Craig Walls编著。全文在继承了前两个畅销版本面向实战
查看
笨办法学ruby第3版1.38MZed A. Shaw pdf扫描版笨办法学ruby第3版是一本Ruby平台学习书籍,由美国程序员Zed A. Shaw编著。在这本书中,你将通过完成52个精心设计的习题来学习Ruby。阅读这些习题,输入代码(不许复制和粘贴),修正你的错误,观察程序的运行。在这个过程中,你将了解软件是如何
查看
C#程序设计及应用教程(第2版)28.33M马骏pdf扫描版 C#程序设计及应用教程(第2版)是一本C#语言程序设计和应用开发教程,由马骏编著。本书内容丰富简洁、对一些初学者比较难以理解的知识点,尽量用简洁、形象而又浅显易懂的语言来表达。比如泛型、接口、组件、特性、纹理、图形图像用法等。但书中的某些重点章节则
查看
oracle数据库精讲与疑难解析131.82M赵振平pdf扫描版 oracle数据库精讲与疑难解析是一本ORACLE数据库疑点难点解析书籍,由赵振平编著。本书内容丰富翔实,可以帮助用户们解决Oracle的大部分疑难问题如安装Oracle时,不能启动安装界面……、安装Oracle时,安装界面显示乱码……、数据库不能
查看
linux从入门到精通第2版104.07M刘忆智pdf扫描版 linux从入门到精通第2版是一本备受推崇的linux精品畅销书,由刘忆智等人共同编著,全书拥有内容丰富、讲解细腻、通俗易懂和实用性强等特色,以最新的Ubuntu 12.04为写作背景,详细的介绍了linux的基础应用、系统管理、网络应用、娱乐和办
查看
深入浅出android软件开发教程53.59M张雪梅高凯pdf扫描版 深入浅出android软件开发教程是一本学习Android程序设计非常实用的教材,由张雪梅和高凯两人共同编著。本书配有丰富的示例程序,讲解深入浅出,可以帮助初学者在较短的时间内掌握Android软件的开发方法。示例程序短小精悍,既能帮助读者理解知识
查看