System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种usb软件代码保护器及保护方法,属于计算机软件安全。
技术介绍
1、随着计算机技术的快速发展,计算机软件的重要性越来越突出。计算机软件的一系列安全问题,严重影响了软件行业的健康发展。不法分子可能利用软件逆向分析来获取程序执行过程中的信息。
2、软件调试技术是软件逆向分析的重要手段之一。攻击者通过调试程序,进而获取该程序执行过程中的信息,以达到逆向分析的目的。为了应对软件调试技术,可以采取反调试技术。反调试技术是通过检测受保护的程序是否处于调试运行状态,如果是,则采取反制措施的一种软件保护技术。已有的反调试技术包括直接检测式、间接推断式和调试器探测三种类型。
3、但是,现有的反调试技术都是在主机端实施,攻击者在明确靶机的情况下对主机软件进行调试,增加了调试成功的可能性,使得主机软件的安全性难以得到保证。例如,中国专利申请cn115455381a公开了一种软件反调试保护方法、装置、设备及介质,通过反调试汇编代码,可以提高软件反调试保护的复杂度,无需直接触发调试异常;中国专利cn112035803b公开了一种基于windows平台软件的保护方法及装置,对目标程序进行加壳处理,生成加壳后的程序文件;响应于密码输入指令,对加壳后的程序文件进行反调试判断。
4、但是,现有的这些技术,其反调试防护过程同样均是在主机端实施,在靶机明确的情况下仍然存在一定的风险。
技术实现思路
1、本专利技术的目的是针对现有技术存在的问题和不足,创造性地提出一种
2、一方面,本专利技术提出了一种usb软件代码保护器,包括保护器本体、保护软件和扩展程序。
3、保护器本体通过usb接口与计算机主机连接。
4、保护器本体包括处理器、存储器、输入模块、输出模块、输入接口和输出接口;
5、其中,处理器用于控制usb软件代码保护器的工作流,协助计算机主机完成反调试功能;
6、存储器用于存储保护软件和usb软件代码保护器的扩展程序,保护软件用于执行反调试监视;
7、输入模块用于接收计算机主机应用程序指令;
8、输出模块用于向计算机主机应用程序输出指令;输出模块带有显示结构,用于实时显示usb软件代码保护器的工作状态。
9、输入接口作为输入模块与计算机主机之间的接口;
10、输出接口作为输出接口与计算机主机之间的接口;
11、其中,处理器分别与存储器、输入模块和输出模块双向连接,存储器分别与输入模块的输出端、输出模块的输入端连接,输入接口与输入模块的输入端连接,输出接口与输出模块的输出端连接。
12、保护软件和扩展程序作为固件,存储于usb软件代码保护器的存储器中。保护软件可以是已有的、但不局限于反调试技术的软件,其保护方式包括直接检测式、间接推断式和调试器探测等。
13、保护软件和扩展程序所实现的功能包括:与计算机主机进行信息交互、监视计算机主机目标应用程序是否处于被调试状态。
14、通过扩展了usb外部设备的固件功能,利用usb软件代码保护器协助计算机主机完成反调试任务。扩展程序便于扩展usb软件代码保护器的其他功能。
15、另一方面,本专利技术提出了一种采用上述usb软件代码保护器的保护方法,包括以下步骤:
16、步骤1:将usb软件代码保护器通过usb接口连接到计算机主机上;
17、步骤2:对usb软件代码保护器进行初始化;
18、步骤3:计算机主机启动需保护的目标应用程序,并指定usb软件代码保护器对目标应用程序进行反调试保护;
19、步骤4:usb软件代码保护器中的保护软件启动并开始运行;
20、步骤5:usb软件代码保护器与计算机主机进行信息交互,通过保护软件对目标应用程序进行反调试监视,如果usb软件代码保护器识别到计算机主机被保护的目标应用程序处于调试运行状态,则执行步骤6;否则,usb软件代码保护器继续对计算机主机进行监视;
21、步骤6:通知计算机主机目标应用程序处于调试运行状态;
22、步骤7:计算机主机收到通知后,终止目标应用程序运行并采取保护措施。
23、该保护措施可以为针对软件调试的各类现有的保护方式,也可以通过人工进行干预。
24、进一步地,计算机主机通过读写usb软件代码保护器存储器指定扇区的方式,控制usb软件代码保护器执行相关的保护软件和扩展程序,并返回执行结果。
25、进一步地,在步骤5中,保护软件采用基于时间检测的间接推断方法对目标应用程序进行反调试监测。
26、其中,基于时间检测的间接推断方法为:监测目标应用程序关键代码的运行时间,与提前设置好的运行时间阈值进行比较,利用运行时间的差异大小判断目标应用程序是否处于调试状态。
27、进一步地,采用计时器来监测目标应用程序关键代码的运行时间。
28、有益效果
29、本专利技术,对比现有技术,具有以下优点:
30、1.本专利技术在usb软件代码保护器中设置了保护程序,通过扩展usb外部设备的固件功能的方式,利用usb软件代码保护器协助计算机主机共同完成反调试的任务。usb设备对于攻击者来说具有一定隐蔽性,可使得攻击者无法通过调试软件进行逆向分析,更无法判断读写usb软件代码保护器中存储器的指定扇区会触发某些预设功能,因此这种反调试的方法相比直接在计算机主机上实施反调试要更加隐蔽和安全,从而能够更有效保护主机软件的安全。
31、2.本专利技术设计的usb软件代码保护器的便携性高,适用范围更广,可以更为方便的对计算机主机或其他能够进行usb连接的设备进行反调试保护。
本文档来自技高网...【技术保护点】
1.一种USB软件代码保护器,其特征在于,包括保护器本体和扩展程序;
2.如权利要求1所述保护器的保护方法,其特征在于,包括以下步骤:
3.如权利要求2所述保护器的保护方法,其特征在于,计算机主机通过读写USB软件代码保护器存储器指定扇区的方式,控制USB软件代码保护器执行相关的保护软件和扩展程序,并返回执行结果。
4.如权利要求2所述保护器的保护方法,其特征在于,在步骤5中,保护软件采用基于时间检测的间接推断方法对目标应用程序进行反调试监测;
5.如权利要求2所述保护器的保护方法,其特征在于,采用计时器来监测目标应用程序关键代码的运行时间。
【技术特征摘要】
1.一种usb软件代码保护器,其特征在于,包括保护器本体和扩展程序;
2.如权利要求1所述保护器的保护方法,其特征在于,包括以下步骤:
3.如权利要求2所述保护器的保护方法,其特征在于,计算机主机通过读写usb软件代码保护器存储器指定扇区的方式,控制usb软件代码保护器执行...
【专利技术属性】
技术研发人员:于潇,李元章,张丽,李钊,孙梦迪,谭毓安,
申请(专利权)人:山东理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。