世上最完整的软件安全解释以及实例.pdf

世上最完整的软件安全解释以及实例.pdf

ID:58606962

大小:5.21 MB

页数:70页

时间:2020-10-18

世上最完整的软件安全解释以及实例.pdf_第1页
世上最完整的软件安全解释以及实例.pdf_第2页
世上最完整的软件安全解释以及实例.pdf_第3页
世上最完整的软件安全解释以及实例.pdf_第4页
世上最完整的软件安全解释以及实例.pdf_第5页
资源描述:

《世上最完整的软件安全解释以及实例.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、世上最完整的软件安全解释以及实例--------------------------------------------------------------------------作者:_____________--------------------------------------------------------------------------日期:_____________第2章软件安全本章介绍如何对应用软件进行保护:●简单实现软件的功能、时间、日期次数、路径限制;●软件的防拷贝方法;●软件的注册;●软件的补丁、汉化;●软件的防篡改、加密方法;●软件的加密。这

2、是本章涉及的问题。2.1软件安全概述软件安全(SoftwareSecurity)是指在软件在受到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。软件安全在于保护软件中的智力成果、知识产权不被非法使用,包括篡改及盗用等。研究的内容主要包括防止软件盗版、软件逆向工程、授权加密以及非法篡改等。采用的技术包括防篡改技术、授权加密技术等方法。共享软件是以“先试后买”的方式销售的具有版权的软件,根据软件开发者的授权,可以先免费下载试用共享软件的试用版本,认为满意后再通过本站向软件开发者付费成为注册用户,享用完整的功能和服务,共享软件的保护尤其涉及到本章的内容。

3、2.2共享软件功能限制共享软件常用的功能保护包括日期限制、按钮或菜单功能限制、连续运行时间限制、运行次数限制、设置水印等。1、日期限制通常的做法是安装程序预先将终止日期设置在某个位置,可以是注册表、磁盘受保护扇区、某个文件中。程序每次运行时,先检测日期。检测日期可以通过调用函数或取网络时间。1)取本机时间voidGetLocalTime(LPSYSTEMTIMElpSystemTime);lpSystemTime是一个SYSTEMTIME类型结构,可以得到本机的时间。2)获取网络时间用前面的方法提取时间,但用户可以修改时间,虽然我们可以HOOK函数SetLocalTime来禁

4、止修改时间,但还是可以通过BIOS时间。下面的代码使用套接字向网络时间服务器发送请求,获取时间。structNTP_Packet{intControl_Word;introot_delay;introot_dispersion;intreference_identifier;__int64reference_timestamp;__int64originate_timestamp;__int64receive_timestamp;inttransmit_timestamp_seconds;inttransmit_timestamp_fractions;};BOOLGetNet

5、Time(SYSTEMTIME&newtime){WORDwVersionRequested;WSADATAwsaData;//初始化版本wVersionRequested=MAKEWORD(1,1);if(0!=WSAStartup(wVersionRequested,&wsaData)){WSACleanup();returnFALSE;}if(LOBYTE(wsaData.wVersion)!=1

6、

7、HIBYTE(wsaData.wVersion)!=1){WSACleanup();returnFALSE;}//这个IP是中国大陆时间同步服务器地址,可自行修改SOCKE

8、Tsoc=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);structsockaddr_inaddrSrv;addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(123);NTP_PacketNTP_Send,NTP_Recv;NTP_Send.Control_Word=htonl(0x0B000000);NTP_Send.root_delay=0;NTP_Send.root_dispersion=0;NTP_Send.reference_identifier=0;NTP_Send.reference

9、_timestamp=0;NTP_Send.originate_timestamp=0;NTP_Send.receive_timestamp=0;NTP_Send.transmit_timestamp_seconds=0;NTP_Send.transmit_timestamp_fractions=0;if(SOCKET_ERROR==sendto(soc,(constchar*)&NTP_Send,sizeof(NTP_Send),0,(structsockaddr*)&addrSrv,sizeof(a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。