CN102890758A - 一种保护可执行文件的方法及系统 - Google Patents

一种保护可执行文件的方法及系统 Download PDF

Info

Publication number
CN102890758A
CN102890758A CN2012103847928A CN201210384792A CN102890758A CN 102890758 A CN102890758 A CN 102890758A CN 2012103847928 A CN2012103847928 A CN 2012103847928A CN 201210384792 A CN201210384792 A CN 201210384792A CN 102890758 A CN102890758 A CN 102890758A
Authority
CN
China
Prior art keywords
module
function
data
resource
input table
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
Application number
CN2012103847928A
Other languages
English (en)
Other versions
CN102890758B (zh
Inventor
孙吉平
韩勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senselock Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Senselock Software Technology Co Ltd filed Critical Beijing Senselock Software Technology Co Ltd
Priority to CN201210384792.8A priority Critical patent/CN102890758B/zh
Publication of CN102890758A publication Critical patent/CN102890758A/zh
Application granted granted Critical
Publication of CN102890758B publication Critical patent/CN102890758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请公开了一种保护可执行文件的方法,将待保护的原始文件的输入表、入口点函数和资源数据等关键数据加密后存入文件保护装置,而清除原始文件中的相应数据;保护后的文件运行时,从文件保护装置中取出加密的数据进行解密后运行。本申请技术方案增加了对可执行文件进行反编译和分析的难度,大大提高了软件的安全性。本申请还公开了一种保护可执行文件的系统。

Description

一种保护可执行文件的方法及系统
技术领域
本申请涉及计算机软件保护领域,特别涉及一种保护可执行文件的方法及系统。
背景技术
计算机软件作为一种特殊的产品,由于其数字化的特征,从问世起就一直遭受盗版的困扰。盗版的存在不仅给软件开发者造成了巨大的损失,也极大地阻碍了整个软件行业的发展。可执行文件的输入表、入口点函数、资源数据作为盗版者分析的可执行文件的重要资料,历来是保护的重点对象,目前对这些数据的纯软件保护方式的抗分析性较差,很容易被反编译和分析出来,造成数据的泄露及破坏。
发明内容
有鉴于此,本申请提供了一种可执行文件的保护装置及方法,将可执行文件的重要数据信息加密后存入保护装置内,只有当这些代码和数据被调用时才从保护装置内取出,增加了反编译和分析的难度,极大提高了软件的安全性。
本申请实施例提供的一种保护可执行文件的方法,包括:
A、获取原始文件的输入表、入口点函数和资源数据,通过加密算法对输入表、入口点函数和资源数据进行加密后存入软件保护装置,清除原始文件中的输入表、入口点函数和资源数据,并构建新的输入表;新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;
B、将新构建的输入表、文件运行模块、数据存取模块和解密模块注入到所述原始文件中,构建成为镜像文件;
C、镜像文件运行时,文件运行模块将镜像文件中的输入表中的输入地址表替换为中转模块的地址;
D、文件运行模块通过数据存取模块从文件保护装置中取出加密后的入口点函数;
E、解密模块对入口点函数进行解密并执行解密后的入口点函数,执行完毕后跳转到镜像文件继续执行。
较佳地,该方法进一步包括:
文件运行模块对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;
镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据,解密后,返回解密后的资源数据。
较佳地,步骤E之后进一步包括:如果要调用应用程序接口,中转模块通过数据存取模块从文件保护装置内取出该应用程序接口对应的函数名称和所在动态链接库,中转模块通过解密模块解密函数所在的动态链接库名称及函数名称,根据解密后的动态链接库名称及函数名称获取函数地址,然后跳转到所述函数地址继续执行。
较佳地,所述加密算法为对称加密算法或者非对称算法。
较佳地,步骤A所述清除原始文件中的入口点函数进一步包括:将入口点函数用无效字符填充。
本申请实施例还提供一种保护可执行文件的系统,包括输入表分析模块、入口点分析模块、资源分析模块、加密模块、数据存取模块、解密模块、文件运行模块、文件链接模块、中转模块和软件保护装置;
软件保护装置用于存储密钥,以及存储来自数据存取模块的加密后的数据;
所述输入表分析模块,用于分析需要被保护的原始文件的输入表,将原始文件的输入表输出至加密模块,清空原始文件中输入表的内容;
所述入口点分析模块,用于分析原始文件的入口点函数,将入口点函数的二进制代码输出至加密模块,将原始文件中的入口点函数清空;
所述资源分析模块,用于分析原始文件的资源数据,将文件的资源数据输出至加密模块,将原始文件的资源数据清空;
所述加密模块,用于对原始文件的数据进行加密,通过加密算法对输入表、入口点函数、资源数据进行加密,加密用的密钥通过与软件保护装置协商获得;
所述数据存取模块,用于将加密后的数据存入软件保护装置或者从软件保护装置中取出已保存的加密后的数据;
所述解密模块,负责对从软件保护装置内取出的加密后的数据进行解密;
所述文件运行模块,用于在镜像文件运行时,将镜像文件中的的输入表中的输入地址表地址替换为中转模块地址;
所述文件链接模块,用于构建新的输入表,新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;以及用于将新构建的输入表、数据存取模块、解密模块、中转模块及文件运行模块注入到原始文件,构建成为镜像文件;
所述中转模块,用于在被调用时通过数据存取模块将加密后的输入表从软件保护装置中取出,通过解密模块对输入表解密,中转模块执行解密后的输入表中的函数;
较佳地,文件运行模块进一步用于对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据送入解密模块进行解密;解密后,返回解密后的资源数据。
较佳地,所述中转模块进一步用于调用数据存取模块从文件保护装置内取出函数所在的动态链接库名称和函数名称,通过解密模块对函数所在的动态链接库名称和函数进行解密,获取函数地址,跳转到获取函数地址处继续执行。
较佳地,所述加密算法为对称加密算法或者非对称算法。
较佳地,所述入口点分析模块进一步用于将原始文件中的入口点函数用无效字符填充。
从以上技术方案可以看出,将待保护的原始文件的输入表、入口点函数和资源数据等关键数据加密后存入文件保护装置,而清除原始文件中的相应数据;保护后的文件运行时,从文件保护装置中取出加密的数据进行解密后运行。本申请技术方案增加了对可执行文件进行反编译和分析的难度,大大提高了软件的安全性。
附图说明
图1为本申请实施例提供的基于软件保护装置100的可执行文件保护系统框图;
图2为本申请实施例提供的可执行文件保护方法的第一阶段流程图;
图3为本申请实施例提供的可执行文件保护方法的第二阶段流程图;
图4为PE文件的结构示意图。
具体实施方式
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
本申请的一个优选实施例提供了一种软件保护装置100。所述软件保护装置100,可以是独立物理形式的加密锁或其他硬件加密设备,用于在软件运行过程中为其提供安全保护和版权保护功能。
本申请实施例提供的基于软件保护装置100的可执行文件保护系统如图1所示,包括输入表分析模块101、入口点分析模块102、资源分析模块103、加密模块104、数据存取模块105、解密模块106、文件运行模块107、文件链接模块108、中转模块109和软件保护装置100。除软件保护装置100之外,其他各个模块均为运行被保护的可执行文件的计算机设备中的逻辑模块。软件保护装置100通过USB接口或其他类型的接口与该计算机设备连接。
软件保护装置100用于存储密钥,以及存储来自数据存取模块105的加密后的数据。
所述输入表分析模块101,用于分析需要被保护的原始文件的输入表,将原始文件的输入表输出至加密模块104,清空原始文件中输入表的内容。
所述入口点分析模块102,用于分析原始文件的入口点函数,将入口点函数的二进制代码输出至加密模块104,将原始文件中的入口点函数清空。较佳地,将入口点函数用无效字符填充。
所述资源分析模块103,用于分析原始文件的资源数据,将文件的资源数据输出至加密模块104,将原始文件的资源数据清空。
所述加密模块104,用于对原始文件的数据进行加密,通过加密算法对输入表、入口点函数、资源数据进行加密,加密用的密钥通过与软件保护装置协商获得,协商过程为:加密模块104向软件保护装置100发送获取密钥命令,软件保护装置100向加密模块104返回软件保护装置100内置的密钥。
所述数据存取模块105,用于将数据存入软件保护装置100或者从软件保护装置100中取出已保存的数据。
所述解密模块106,负责对从软件保护装置100内取出的数据进行解密。
所述文件运行模块107,用于在镜像文件运行时,将输入表中的IAT地址替换为中转模块地址。所述文件链接模块108,用于构建新的输入表,新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;以及用于将新构建的输入表、数据存取模块105、解密模块106、中转模块109及文件运行模块107注入到原始文件构建成为新的文件,该新的文件可称为镜像文件。
中转模块109,用于在被调用时通过数据存取模块105将加密后的输入表从软件保护装置100中取出,通过解密模块106对输入表解密,中转模块109执行解密后的输入表中的函数。中转模块109进一步用于调用数据存取模块从文件保护装置内取出函数所在的DLL名称和函数名称,通过解密模块对函数所在的DLL名称和函数进行解密,获取函数地址,跳转到获取函数地址继续执行。
根据本发明的一个方面,所述加密模块104采用的加密算法,包括但不限于对称加密算法(如AES、DES、TDES)或者非对称算法(如RSA、ECC)。
根据本发明的一个方面,文件运行模块107通过数据存取模块105将加密后的入口点函数取出,通过解密模块106将入口点函数解密,文件运行模块107执行入口点函数,将入口点函数的执行结果返回镜像文件继续运行。
根据本发明的一个方面,文件运行模块107对资源相关函数进行挂钩,文件运行时需要资源数据时,挂钩后的函数将资源从保护装置内取出,通过解密模块解密,将解密后的数据返回给镜像文件,使文件顺利运行。
根据本发明的一个方面,文件运行模块107对资源相关函数进行挂钩,具体为把资源相关函数的第一条指令修改为跳转到自定义的资源处理函数,名称为MyFixRes,,函数参数有两个,一个为资源数据的地址,一个为资源数据的大小,该函数通过存取模块从软件保护装置内取出加密后的数据,通过解密模块对资源数据解密,将解密后的资源放置到资源数据的地址处,跳转到资源相关函数继续执行。
本申请实施例提供的可执行文件保护方法包括两个独立的阶段,第一阶段是将原始文件转换为镜像文件,第二阶段是运行镜像文件。
第一阶段的处理流程如图2所示,包括如下步骤:
步骤201:输入表分析模块分析出输入表中的函数名称和函数所在的动态链接库(DLL,Dynamic Link Library)名称。
步骤202:加密模块对输入表相关数据进行加密。
步骤203:存取模块将加密后的数据存入软件保护装置。
步骤204:入口点分析模块分析入口点函数的数据。
步骤205:加密模块对入口点函数数据进行加密。
步骤206:存取模块将加密后的入口点函数存入软件保护装置。
步骤207:资源分析模块分析资源数据。
步骤208:加密模块对资源数据进行加密。
步骤209:存取模块将加密后的资源数据存入保护装置。
步骤210:清除原始文件中的数据。
步骤211:文件链接模块将新构建的输入表、文件运行模块、数据存取模块及解密模块,注入到被保护的原始文件中,构建成为镜像文件。
第二阶段的处理流程如图3所示,包括如下步骤:
步骤301:文件运行模块修复输入表中的输入地址表(IAT,Import AddressTable),将IAT修复为中转模块的地址。
步骤302:文件运行模块对资源相关函数进行挂钩。
步骤303:数据存取模块从文件保护装置中取出加密后的入口点函数。
步骤304:解密模块从文件保护装置中取出解密密钥,入口点函数相关的数据。
步骤305:执行解密后的入口点函数,跳转到原程序继续执行。
步骤306:执行到某个应用程序接口(API)调用时,中转模块调用数据存取模块从文件保护装置内取出函数名称和所在DLL,解密后获取函数地址,跳转到真实函数的地址。
步骤307:调用资源相关函数时,挂钩后的资源函数从文件保护装置内取出加密后的资源数据,解密后,返回解密后的资源数据。
以下以微软Windows系统下32位的PE文件为例,来描述申请实施例提供的软件保护装置实现可执行文件保护的具体过程。PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。PE文件被称为可移植的执行体是PortableExecute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件。
PE文件结构如图4所示,主要包括区段(Section)、区段表(Section Table)、PE头部(PE Header)和DOS头部(DOS Header)。PE文件各个部分的详细定义可参阅微软windows系统的联机帮助,在此不做过多介绍。
输入表分析模块101,根据PE文件的IMAGE_DOS_HEADER中的e_lfanew找到IMAGE_NT_HEADERS数据结构,根据IMAGE_NT_HEADERS中的数据结构IMAGE_OPTIONAL_HEADER32中的DataDirectory找到数据目录,其中第2个数据目录为文件的输入表。通过分析文件的输入表,将原始文件的输入表的函数名称及该函数所在的DLL名称数据保存,将原始文件的输入表内容清除,构建新的输入表,新的输入表中只包含kernel32.dll的LoadLibraryA和GetProcAddress函数。
入口点分析模块102,根据文件的IMAGE_DOS_HEADER中的e_lfanew找到IMAGE_NT_HEADERS数据结构,根据IMAGE_NT_HEADERS中的数据结构IMAGE_OPTIONAL_HEADER32中的AddressOfEntryPoint字段找到入口点函数的地址,分析文件的入口点函数,将入口点处的函数的二进制代码保存,将入口点函数用无效字符0xCC填充。
资源分析模块103,根据文件的IMAGE_DOS_HEADER的e_lfanew找到IMAGE_NT_HEADERS数据结构,根据IMAGE_NT_HEADERS中的数据结构IMAGE_OPTIONAL_HEADER32中的DataDirectory找到数据目录,其中第3个数据目录为文件资源的地址,分析文件的资源,对于资源中的目录保持不变,对于资源目录后面的资源数据进行保存,将原始文件的资源数据清空。
加密模块104对原始文件的数据进行加密,加密用的密钥通过保护装置协商的来,加密算法采用AES加密算法。所述原始文件的数据包括但不限于原始输入表的数据、入口点函数的数据及资源数据。
数据存取模块105,负责将数据存入软件保护装置100或者从软件保护装置100中取出已保存的数据。
解密模块106,首先从软件保护装置100内取出AES解密密钥,对从软件保护装置100内取出的数据进行解密。
文件运行模块107,被保护后的文件运行时,将输入表中的IAT地址替换为中转模块地址,中转模块被调用时通过存取模块将加密后的函数名称和该函数所在的DLL名称从存储模块中取出,通过解密模块对取出的函数名称和该函数所在的DLL名称进行解密。中转模块获取函数的地址并跳转到函数地址执行;文件运行模块107通过数据存取模块105将加密后的入口点处的函数取出,通过解密模块106将密钥从软件保护装置中取出并对函数解密。在文件运行模块107执行入口点处的函数,运行完成后返回文件继续运行,文件运行模块107对资源相关函数(FindResourceExW、FindResourceExA、FindResourceW、FindResourceA、SizeofResource、LoadResource)进行挂钩,文件运行时若需要资源数据,挂钩后的函数将通过数据存取模块105将资源从文件保护装置100内取出,通过解密模块106将密钥从文件保护装置100中取出并对资源数据解密,将解密后的数据返回给资源相关的函数,使文件顺利运行。
文件链接模块108,负责将新构建的输入表、数据存取模块、解密模块及文件运行模块注入到原始文件,构建成为镜像文件。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种保护可执行文件的方法,其特征在于,包括:
A、获取原始文件的输入表、入口点函数和资源数据,通过加密算法对输入表、入口点函数和资源数据进行加密后存入软件保护装置,清除原始文件中的输入表、入口点函数和资源数据,并构建新的输入表;新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;
B、将新构建的输入表、文件运行模块、数据存取模块和解密模块注入到所述原始文件中,构建成为镜像文件;
C、镜像文件运行时,文件运行模块将镜像文件中的输入表中的输入地址表替换为中转模块的地址;
D、文件运行模块通过数据存取模块从文件保护装置中取出加密后的入口点函数;
E、解密模块对入口点函数进行解密并执行解密后的入口点函数,执行完毕后跳转到镜像文件继续执行。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
文件运行模块对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;
镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据,解密后,返回解密后的资源数据。
3.根据权利要求1所述的方法,其特征在于,步骤E之后进一步包括:如果要调用应用程序接口,中转模块通过数据存取模块从文件保护装置内取出该应用程序接口对应的函数名称和所在动态链接库,中转模块通过解密模块解密函数所在的动态链接库名称及函数名称,根据解密后的动态链接库名称及函数名称获取函数地址,然后跳转到所述函数地址继续执行。
4.根据权利要求1所述的方法,其特征在于,所述加密算法为对称加密算法或者非对称算法。
5.根据权利要求1所述的方法,其特征在于,步骤A所述清除原始文件中的入口点函数进一步包括:将入口点函数用无效字符填充。
6.一种保护可执行文件的系统,其特征在于,包括输入表分析模块、入口点分析模块、资源分析模块、加密模块、数据存取模块、解密模块、文件运行模块、文件链接模块、中转模块和软件保护装置;
软件保护装置用于存储密钥,以及存储来自数据存取模块的加密后的数据; 
所述输入表分析模块,用于分析需要被保护的原始文件的输入表,将原始文件的输入表输出至加密模块,清空原始文件中输入表的内容;
所述入口点分析模块,用于分析原始文件的入口点函数,将入口点函数的二进制代码输出至加密模块,将原始文件中的入口点函数清空;
所述资源分析模块,用于分析原始文件的资源数据,将文件的资源数据输出至加密模块,将原始文件的资源数据清空;
所述加密模块,用于对原始文件的数据进行加密,通过加密算法对输入表、入口点函数、资源数据进行加密,加密用的密钥通过与软件保护装置协商获得;
所述数据存取模块,用于将加密后的数据存入软件保护装置或者从软件保护装置中取出已保存的加密后的数据;
所述解密模块,负责对从软件保护装置内取出的加密后的数据进行解密;
所述文件运行模块,用于在镜像文件运行时,将镜像文件中的的输入表中的输入地址表地址替换为中转模块地址;
所述文件链接模块,用于构建新的输入表,新构建的输入表只包含装载动态链接库的函数和获取函数地址的函数;以及用于将新构建的输入表、数据存取模块、解密模块、中转模块及文件运行模块注入到原始文件,构建成为镜像文件;
所述中转模块,用于在被调用时通过数据存取模块将加密后的输入表从软件保护装置中取出,通过解密模块对输入表解密,中转模块执行解密后的输入表中的函数。
7.根据权利要求6所述的系统,其特征在于,文件运行模块进一步用于对原始文件中的资源相关函数进行挂钩,将资源相关函数转向到自定义的资源处理函数;镜像文件调用资源相关函数时,挂钩后的自定义资源处理函数从文件保护装置内取出加密后的资源数据送入解密模块进行解密;解密后,返回解密后的资源数据。
8.根据权利要求6所述的系统,其特征在于,所述中转模块进一步用于调用数据存取模块从文件保护装置内取出函数所在的动态链接库名称和函数名称,通过解密模块对函数所在的动态链接库名称和函数进行解密,获取函数地址,跳转到获取函数地址处继续执行。
9.根据权利要求6所述的系统,其特征在于,所述加密算法为对称加密算法或者非对称算法。
10.根据权利要求6所述的系统,其特征在于,所述入口点分析模块进一步用于将原始文件中的入口点函数用无效字符填充。 
CN201210384792.8A 2012-10-11 2012-10-11 一种保护可执行文件的方法及系统 Active CN102890758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210384792.8A CN102890758B (zh) 2012-10-11 2012-10-11 一种保护可执行文件的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210384792.8A CN102890758B (zh) 2012-10-11 2012-10-11 一种保护可执行文件的方法及系统

Publications (2)

Publication Number Publication Date
CN102890758A true CN102890758A (zh) 2013-01-23
CN102890758B CN102890758B (zh) 2014-12-17

Family

ID=47534259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210384792.8A Active CN102890758B (zh) 2012-10-11 2012-10-11 一种保护可执行文件的方法及系统

Country Status (1)

Country Link
CN (1) CN102890758B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186746A (zh) * 2013-03-26 2013-07-03 北京深思数盾科技有限公司 一种可执行文件的保护方法及系统
CN103413074A (zh) * 2013-07-08 2013-11-27 北京深思数盾科技有限公司 一种通过api实现软件保护的方法和装置
CN103413071A (zh) * 2013-07-09 2013-11-27 北京深思数盾科技有限公司 一种保护软件中数据的方法
CN103488919A (zh) * 2013-09-24 2014-01-01 北京深思数盾科技有限公司 一种可执行程序的保护方法及装置
CN103532697A (zh) * 2013-10-22 2014-01-22 北京深思数盾科技有限公司 一种无线信息安全设备的实现方法及系统
CN103617401A (zh) * 2013-11-25 2014-03-05 北京深思数盾科技有限公司 一种数据文件保护方法及装置
CN103702323A (zh) * 2013-12-19 2014-04-02 北京深思数盾科技有限公司 一种无线信息安全设备系统及方法
CN103902858A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 一种apk应用加固的方法及系统
CN103955636A (zh) * 2014-04-21 2014-07-30 魏珉 程序实现的安全实时动态加载技术
CN104091100A (zh) * 2014-07-15 2014-10-08 电子科技大学 一种基于编译中间结果的软件保护方法
CN106709282A (zh) * 2016-06-28 2017-05-24 腾讯科技(深圳)有限公司 资源文件解密方法及装置
CN107341373A (zh) * 2017-06-30 2017-11-10 北京深思数盾科技股份有限公司 一种可执行程序的保护方法及装置
CN107480479A (zh) * 2017-08-15 2017-12-15 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN108804937A (zh) * 2018-06-12 2018-11-13 广州华多网络科技有限公司 系统函数调用方法及相关装置
CN108829579A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 可执行文件的分析方法、装置、存储介质和处理器
CN108897994A (zh) * 2018-06-19 2018-11-27 广州华多网络科技有限公司 隐藏导入表的方法、装置、存储介质和计算机设备
CN110750802A (zh) * 2019-10-14 2020-02-04 创元网络技术股份有限公司 基于拟态防御针对关键数据进行保护的架构
CN112131536A (zh) * 2020-05-19 2020-12-25 北京天德科技有限公司 一种防止Java程序被反编译的方法
CN113672984A (zh) * 2021-08-25 2021-11-19 武汉天喻信息产业股份有限公司 基于文件结构设计的链接方法及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060230451A1 (en) * 2005-04-07 2006-10-12 Microsoft Corporation Systems and methods for verifying trust of executable files
CN1987886A (zh) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 一种在软件保护装置中实现软件保护的方法与装置
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
US20110191593A1 (en) * 2009-10-12 2011-08-04 Safenet, Inc. Software License Embedded In Shell Code
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102609284A (zh) * 2012-02-01 2012-07-25 上海游安网络科技有限公司 可执行文件安全加载的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060230451A1 (en) * 2005-04-07 2006-10-12 Microsoft Corporation Systems and methods for verifying trust of executable files
CN1987886A (zh) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 一种在软件保护装置中实现软件保护的方法与装置
CN102004884A (zh) * 2009-08-28 2011-04-06 华为技术有限公司 一种获取可执行文件输入表的方法及装置
US20110191593A1 (en) * 2009-10-12 2011-08-04 Safenet, Inc. Software License Embedded In Shell Code
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102609284A (zh) * 2012-02-01 2012-07-25 上海游安网络科技有限公司 可执行文件安全加载的方法

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186746A (zh) * 2013-03-26 2013-07-03 北京深思数盾科技有限公司 一种可执行文件的保护方法及系统
CN103186746B (zh) * 2013-03-26 2016-05-18 北京深思数盾科技股份有限公司 一种可执行文件的保护方法及系统
CN103413074B (zh) * 2013-07-08 2016-03-16 北京深思数盾科技有限公司 一种通过api实现软件保护的方法和装置
CN103413074A (zh) * 2013-07-08 2013-11-27 北京深思数盾科技有限公司 一种通过api实现软件保护的方法和装置
CN103413071A (zh) * 2013-07-09 2013-11-27 北京深思数盾科技有限公司 一种保护软件中数据的方法
CN103413071B (zh) * 2013-07-09 2016-03-23 北京深思数盾科技有限公司 一种保护软件中数据的方法
CN103488919A (zh) * 2013-09-24 2014-01-01 北京深思数盾科技有限公司 一种可执行程序的保护方法及装置
CN103488919B (zh) * 2013-09-24 2017-03-29 北京深思数盾科技股份有限公司 一种可执行程序的保护方法及装置
CN103532697A (zh) * 2013-10-22 2014-01-22 北京深思数盾科技有限公司 一种无线信息安全设备的实现方法及系统
CN103532697B (zh) * 2013-10-22 2017-08-25 北京深思数盾科技股份有限公司 一种无线信息安全设备的实现方法及系统
CN103617401B (zh) * 2013-11-25 2017-02-08 北京深思数盾科技股份有限公司 一种数据文件保护方法及装置
CN103617401A (zh) * 2013-11-25 2014-03-05 北京深思数盾科技有限公司 一种数据文件保护方法及装置
CN103702323A (zh) * 2013-12-19 2014-04-02 北京深思数盾科技有限公司 一种无线信息安全设备系统及方法
CN103702323B (zh) * 2013-12-19 2018-05-11 北京深思数盾科技股份有限公司 一种无线信息安全设备系统及方法
CN103902858A (zh) * 2013-12-25 2014-07-02 武汉安天信息技术有限责任公司 一种apk应用加固的方法及系统
CN103955636A (zh) * 2014-04-21 2014-07-30 魏珉 程序实现的安全实时动态加载技术
CN104091100A (zh) * 2014-07-15 2014-10-08 电子科技大学 一种基于编译中间结果的软件保护方法
CN104091100B (zh) * 2014-07-15 2017-02-15 电子科技大学 一种基于编译中间结果的软件保护方法
CN106709282A (zh) * 2016-06-28 2017-05-24 腾讯科技(深圳)有限公司 资源文件解密方法及装置
CN106709282B (zh) * 2016-06-28 2018-10-02 腾讯科技(深圳)有限公司 资源文件解密方法及装置
CN107341373A (zh) * 2017-06-30 2017-11-10 北京深思数盾科技股份有限公司 一种可执行程序的保护方法及装置
CN107480479B (zh) * 2017-08-15 2020-08-07 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN107480479A (zh) * 2017-08-15 2017-12-15 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN108829579A (zh) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 可执行文件的分析方法、装置、存储介质和处理器
CN108804937B (zh) * 2018-06-12 2021-03-02 广州华多网络科技有限公司 系统函数调用方法及相关装置
CN108804937A (zh) * 2018-06-12 2018-11-13 广州华多网络科技有限公司 系统函数调用方法及相关装置
CN108897994A (zh) * 2018-06-19 2018-11-27 广州华多网络科技有限公司 隐藏导入表的方法、装置、存储介质和计算机设备
CN108897994B (zh) * 2018-06-19 2022-07-08 广州华多网络科技有限公司 隐藏导入表的方法、装置、存储介质和计算机设备
CN110750802A (zh) * 2019-10-14 2020-02-04 创元网络技术股份有限公司 基于拟态防御针对关键数据进行保护的架构
CN112131536A (zh) * 2020-05-19 2020-12-25 北京天德科技有限公司 一种防止Java程序被反编译的方法
CN112131536B (zh) * 2020-05-19 2021-07-20 北京天德科技有限公司 一种防止Java程序被反编译的方法
CN113672984A (zh) * 2021-08-25 2021-11-19 武汉天喻信息产业股份有限公司 基于文件结构设计的链接方法及可读存储介质

Also Published As

Publication number Publication date
CN102890758B (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN102890758B (zh) 一种保护可执行文件的方法及系统
RU2620712C2 (ru) Устройство виртуальной машины, имеющее управляемую ключом обфускацию, и способ
JP5337411B2 (ja) 情報秘匿化方法および情報秘匿化装置
KR102433011B1 (ko) Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체
CN101261666B (zh) 一种通过加密可执行程序文件实现软件版权保护的方法
CN104794388B (zh) 应用程序存取保护方法及应用程序存取保护装置
WO2003090021A2 (en) Security framework for protecting rights in computer software
CN104268444A (zh) 一种云OS Java源代码保护方法
Rahimian et al. On the reverse engineering of the citadel botnet
CN106650327A (zh) 基于动态恢复so文件的Android应用加固方法
CN103902858A (zh) 一种apk应用加固的方法及系统
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
CN110855433B (zh) 基于加密算法的数据加密方法、装置及计算机设备
US20140108818A1 (en) Method of encrypting and decrypting session state information
CN108256342B (zh) Shader文件的加密方法、装置及解密方法、装置
CN106789051B (zh) 一种保护文件的方法、装置和计算设备
JP2017509942A (ja) 暗号アルゴリズムで使用されるときに秘密データを保護する方法
US20200082060A1 (en) Secure calling convention system and methods
KR101749209B1 (ko) 애플리케이션의 정보 은닉 방법 및 장치, 및 애플리케이션 실행 방법 및 장치
CN104866740A (zh) 一种防静态分析文件的方法及装置
EP2674892A1 (en) A method, a device and a computer program support for execution of encrypted computer code
CN109992974A (zh) 虚拟机字节码文件的保护方法、设备及可读存储介质
CN107180170A (zh) 一种Android APP无壳加固方法
CN107688729B (zh) 基于可信主机的应用程序保护系统及方法
CN106845169B (zh) 一种Jar包加固方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150116

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150116

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder