CN103150493A - 一种JavaScript代码的混淆方法和装置 - Google Patents
一种JavaScript代码的混淆方法和装置 Download PDFInfo
- Publication number
- CN103150493A CN103150493A CN2013100638569A CN201310063856A CN103150493A CN 103150493 A CN103150493 A CN 103150493A CN 2013100638569 A CN2013100638569 A CN 2013100638569A CN 201310063856 A CN201310063856 A CN 201310063856A CN 103150493 A CN103150493 A CN 103150493A
- Authority
- CN
- China
- Prior art keywords
- source code
- code
- javascript
- acquisition module
- javascript code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明实施例公开了一种JavaScript代码的混淆方法和装置,所述方法包括:获取JavaScript代码作为源代码;去除所述源代码中的冗余内容后,获取处理后源代码;获取所述处理后源代码中的变量名称;用预先生成的名称替换所述变量名称后,获取替换后源代码;将所述替换后源代码进行进制变换后,获取混淆后源代码。本发明采取了保护代码的逻辑不被他人理解的方法,对JavaScript代码进行混淆,达到了有效保护JavaScript代码的目的,同时防止JavaScript代码被盗用。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种JavaScript代码的混淆方法和装置。
背景技术
JavaScript是一种跨平台的开放式脚本描述语言,同时是一种解释执行的脚本语言,主要应用于网络领域的客户端浏览器中。由于JavaScript需要解释执行的特点,所以JavaScript代码,即用JavaScript语言编写的代码,必须被明文下载到客户端,这使得以明文形式显示的JavaScript代码很容易被他人盗用,不能得到保护。随着JavaScript语言在网络应用领域的作用日趋重要,JavaScript代码的复杂性、功能性和技术含量也越来越高,所以对JavaScript代码保护技术的需求也日趋迫切。
JavaScript代码混淆技术是现有技术的代码保护方法,在JavaScript代码被下载到客户端的过程中,将JavaScript代码混淆。现有技术中存在两种JavaScript代码混淆的方法,第一种方法是利用JavaScript中的escape()函数对JavaScript代码进行加密,同时可以使用unescape()函数对加密后的JavaScript代码进行解密。第二种方法是首先将JavaScript代码中的换行符去除,其次将去除换行符的JavaScript代码中的变量名称用随机名称进行替换。
现有技术的第一种方法中,由于JavaScript中的escape()函数和unescape()函数众所周知,所以利用第一种方法对JavaScript代码进行混淆不能使其安全性得到保障。运用第二种方法对JavaScript代码进行混淆后,获取的JavaScript代码中除了被替换的变量名称仍存在本领域技术人员可读取的有意义的字符,所以该方法仍然不能有效地保护JavaScript代码。
发明内容
为了防止JavaScript代码被盗用,同时有效的保护JavaScript代码,本发明提供了一种JavaScript代码的混淆方法和装置。
本发明提供一种JavaScript代码的混淆方法,所述方法包括:
获取JavaScript代码作为源代码;
去除所述源代码中的冗余内容后,获取处理后源代码;
获取所述处理后源代码中的变量名称;
用预先生成的名称替换所述变量名称后,获取替换后源代码;
将所述替换后源代码进行进制变换后,获取混淆后源代码。
优选地,所述用预先生成的名称替换所述变量名称后,获取替换后源代码之前,还包括:
通过随机算法随机生成名称。
优选地,所述获取JavaScript代码的源代码,包括:
根据分隔符,将所述JavaScript代码分组存储;
获取分组存储的JavaScript代码作为源代码。
优选地,所述去除所述源代码中的冗余内容后,获取处理后源代码,包括:
去除所述源代码中的注释字符和空行;
以及去除所述源代码中的回车换行和Tab符号。
优选地,将所述替换后源代码进行进制变换后,获取混淆后源代码,包括:
将所述替换后源代码转换成16进制;
获取转换成16进制的混淆后源代码。
本发明还提供一种JavaScript代码的混淆装置,所述装置包括:
第一获取模块,用于获取JavaScript代码作为源代码;
第二获取模块,用于去除所述源代码中的冗余内容后,获取处理后源代码;
第三获取模块,用于获取所述处理后源代码中的变量名称;
第四获取模块,用于将所述变量名称替换为预先生成的名称后,获取替换后源代码;
第五获取模块,用于将所述替换后源代码进行进制变换后,获取混淆后源代码。
优选地,所述装置还包括:
生成模块,用于通过随机算法随机生成名称。
优选地,所述第一获取模块包括:
存储子模块,用于根据分隔符,将所述JavaScript代码分组存储;
第一获取子模块,用于获取分组存储的JavaScript代码作为源代码。
优选地,所述第二获取模块包括:
第一去除子模块,用于去除所述源代码中的注释字符和空行;
第二去除子模块,用于去除所述源代码中的回车换行和Tab符号。
优选地,所述第五获取模块包括:
替换子模块,用于将所述替换后源代码转换成16进制;
第二获取子模块,用于获取转换成16进制的混淆后源代码。
与现有技术相比,本发明首先获取JavaScript代码作为源代码;其次,去除源代码中的冗余内容后,获取处理后源代码;再次,获取所述处理后源代码中的变量名称;用预先生成的名称替换所述变量名称后,获取替换后源代码;最后,将所述替换后源代码进行进制变换后,获取混淆后源代码。本发明采取了保护代码的逻辑不被他人理解的方法,对JavaScript代码进行混淆,达到了有效保护JavaScript代码的目的,同时防止JavaScript代码被盗用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的JavaScript代码的混淆方法流程图;
图2为本发明实施例二的JavaScript代码的混淆装置结构图;
图3为本发明实施例二的所述第一获取模块201的结构图;
图4为本发明实施例二的所述第二获取模块202的结构图;
图5为本发明实施例二的所述第五获取模块206的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一、
参考图1,图1为本发明提供的一种JavaScript代码的混淆方法实施例一的流程图,本实施例具体可以包括:
步骤101、获取JavaScript代码作为源代码。
本实施例中,在实现JavaScript代码的混淆之前,首先获取JavaScript代码作为源代码,以便确定后续代码混淆的处理对象。
以如下源代码为例,具体源代码为:
实际操作中,可以以JavaScript代码中的分隔符作为标志读取JavaScript代码,同时将读取的JavaScript代码以字符串的形式存储于字符串数组中,以便后续步骤对JavaScript代码进行混淆处理。
具体的,JavaScript代码中的分隔符用来标识字符分隔的位置。例如“,”、“?”、“()”或者“”都可以作为JavaScript代码中的分隔符。同时,字符串数组中分别存储了以分隔符分隔开的JavaScript代码的部分代码,以下步骤是对存储于字符串数组中的JavaScript代码的混淆处理。
步骤102、去除所述源代码中的冗余内容后,获取处理后源代码。
本实施例中,由于获取的JavaScript代码的源代码中存在冗余内容,在计算机执行JavaScript代码的过程中,该冗余内容不影响JavaScript代码的运行,同时会便于其他用户理解该JavaScript代码更容易,正是由于其便于其他用户理解该JavaScript代码,所以为了保护该JavaScript代码不被其他用户盗用,预先将JavaScript代码的源代码中的冗余内容去除,同时将去除了冗余内容的源代码作为处理后源代码。
具体的,JavaScript代码的源代码中的冗余内容可以是解释代码含义的注释、空行、回车换行和Tab符号等,去除此类冗余内容使其他用户不容易从JavaScript代码的注释或者代码格式方面理解该JavaScript代码的含义。
实际操作中,JavaScript代码中处于与“//”同一行且位于“//”之后的内容是JavaScript代码中的注释,同时位于“/*”与“*/”之间的内容也为JavaScript代码中的注释,所以,计算机在识别到“//”或者“/*”与“*/”后,即可确定注释的内容。
具体的,上述步骤101中的源代码经过本步骤处理后的,获取的处理后源代码如下:
步骤103、获取所述处理后源代码中的变量名称。
本实施例中,首先将去除冗余内容的JavaScript代码的源代码确定为处理后源代码,其次,获取处理后源代码中的变量名称,以便后续步骤对其进行处理。
实际操作中,计算机可以通过遍历处理后源代码的方式,获取处理后源代码中的变量名称。步骤102的例子所获取到的处理后源代码中的变量名称为ajax。
具体的,变量名称描述了变量所代表的实体。由于其他用户通过理解变量名称可以进一步的理解JavaScript代码的含义,所以,本实施例获取该JavaScript代码的源代码的变量名称,以便对其进行处理,从而进一步的达到混淆JavaScript代码的目的。
步骤104、用预先生成的名称替换所述变量名称后,获取替换后源代码。
本实施例中,首先生成不能体现JavaScript代码中的变量的真实含义的名称,其次,用生成的名称替换JavaScript代码的源代码中的变量名称,最后,确定经过名称替换后的JavaScript代码的源代码为替换后源代码。
实际操作中,不能体现JavaScript代码中的变量的真实含义的名称可以通过随机算法生成,该随机算法可以是HASH算法,具体的通过何种方式生成用于替换变量名称的名称,在本实施例中不做限制。
具体的,本步骤以生成的随机变量E1为例,用随机变量E1替换预先获取到的变量名称ajax,所以,步骤102中的处理后源代码经过本步骤处理后,获取替换后源代码,具体如下:
functionInitAjax(){varE1=false;try{E1=newActiveXObject(″Msxml2.XMLHTTP″);}catch(e){try{E1=newActiveXObject(″Microsoft.XMLHTTP″);}catch(e){E1=false;}}if(!E1&&typeofXMLHttpRequest!=′undefined′){E1=newXMLHttpRequest();E1[″setRequestHeader″](″Content-Type″,″application/x-www-form-urlencoded″);}return E1;};
步骤105、将所述替换后源代码进行进制变换后,获取混淆后源代码。
本实施例中,首先获取经过上述步骤混淆后的替换后源代码,其次,将该替换后源代码进行进制转换,最后,将经过进制转换后的替换后源代码确定为最终的混淆后源代码。
具体的,替换后源代码中的window内置对象、eval后的字符串、引号(包括双引号和单引号)内字符串和引用对象需要进行进制转换。
具体的,步骤104中的替换后源代码经过本步骤处理后,获取混淆后源代码,具体如下:
functionInitAjax(){varE1=false;try{E1=newActiveXObject(″\x4d\x73\x78\x6d\x6c\x32\x2e\x58\x4d\x4c\x48\x54\x54\x50″);}catch(e){try{E1=newActiveXObject(″\x4d\x69\x63\x72\x6f\x73\x6f\x66\x74\x2e\x58\x4d\x4c\x48\x54\x5\x50″);}catch(e){E1=false;}}if(!E1&&typeofXMLHttpRequest!=′\x75\x6e\x64\x65\x66\x69\x6e\x65\x64′){E1=newXMLHttpRequest();E1[″\x73\x65\x74\x52\x65\x71\x75\x65\x73\x74\x48\x65\x61\x64\x65\x72″](″\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65″,″\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x78\x2d\x77\x77\x77\x2d\x66\x6f\x72\x6d\x2d\x75\x72\x6c\x65\x6e\x63\x6f\x64\x65\x64″);}return E1;};
实际操作中,可以将替换后源代码中的window内置对象、eval后的字符串、引号(包括双引号和单引号)内字符串和引用对象转换成16进制或者8进制,具体的转换成几进制,本实施例中不做限制。
与现有技术相比,本实施例中首先获取JavaScript代码作为源代码;其次,去除源代码中的冗余内容后,获取处理后源代码;再次,获取所述处理后源代码中的变量名称;用预先生成的名称替换所述变量名称后,获取替换后源代码;最后,将所述替换后源代码进行进制变换后,获取混淆后源代码。本发明采取了保护代码的逻辑不被他人理解的方法,对JavaScript代码进行混淆,达到了有效保护JavaScript代码的目的,同时防止JavaScript代码被盗用。
实施例二、
参考图2,图2为本发明提供的一种JavaScript代码的混淆装置实施例二的装置结构图,本实施例具体可以包括:
第一获取模块201,用于获取JavaScript代码作为源代码;
参考图3,图3为所述第一获取模块201的结构图,所述第一获取模块201包括:
存储子模块301,用于根据分隔符,将所述JavaScript代码分组存储;
第一获取子模块302,用于获取分组存储的JavaScript代码作为源代码。
第二获取模块202,用于去除所述源代码中的冗余内容后,获取处理后源代码;
参考图4,图4为所述第二获取模块202的结构图,所述第二获取模块202包括:
第一去除子模块401,用于去除所述源代码中的注释字符和空行;
第二去除子模块402,用于去除所述源代码中的回车换行和Tab符号。
第三获取模块203,用于获取所述处理后源代码中的变量名称;
生成模块204,用于通过随机算法随机生成名称。
第四获取模块205,用于将所述变量名称替换为预先生成的名称后,获取替换后源代码;
第五获取模块206,用于将所述替换后源代码进行进制变换后,获取混淆后源代码。
参考图5,图5为所述第五获取模块206的结构图,所述第五获取模块206包括:
替换子模块501,用于将所述替换后源代码中的部分代码转换成16进制;
第二获取子模块502,用于获取转换成16进制的混淆后源代码。
与现有技术相比,本实施例中首先获取JavaScript代码作为源代码;其次,去除源代码中的冗余内容后,获取处理后源代码;再次,获取所述处理后源代码中的变量名称;用预先生成的名称替换所述变量名称后,获取替换后源代码;最后,将所述替换后源代码进行进制变换后,获取混淆后源代码。本发明采取了保护代码的逻辑不被他人理解的方法,对JavaScript代码进行混淆,达到了有效保护JavaScript代码的目的,同时防止JavaScript代码被盗用。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的JavaScript代码的混淆方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种JavaScript代码的混淆方法,其特征在于,所述方法包括:
获取JavaScript代码作为源代码;
去除所述源代码中的冗余内容后,获取处理后源代码;
获取所述处理后源代码中的变量名称;
用预先生成的名称替换所述变量名称后,获取替换后源代码;
将所述替换后源代码进行进制变换后,获取混淆后源代码。
2.根据权利要求1所述的方法,其特征在于,所述用预先生成的名称替换所述变量名称后,获取替换后源代码之前,还包括:
通过随机算法随机生成名称。
3.根据权利要求1所述的方法,其特征在于,所述获取JavaScript代码的源代码,包括:
根据分隔符,将所述JavaScript代码分组存储;
获取分组存储的JavaScript代码作为源代码。
4.根据权利要求1所述的方法,其特征在于,所述去除所述源代码中的冗余内容后,获取处理后源代码,包括:
去除所述源代码中的注释字符和空行;
以及去除所述源代码中的回车换行和Tab符号。
5.根据权利要求1所述的方法,其特征在于,将所述替换后源代码进行进制变换后,获取混淆后源代码,包括:
将所述替换后源代码中的部分代码转换成16进制;
获取转换成16进制的混淆后源代码。
6.一种JavaScript代码的混淆装置,其特征在于,所述装置包括:
第一获取模块,用于获取JavaScript代码作为源代码;
第二获取模块,用于去除所述源代码中的冗余内容后,获取处理后源代码;
第三获取模块,用于获取所述处理后源代码中的变量名称;
第四获取模块,用于将所述变量名称替换为预先生成的名称后,获取替换后源代码;
第五获取模块,用于将所述替换后源代码进行进制变换后,获取混淆后源代码。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
生成模块,用于通过随机算法随机生成名称。
8.根据权利要求6所述的装置,其特征在于,所述第一获取模块包括:
存储子模块,用于根据分隔符,将所述JavaScript代码分组存储;
第一获取子模块,用于获取分组存储的JavaScript代码作为源代码。
9.根据权利要求6所述的装置,其特征在于,所述第二获取模块包括:
第一去除子模块,用于去除所述源代码中的注释字符和空行;
第二去除子模块,用于去除所述源代码中的回车换行和Tab符号。
10.根据权利要求6所述的装置,其特征在于,所述第五获取模块包括:
替换子模块,用于将所述替换后源代码转换成16进制;
第二获取子模块,用于获取转换成16进制的混淆后源代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310063856.9A CN103150493B (zh) | 2013-02-28 | 2013-02-28 | 一种JavaScript代码的混淆方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310063856.9A CN103150493B (zh) | 2013-02-28 | 2013-02-28 | 一种JavaScript代码的混淆方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150493A true CN103150493A (zh) | 2013-06-12 |
CN103150493B CN103150493B (zh) | 2016-06-22 |
Family
ID=48548566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310063856.9A Active CN103150493B (zh) | 2013-02-28 | 2013-02-28 | 一种JavaScript代码的混淆方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150493B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678961A (zh) * | 2013-11-07 | 2014-03-26 | 北京深思数盾科技有限公司 | 代码动态生成的方法 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
CN104199921A (zh) * | 2014-08-30 | 2014-12-10 | 深圳市云来网络科技有限公司 | 网页应用的防拷贝追踪方法及网页防拷贝追踪装置 |
CN104243475A (zh) * | 2014-09-18 | 2014-12-24 | 东软集团股份有限公司 | 基于web反向代理的动态混淆的方法及系统 |
CN104504313A (zh) * | 2014-12-31 | 2015-04-08 | 北京畅游天下网络技术有限公司 | 一种对代码进行保密处理的方法及装置 |
CN104573427A (zh) * | 2015-01-06 | 2015-04-29 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN104573426A (zh) * | 2015-01-06 | 2015-04-29 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN104866740A (zh) * | 2014-02-25 | 2015-08-26 | 北京娜迦信息科技发展有限公司 | 一种防静态分析文件的方法及装置 |
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105303122A (zh) * | 2015-10-13 | 2016-02-03 | 北京大学 | 基于重构技术实现敏感数据云端锁定的方法 |
CN105447349A (zh) * | 2015-11-20 | 2016-03-30 | 珠海多玩信息技术有限公司 | 对so文件中的导出符号进行保护的方法及装置 |
CN105824681A (zh) * | 2016-03-30 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种提高源文件运行效率的装置和方法 |
CN106228040A (zh) * | 2016-07-13 | 2016-12-14 | 成都知道创宇信息技术有限公司 | 一种网页源码三层加密方法 |
CN106650428A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于优化应用代码的方法与设备 |
CN107038354A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 代码混淆方法、代码运行方法及装置 |
CN107122662A (zh) * | 2017-04-12 | 2017-09-01 | 金陵科技学院 | 一种基于Proguard软件的移动互联网App代码混淆测评方法 |
CN107480477A (zh) * | 2017-07-21 | 2017-12-15 | 四川长虹电器股份有限公司 | 基于html5 技术的移动终端产品版权保护方法 |
CN107861727A (zh) * | 2017-12-18 | 2018-03-30 | 广东广业开元科技有限公司 | 基于自动化编译JavaScript代码的智能混淆方法 |
CN108027737A (zh) * | 2015-04-07 | 2018-05-11 | 瑞安安全股份有限公司 | 通过二进制和存储器多样性进行混淆的系统和方法 |
CN108416194A (zh) * | 2018-03-08 | 2018-08-17 | 北京顶象技术有限公司 | 符号混淆方法及装置 |
CN109784009A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 代码混淆方法、系统、计算机装置及计算机可读存储介质 |
CN110135133A (zh) * | 2019-04-19 | 2019-08-16 | 肖银皓 | 一种面向微控制器的压缩整合式源代码混淆方法及系统 |
CN110795704A (zh) * | 2019-10-28 | 2020-02-14 | 成都超有爱科技有限公司 | 一种应用程序的源代码混淆方法、装置及存储介质 |
CN113126959A (zh) * | 2019-12-31 | 2021-07-16 | 上海照梵软件有限公司 | 一种php源代码加密方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1846196A (zh) * | 2003-05-02 | 2006-10-11 | 可递有限公司 | 生成用于程序代码转换的中间表示的体系结构 |
CN102360412A (zh) * | 2011-09-26 | 2012-02-22 | 飞天诚信科技股份有限公司 | Java源代码的保护方法和系统 |
US20120096562A1 (en) * | 2009-02-24 | 2012-04-19 | European Aeronautic Defence And Space Company-Eads France | Method for protecting the source code of a computer program |
-
2013
- 2013-02-28 CN CN201310063856.9A patent/CN103150493B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1846196A (zh) * | 2003-05-02 | 2006-10-11 | 可递有限公司 | 生成用于程序代码转换的中间表示的体系结构 |
US20120096562A1 (en) * | 2009-02-24 | 2012-04-19 | European Aeronautic Defence And Space Company-Eads France | Method for protecting the source code of a computer program |
CN102360412A (zh) * | 2011-09-26 | 2012-02-22 | 飞天诚信科技股份有限公司 | Java源代码的保护方法和系统 |
Non-Patent Citations (2)
Title |
---|
李露: "目标代码混淆加壳关健技术的设计与分析", 《中国优秀硕士学位论文全文数据库信息科技辑》, 2 September 2009 (2009-09-02) * |
霍建雷: "用于Java软件保护的代码混淆技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, 21 August 2009 (2009-08-21) * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678961B (zh) * | 2013-11-07 | 2016-07-06 | 北京深思数盾科技股份有限公司 | 代码动态生成的方法 |
CN103678961A (zh) * | 2013-11-07 | 2014-03-26 | 北京深思数盾科技有限公司 | 代码动态生成的方法 |
CN104866740A (zh) * | 2014-02-25 | 2015-08-26 | 北京娜迦信息科技发展有限公司 | 一种防静态分析文件的方法及装置 |
CN103927164A (zh) * | 2014-03-10 | 2014-07-16 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
CN103927164B (zh) * | 2014-03-10 | 2017-06-06 | 珠海市君天电子科技有限公司 | 一种脚本混淆方法及系统 |
CN104199921A (zh) * | 2014-08-30 | 2014-12-10 | 深圳市云来网络科技有限公司 | 网页应用的防拷贝追踪方法及网页防拷贝追踪装置 |
CN104243475B (zh) * | 2014-09-18 | 2017-10-31 | 东软集团股份有限公司 | 基于web反向代理的动态混淆的方法及系统 |
CN104243475A (zh) * | 2014-09-18 | 2014-12-24 | 东软集团股份有限公司 | 基于web反向代理的动态混淆的方法及系统 |
CN104504313A (zh) * | 2014-12-31 | 2015-04-08 | 北京畅游天下网络技术有限公司 | 一种对代码进行保密处理的方法及装置 |
CN104573426A (zh) * | 2015-01-06 | 2015-04-29 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN104573427A (zh) * | 2015-01-06 | 2015-04-29 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN104573427B (zh) * | 2015-01-06 | 2017-09-08 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN104573426B (zh) * | 2015-01-06 | 2017-06-06 | 北京邮电大学 | 一种可执行应用的混淆方法和装置 |
CN108027737A (zh) * | 2015-04-07 | 2018-05-11 | 瑞安安全股份有限公司 | 通过二进制和存储器多样性进行混淆的系统和方法 |
CN105205359B (zh) * | 2015-10-12 | 2018-11-23 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105205359A (zh) * | 2015-10-12 | 2015-12-30 | 厦门飞信网络科技有限公司 | 一种JavaScript代码保护方法及装置 |
CN105303122B (zh) * | 2015-10-13 | 2018-02-09 | 北京大学 | 基于重构技术实现敏感数据云端锁定的方法 |
CN105303122A (zh) * | 2015-10-13 | 2016-02-03 | 北京大学 | 基于重构技术实现敏感数据云端锁定的方法 |
CN106650428A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于优化应用代码的方法与设备 |
CN105447349A (zh) * | 2015-11-20 | 2016-03-30 | 珠海多玩信息技术有限公司 | 对so文件中的导出符号进行保护的方法及装置 |
CN107038354A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 代码混淆方法、代码运行方法及装置 |
CN105824681A (zh) * | 2016-03-30 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种提高源文件运行效率的装置和方法 |
CN106228040B (zh) * | 2016-07-13 | 2018-11-13 | 成都知道创宇信息技术有限公司 | 一种网页源码三层加密方法 |
CN106228040A (zh) * | 2016-07-13 | 2016-12-14 | 成都知道创宇信息技术有限公司 | 一种网页源码三层加密方法 |
CN107122662A (zh) * | 2017-04-12 | 2017-09-01 | 金陵科技学院 | 一种基于Proguard软件的移动互联网App代码混淆测评方法 |
CN107480477A (zh) * | 2017-07-21 | 2017-12-15 | 四川长虹电器股份有限公司 | 基于html5 技术的移动终端产品版权保护方法 |
CN107861727A (zh) * | 2017-12-18 | 2018-03-30 | 广东广业开元科技有限公司 | 基于自动化编译JavaScript代码的智能混淆方法 |
CN108416194A (zh) * | 2018-03-08 | 2018-08-17 | 北京顶象技术有限公司 | 符号混淆方法及装置 |
CN108416194B (zh) * | 2018-03-08 | 2020-10-23 | 北京顶象技术有限公司 | 符号混淆方法及装置 |
CN109784009A (zh) * | 2018-12-15 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 代码混淆方法、系统、计算机装置及计算机可读存储介质 |
CN110135133A (zh) * | 2019-04-19 | 2019-08-16 | 肖银皓 | 一种面向微控制器的压缩整合式源代码混淆方法及系统 |
CN110135133B (zh) * | 2019-04-19 | 2021-08-17 | 佛山市微风科技有限公司 | 一种面向微控制器的压缩整合式源代码混淆方法及系统 |
CN110795704A (zh) * | 2019-10-28 | 2020-02-14 | 成都超有爱科技有限公司 | 一种应用程序的源代码混淆方法、装置及存储介质 |
CN113126959A (zh) * | 2019-12-31 | 2021-07-16 | 上海照梵软件有限公司 | 一种php源代码加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103150493B (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150493A (zh) | 一种JavaScript代码的混淆方法和装置 | |
US10778441B2 (en) | Redactable document signatures | |
JP5914604B2 (ja) | 暗号化されたファイルを復号化する装置およびその方法 | |
CN106598882B (zh) | 一种安全的内存数据保护方法及装置 | |
CN101635622A (zh) | 一种网页加密和解密的方法、系统及设备 | |
CN103491062B (zh) | 一种生成密码的方法和装置 | |
CN103455764A (zh) | 一种基于文件分割合并技术的文件加密以及解密系统 | |
CN104660551B (zh) | 一种基于webservice的数据库访问装置及方法 | |
CN105187389A (zh) | 一种基于数字混淆加密的网页访问方法及系统 | |
CN105007256B (zh) | 用于在非信任平台上执行安全功能的安全模块 | |
US20190251231A1 (en) | Method for protecting pdf document page-by-page | |
CN105976005A (zh) | 二维码加密方法、二维码生成设备和二维码扫描设备 | |
CN105447404B (zh) | 一种云存储中图像隐私保护的方法及系统 | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
CN108494546A (zh) | 一种白盒加密方法、装置及存储介质 | |
CN107291861A (zh) | 一种面向加密图的带约束近似最短距离查询方法 | |
CN105184181A (zh) | 文件的加密方法、解密方法及装置 | |
CN111212033A (zh) | 基于组合式网络爬虫防御技术的页面显示方法、装置和电子设备 | |
CN104954329A (zh) | 一种生物特征信息的处理方法及装置 | |
CN115473702A (zh) | 一种基于在线交互式web动态防御的内容混淆方法 | |
JP2013150026A5 (zh) | ||
CN106991332A (zh) | 一种海量数据安全存储的方法及装置 | |
CN102480353A (zh) | 口令认证和密钥保护的方法 | |
CN103199995A (zh) | 一种文件加密的方法和装置 | |
CN105827411A (zh) | 一种信息处理的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Lai Xiaojian Inventor after: Wang Yongzhi Inventor after: Tan Zhang Inventor after: Chen Ting Inventor before: Wang Yongzhi Inventor before: Tan Zhang Inventor before: Lai Xiaojian Inventor before: Chen Ting |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: WANG YONGZHI TAN ZHANG LAI XIAOJIAN CHEN TING TO: LAI XIAOJIAN WANG YONGZHI TAN ZHANG CHEN TING |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |