代码自修改方法、装置及电子设备制造方法及图纸

技术编号:20843366 阅读:65 留言:0更新日期:2019-04-13 08:49
本发明专利技术公开了一种代码自修改方法、装置及电子设备。其中,方法包括:按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;对第一源码进行编译,在编译得到的文件中将与待保护源码相对应的二进制文件提取出来,并将编译得到的文件被提取出二进制文件之后所得到的文件确认为应用编译文件;在运行应用编译文件的过程中,当运行到预设自修改处理的调用代码时,根据预设自修改处理的处理代码以及二进制文件完成代码自修改处理。利用本发明专利技术的方法,能够基于与待保护源码相对应的二进制文件实现代码自修改,使程序在运行时进行自我修改,从而隐藏程序中的重要代码,防止程序被静态分析,从而保证源码的安全。

【技术实现步骤摘要】
代码自修改方法、装置及电子设备
本专利技术涉及计算机
,具体涉及一种代码自修改方法、装置及电子设备。
技术介绍
目前,移动应用的种类和功能越来越繁多,随着科技的发展,编写的代码、数据以及应用等越来越容易被黑客恶意攻破,因此,保证用户所使用的应用的安全成为使用应用时面临的最大问题,其中,一种能够保证应用的安全的方式是保证应用的源码文件的安全。现有技术中,往往采用加固的方式来保护应用文件中的源码信息,例如采用加固保护的方式来保护ELF文件中的C源码,在一定程度上防止编写的代码被反编译分析,从而保障源码的安全。但是,现有技术存在如下不足:现有技术往往不能保证ELF文件中待保护源码进行反编译时不可见,即对ELF文件中的C源码进行反编译时往往可以得到解密后的反编译文件,进而能够读取到该ELF文件中的数据信息,导致源码信息泄露。因此,如何建立有效的源码保护机制是一个亟待解决的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的代码自修改方法、装置及电子设备。根据本专利技术的一个方面,提供了一种代码自修改方法,方法包括:按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;对第一源码进行编译,在编译得到的文件中将与待保护源码相对应的二进制文件提取出来,并将编译得到的文件被提取出二进制文件之后所得到的文件确认为应用编译文件;在运行应用编译文件的过程中,当运行到预设自修改处理的调用代码时,根据预设自修改处理的处理代码以及二进制文件完成代码自修改处理。可选地,方法进一步包括:预先构建指定格式的文件,将预设自修改处理的处理代码存储在指定格式的文件中;则当运行到预设自修改处理的调用代码时,根据预设自修改处理的处理代码以及二进制文件完成代码自修改处理进一步包括:当运行到预设自修改处理的调用代码时,跳转至指定格式的文件以完成预设自修改处理。可选地,预设自修改处理包括:还原处理、擦除处理;预先按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码的步骤进一步包括:在待保护源码之前插入还原处理的调用代码,以及在待保护源码之后插入擦除处理的调用代码,得到第一源码。可选地,当运行到预设自修改处理的调用代码时,跳转至指定格式的文件以完成预设自修改处理的步骤具体包括:当运行到还原处理的调用代码时,跳转至指定格式的文件以执行还原处理;或者,当运行到擦除处理的调用代码时,跳转至指定格式的文件以执行擦除处理。可选地,当运行到还原处理的调用代码时,跳转至指定格式的文件以执行还原处理的步骤之前,方法进一步包括:将二进制文件放置于还原处理的处理代码中,得到还原处理代码,将还原处理代码进行编译,并将编译得到的文件保存至指定格式的文件中。可选地,跳转至指定格式的文件以执行还原处理进一步包括:跳转至指定格式的文件以执行将二进制文件恢复至内存区域中相应的位置的步骤。可选地,跳转至指定格式的文件执行还原处理的步骤之前,方法进一步包括:调用系统函数修改内存区域中的内存数据的操作权限。可选地,跳转至指定格式的文件以执行擦除处理进一步包括:跳转至指定格式的文件以执行将内存区域中的还原处理所恢复的二进制文件设置为预设数值的步骤。可选地,在完成擦除处理之后,方法进一步包括:当调用还原处理代码时,执行利用系统函数获取第一源码中调用还原处理代码的返回地址,根据返回地址将还原处理代码中的二进制文件对所对应的预设数值进行替换的步骤。可选地,其特征在于,指定格式的文件包括:ELF文件。根据本专利技术的另一方面,提供了一种代码自修改装置,装置包括:调用代码插入模块,适于按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;文件提取模块,适于对第一源码进行编译,在编译得到的文件中将与待保护源码相对应的二进制文件提取出来,并将编译得到的文件被提取出二进制文件之后所得到的文件确认为应用编译文件;自修改处理模块,适于在运行应用编译文件的过程中,当运行到预设自修改处理的调用代码时,根据预设自修改处理的处理代码以及二进制文件完成代码自修改处理。可选地,自修改处理模块进一步适于:预先构建指定格式的文件,将预设自修改处理的处理代码存储在指定格式的文件中;当运行到预设自修改处理的调用代码时,跳转至指定格式的文件以完成预设自修改处理。可选地,预设自修改处理包括:还原处理、擦除处理;则调用代码插入模块进一步适于:在待保护源码之前插入还原处理的调用代码,以及在待保护源码之后插入擦除处理的调用代码,得到第一源码。可选地,自修改处理模块进一步适于:当运行到还原处理的调用代码时,跳转至指定格式的文件以执行还原处理;或者,当运行到擦除处理的调用代码时,跳转至指定格式的文件以执行擦除处理。可选地,自修改处理模块进一步适于:在跳转至指定格式的文件以执行还原处理的步骤之前,将二进制文件放置于还原处理的处理代码中,得到还原处理代码,将还原处理代码进行编译,并将编译得到的文件保存至指定格式的文件中。可选地,自修改处理模块进一步适于:跳转至指定格式的文件以执行将二进制文件恢复至内存区域中相应的位置的步骤。可选地,装置进一步包括:权限修改模块,适于调用系统函数修改内存区域中的内存数据的操作权限。可选地,自修改处理模块进一步适于:跳转至指定格式的文件以执行将内存区域中的还原处理所恢复的与待保护源码相对应的二进制文件设置为预设数值的步骤。可选地,自修改处理模块进一步适于:当调用还原处理代码时,执行利用系统函数获取第一源码中调用还原处理代码的返回地址,根据返回地址将还原处理代码中的二进制文件对所对应的预设数值进行替换的步骤。可选地,指定格式的文件包括:ELF文件。根据本专利技术的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述代码自修改方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述代码自修改方法对应的操作。根据本专利技术所提供的代码自修改方法、装置及电子设备。首先,按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;其次,对第一源码进行编译,在编译得到的文件中将与待保护源码相对应的二进制文件提取出来,并将编译得到的文件被提取出二进制文件之后所得到的文件确认为应用编译文件;然后,在运行应用编译文件的过程中,当运行到预设自修改处理的调用代码时,根据预设自修改处理的处理代码以及二进制文件完成代码自修改处理。该方式提供了一种基于与待保护源码相对应的二进制文件的代码自修改处理方法,使程序在运行时自我修改,防止程序被静态分析,进而保证源码的安全。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选本文档来自技高网...

【技术保护点】
1.一种代码自修改方法,其特征在于,包括:按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;对所述第一源码进行编译,在编译得到的文件中将与所述待保护源码相对应的二进制文件提取出来,并将所述编译得到的文件被提取出所述二进制文件之后所得到的文件确认为应用编译文件;在运行所述应用编译文件的过程中,当运行到所述预设自修改处理的调用代码时,根据所述预设自修改处理的处理代码以及所述二进制文件完成代码自修改处理。

【技术特征摘要】
1.一种代码自修改方法,其特征在于,包括:按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码;对所述第一源码进行编译,在编译得到的文件中将与所述待保护源码相对应的二进制文件提取出来,并将所述编译得到的文件被提取出所述二进制文件之后所得到的文件确认为应用编译文件;在运行所述应用编译文件的过程中,当运行到所述预设自修改处理的调用代码时,根据所述预设自修改处理的处理代码以及所述二进制文件完成代码自修改处理。2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:预先构建指定格式的文件,将所述预设自修改处理的处理代码存储在所述指定格式的文件中;则当运行到所述预设自修改处理的调用代码时,根据所述预设自修改处理的处理代码以及所述二进制文件完成代码自修改处理进一步包括:当运行到所述预设自修改处理的调用代码时,跳转至所述指定格式的文件以完成预设自修改处理。3.根据权利要求1所述的方法,其特征在于,所述预设自修改处理包括:还原处理、擦除处理;所述预先按照预设的程序执行顺序在待保护源码的相应位置处插入预设自修改处理的调用代码,得到第一源码的步骤进一步包括:在所述待保护源码之前插入所述还原处理的调用代码,以及在所述待保护源码之后插入所述擦除处理的调用代码,得到第一源码。4.根据权利要求2或3所述的方法,其特征在于,所述当运行到所述预设自修改处理的调用代码时,跳转至所述指定格式的文件以完成预设自修改处理的步骤具体包括:当运行到所述还原处理的调用代码时,跳转至所述指定格式的文件以执行还原处理;或者,当运行到所述擦除处理的调用代码时,跳转至所述指定格式的文件以执行擦除处理。5.根据权利要求4所述的方法,其特征在于,所述当运行到所述还原处理...

【专利技术属性】
技术研发人员:汪德嘉华保健刘庆川葛琦峰
申请(专利权)人:江苏通付盾信息安全技术有限公司
类型:发明
国别省市:江苏,32

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

1