一种对核心源代码进行加密的方法及装置的制造方法

文档序号:8431054阅读:407来源:国知局
一种对核心源代码进行加密的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机领域,特别涉及一种对核心源代码进行加密的方法及装置。
【背景技术】
[0002] 随着IT(InformationTechnology,信息技术)行业的快速发展,每个IT项目的 源代码成为了各个IT公司的企业机密和核心。由于运营该项目时公开的是该项目的可执 行文件,可执行文件是通过该项目的源代码进行编译生成的;而该可执行文件可以轻易地 通过静态反编译工具进行破解,得到该项目的源代码,进而对该IT公司造成巨大的损失, 所以在IT项目运营之前需要对该项目的核心源代码进行加密。
[0003] 目前,提供了一种对核心源代码进行加密的方法,具体可以为:开发人员在编写源 代码时,如果该开发人员想对某段核心源代码进行加密时,该开发人员可以手动地将该核 心源代码中标准的函数名称、方法名称或者类名称修改为自定义的名称,实现对核心源代 码的混淆,进而实现对核心源代码的加密。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 由于通过上述技术对核心源代码进行混淆之后得到的源代码难于理解,并且根据 混淆后的源代码进行调试也比较困难;同时,混淆后的源代码并不能完全阻止反编译,只是 增加了反编译的难度和工作量,核心源代码的保密性较低。

【发明内容】

[0006] 为了解决现有技术的问题,本发明实施例提供了一种对核心源代码进行加密的方 法及装置。所述技术方案如下:
[0007] -方面,提供了一种对核心源代码进行加密的方法,所述方法包括:
[0008] 从源代码文件中获取第一预设字符串;
[0009] 从所述源代码文件中获取所述第一预设字符串对应的核心源代码;
[0010] 对所述核心源代码进行加密,得到所述核心源代码的密文;
[0011] 将所述核心源代码替换为所述核心源代码的密文,以及将所述第一预设字符串替 换为第二预设字符串。
[0012] 另一方面,提供了 一种对核心源代码进行加密的装置,所述装置包括:
[0013] 第一获取模块,用于从源代码文件中获取第一预设字符串;
[0014] 第二获取模块,用于从所述源代码文件中获取所述第一预设字符串对应的核心源 代码;
[0015] 加密模块,用于对所述核心源代码进行加密,得到所述核心源代码的密文;
[0016] 第一替换模块,用于将所述核心源代码替换为所述核心源代码的密文,以及将所 述第一预设字符串替换为第二预设字符串。
[0017] 在本发明实施例中,当开发人员编写源代码时,只是在需要加密的核心源代码之 前添加第一预设字符串,并没有对需要加密的核心源代码进行混淆,所以避免了混淆后的 源代码难于理解的问题,并且也避免了混淆后的源代码难于调试的问题。当开发人员编写 完源代码时,从源代码文件中获取第一预设字符串,获取第一预设字符串对应的核心源代 码,对获取的核心源代码进行加密,得到核心源代码的密文。由于该源代码文件中存在核心 源代码的密文,增加了反编译的难度和工作量,并且就算反编译成功,反编译得到的也是核 心源代码的密文。由于无法知道对核心源代码进行解密的密钥,所以也无法获取到核心源 代码,增加了核心源代码的保密性。
【附图说明】
[0018] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0019] 图1是本发明实施例一提供的一种对核心源代码进行加密的方法流程图;
[0020] 图2是本发明实施例二提供的一种对核心源代码进行加密的方法流程图;
[0021] 图3是本发明实施例三提供的一种对核心源代码进行加密的装置结构示意图;
[0022] 图4是本发明实施例三提供的另一种对核心源代码进行加密的装置结构示意图。
【具体实施方式】
[0023] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0024] 实施例一
[0025] 本发明实施例提供了一种对核心源代码进行加密的方法,参见图1,该方法包括:
[0026] 步骤101 :从源代码文件中获取第一预设字符串;
[0027] 步骤102 :从该源代码文件中获取第一预设字符串对应的核心源代码;
[0028] 步骤103 :对获取的核心源代码进行加密,得到核心源代码的密文;
[0029] 步骤104 :将该核心源代码替换为该核心源代码的密文,以及将第一预设字符串 替换为第二预设字符串。
[0030] 其中,从该源代码文件中获取第一预设字符串对应的核心源代码,包括:
[0031] 从该源代码文件中获取在第一预设字符串之后且与第一预设字符串相邻的起始 分隔符;
[0032] 获取该起始分隔符对应的结束分隔符;
[0033] 获取该起始分隔符与结束分隔符之间的核心源代码,将获取的核心源代码确定为 第一预设字符串对应的核心源代码。
[0034] 进一步地,获取该起始分隔符对应的结束分隔符,包括:
[0035] 获取在该起始分隔符之后且与结束分隔符相同的第一个字符串;
[0036] 在该起始分隔符与第一个字符串之间,获取与该起始分隔符相同的字符串的个数 N;
[0037] 获取第一个字符串之后且与结束分隔符相同的第N个字符串;
[0038] 将获取的第N个字符串确定为该起始分隔符对应的结束分隔符。
[0039] 进一步地,将该核心源代码替换为该核心源代码的密文,以及将第一预设字符串 替换为第二预设字符串之后,还包括:
[0040] 从加密后的源代码文件中获取第二预设字符串;
[0041] 从加密后的源代码文件中获取第二预设字符串对应的核心源代码的密文;
[0042] 对获取的核心源代码的密文进行解密,得到核心源代码;
[0043] 将该核心源代码的密文替换为该核心源代码,以及将第二预设字符串替换为第一 预设字符串。
[0044] 其中,从加密后的源代码文件中获取第二预设字符串对应的核心源代码的密文, 包括:
[0045] 从加密后的源代码文件中获取在第二预设字符串之后且与第二预设字符串相邻 的起始分隔符;
[0046] 获取该起始分隔符对应的结束分隔符;
[0047] 获取该起始分隔符与该结束分隔符之间的核心源代码的密文,将获取的核心源代 码的密文确定为第二预设字符串对应的核心源代码的密文。
[0048] 在本发明实施例中,当开发人员编写源代码时,只是在需要加密的核心源代码之 前添加第一预设字符串,并没有对需要加密的核心源代码进行混淆,所以避免了混淆后的 源代码难于理解的问题,并且也避免了混淆后的源代码难于调试的问题。当开发人员编写
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1