一种用于提高机器代码安全性的方法、装置、介质及设备制造方法及图纸

技术编号:32560368 阅读:28 留言:0更新日期:2022-03-09 16:44
本发明专利技术提供一种用于提高机器代码安全性的方法、装置、介质及设备,包括:创建基础类;基于基础类创建模板类;在模板类中添加至少一个子类,确定至少一个子类的继承类;每个子类对应一个安全实例,安全实例包括:用于执行机器代码的安全内存的实例、防止机器代码被hook的实例、用于检测机器代码完整性的实例以及用于防止机器代码被单步调试的实例;基于预设的安全实例执行顺序在当前子类中设置当前子类的下一子类的指针;基于各指针执行对应子类中的安全实例;因基础类相当于是一个通用框架,模板类是基于基础类创建的,因此可向模板类中添加各安全实例对应的子类,这样通过多种安全实例对机器代码进行保护,提高机器代码运行的安全性。全性。全性。

【技术实现步骤摘要】
一种用于提高机器代码安全性的方法、装置、介质及设备


[0001]本专利技术属于软件开发
,尤其涉及一种用于提高机器代码安全性的方法、装置、介质及设备。

技术介绍

[0002]机器代码shellcode在软件开发中有着很重要的作用,比如客户端需要更新补丁、进行热更新及漏洞修复时,服务器会向客户端发送对应的shellcode。
[0003]因shellcode本身是编写的汇编代码,为了防止非正常用户能够轻易对shellcode进行破解,在编写shellcode时,必须要考虑到安全性能。现有技术中一般是对shellcode进行加密,执行shellcode的时候再解密来实现shellcode的保护。但是这种方式一旦被非正常用户破解出了密码,很容易导致shellcode被篡改,安全性能较低。
[0004]并且,现有技术中若想为shellcode添加新的安全策略,还需要编写大量的代码,导致shellcode整体的编写效率也比较低。

技术实现思路

[0005]针对现有技术存在的问题,本专利技术实施例提供了一种用于提高机器本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于提高机器代码安全性的方法,其特征在于,所述方法包括:创建基础类;所述基础类用于定义通用类参数,所述通用类参数包括:异步操作接口、输入模板参数及输出模板参数;基于所述基础类中的通用类参数创建模板类,所述模板类为可添加任意子类的通用模板类;根据预设的安全策略在所述模板类中添加至少一个子类,确定所述至少一个子类的继承类;每个所述子类对应一个安全实例,所述安全实例包括:用于执行所述机器代码shellcode的安全内存的实例、防止所述shellcode被hook的实例、用于检测所述shellcode完整性的实例以及用于防止所述shellcode被单步调试的实例;针对任一当前子类,基于预设的安全实例执行顺序在所述当前子类中设置所述当前子类的下一子类的指针;基于各所述指针执行对应子类中的安全实例。2.如权利要求1所述的方法,其特征在于,所述确定所述至少一个子类的继承类,包括:获取所述安全策略中设置的安全实例的执行顺序;针对任一当前子类,若所述当前子类对应的安全实例的执行顺序为首位执行时,则确定所述当前子类的继承类为所述基础类;若所述当前子类对应的安全实例的执行顺序为非首位执行时,则确定所述当前子类的继承类为所述模板类。3.如权利要求1所述的方法,其特征在于,当所述安全实例为用于执行所述机器代码shellcode的安全内存的实例时,所述根据预设的安全策略在所述模板类中添加至少一个子类,包括:创建结构体,所述结构体用于获取所述安全实例的内存地址及内存长度;创建所述安全实例对应的第一子类;在所述第一子类中创建异步操作对象Promise对象,所述异步操作对象用于执行异步操作;基于所述安全实例的内存地址及内存长度,利用内存分配函数BYTE*pMem=MyVirtualAlloc(NULL,nSize,MEM_COMMIT,PAGE_EXECUTE_READ WRITE);为所述安全实例分配内存地址pMem;所述MyVirtualAlloc为所述分配函数,所述NULL为空字节,所述nSize为分配的内存长度,所述MEM_COMMIT为分配的内存类型,所述PAGE_EXECUTE_READWRITE为用于修改内存可执行及可读写的属性参数;基于分配的所述内存地址,利用混淆函数Hash=md5.create(pMem)获得混淆数据,基于所述混淆数据对分配的所述内存地址进行初始化;将shellcode代码拷贝至所述初始化后的内存地址中;利用所述Promise对象返回结果。4.如权利要求1所述的方法,其特征在于,当所述安全实例为防止所述shellcode被hook的实例、用于检测所述shellcode完整性的实例或用于防止所述shellcode被单步调试的实例时,所述根据预设的安全策略在所述模板类中添加至少一个子类,包括:利用构造函数创建...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1