一种符号的重命名方法和重命名装置制造方法及图纸

技术编号:26170059 阅读:27 留言:0更新日期:2020-10-31 13:35
本发明专利技术提供一种符号的重命名方法和重命名装置,该重命名方法包括:获取第一可执行文件下的每一符号的第一编译名称;对第一编译名称进行修改得到第一目标名称,将第一编译名称和相应的第一目标名称建立关联得到第一关联关系;针对每一符号,查找第一关联关系确定相应的第一目标名称;将每一符号的第一编译名称重命名为相应的第一目标名称。在本发明专利技术中,对符号的编译名称进行改名,隐藏了符号之间的逻辑关系,不仅可以防止程序逻辑泄密的情况发生,而且,在重命名的过程中,不直接对符号进行改名,不存在改名之后无法编译的问题,该方法不仅适用于面向对象语言,也适用于非面向对象语言,适用性较广。

【技术实现步骤摘要】
一种符号的重命名方法和重命名装置
本专利技术属于网络通信领域,更具体地,涉及一种符号的重命名方法和重命名装置。
技术介绍
在嵌入式系统软件
,为了阅读和编码的需要,程序的源代码符号的名称一般都带有功能助记,即,源代码符号的名称是由带有具体含义的字符组成,因此在与合作方进行合作的时候,当大量的源代码符号集合在一起后,经过合理的推敲,有可能存在程序逻辑泄密的情况。因此,对于发布的二进制可执行文件(包括动态库),如果不对符号名称进行无害化处理,有可能涉及程序逻辑泄密。目前,为了防止程序逻辑泄密,一般采取对源代码上的符号进行直接重命名,生成一份进行过无害化处理的源代码,并对该源代码进行编译,生成发布的二进制可执行文件。前述方法对于非面向对象语言(C语言)是可行的,但是由于面向对象语言(C++)存在符号继承关系,继承过来的符号不在本类里面进行可视化定义,因此如果对符号进行改名,就存在编译问题,导致编译不通过,无法生成可供发布的二进制文件可执行文件。鉴于此,克服该现有技术产品所存在的不足是本
亟待解决的问题。专利本文档来自技高网...

【技术保护点】
1.一种符号的重命名方法,其特征在于,所述重命名方法包括:/n获取第一可执行文件下的每一符号的第一编译名称,其中,所述第一可执行文件为对源代码进行编译之后得到的可执行文件;/n对所述第一编译名称进行修改得到第一目标名称,将所述第一编译名称和相应的所述第一目标名称建立关联得到第一关联关系;/n针对每一符号,查找所述第一关联关系确定相应的所述第一目标名称;/n将每一符号的所述第一编译名称重命名为相应的所述第一目标名称。/n

【技术特征摘要】
1.一种符号的重命名方法,其特征在于,所述重命名方法包括:
获取第一可执行文件下的每一符号的第一编译名称,其中,所述第一可执行文件为对源代码进行编译之后得到的可执行文件;
对所述第一编译名称进行修改得到第一目标名称,将所述第一编译名称和相应的所述第一目标名称建立关联得到第一关联关系;
针对每一符号,查找所述第一关联关系确定相应的所述第一目标名称;
将每一符号的所述第一编译名称重命名为相应的所述第一目标名称。


2.根据权利要求1所述的重命名方法,其特征在于,所述重命名方法还包括:
获取所述第一可执行文件的每一符号的第一符号内容;
将所述第一符号内容与相应的所述第一编译名称建立关联,得到第二关联关系。


3.根据权利要求2所述的重命名方法,其特征在于,所述重命名方法包括:
获取第二可执行文件下的每一符号的第二编译名称和第二符号内容,其中,所述第二可执行文件为所述第一可执行文件的补丁文件;
针对每一符号,判断所述第二关联关系中是否存在与所述第二编译名称相同的第一编译名称;
若存在与所述第二编译名称相同的第一编译名称,则根据所述第二编译名称对应的第二符号内容与所述第一编译名称对应的第一符号内容,判断符号对应的代码是否被修改;
当符号对应的代码被修改时,则通过所述第一关联关系,将所述第二编译名称重命名为所述第一目标名称。


4.根据权利要求3所述的重命名方法,其特征在于,所述重命名方法还包括:
当符号对应的代码没有被修改时,则对所述第二编译名称进行修改得到第二目标名称,其中,所述第二目标名称与所述第一关联关系中的第一目标名称均不相同。


5.根据权利要求3所述的重命名方法,其特征在于,所述重命名方法还包括:
若不存在与所述第二编译名称相同的第一编译名称,则对所述第...

【专利技术属性】
技术研发人员:刘应江杨红霞吴方艳彭正非
申请(专利权)人:烽火通信科技股份有限公司中国信息通信科技集团有限公司
类型:发明
国别省市:湖北;42

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

1