CN105095771B - 一种共享目标文件的保护方法及装置 - Google Patents
一种共享目标文件的保护方法及装置 Download PDFInfo
- Publication number
- CN105095771B CN105095771B CN201410192890.0A CN201410192890A CN105095771B CN 105095771 B CN105095771 B CN 105095771B CN 201410192890 A CN201410192890 A CN 201410192890A CN 105095771 B CN105095771 B CN 105095771B
- Authority
- CN
- China
- Prior art keywords
- file destination
- shared file
- code section
- description information
- module
- 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.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种共享目标文件的保护方法及装置,涉及通信技术领域,能够实现对共享目标文件的快速保护。该方法主要包括:获取共享目标文件的程序头表,所述程序头表中包含段描述信息;根据所述段描述信息,获取需要加密的原代码段;将所述原代码段进行加密处理,得到加密代码段和加密描述信息;根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。本发明主要用于对共享目标文件进行保护的过程中。
Description
技术领域
本发明涉及通信技术领域,具体涉及数据安全技术领域,尤其涉及一种共享目标文件的保护方法及装置。
背景技术
每个Android安装包(Android Package,APK)文件中都包括有共享目标文件(Shared object file,SO),Android中的SO文件类似于Windows中的动态链接库文件(Dynamic Link Library,DLL),其所包含的函数本身不会被当作是Android程序的一部分,而是可以根据程序的需要进行加载运行。对于一些安全要求高的Android应用程序(比如手机银行客户端等),通常使用SO文件来完成后端的核心动作,因此需要SO文件具备很高的安全性。
现有技术中为了提高共享目标文件的安全性,会对共享目标文件进行保护处理,通常采取的保护方法包括:在开发阶段进行加密处理或使用软件开发工具包的形式进行二次包裹等。但是,这些保护方法需要用户修改源码或程序的核心逻辑,无法实现快速的加固,难以应用到大众用户的通用保护层面。
发明内容
有鉴于此,本发明实施例提供一种共享目标文件的保护方法及装置,以实现对共享目标文件的快速加固。
一方面,本发明实施例提供了一种共享目标文件的保护方法,该方法包括:
获取共享目标文件的程序头表,所述程序头表中包含段描述信息;
根据所述段描述信息,获取需要加密的原代码段;
将所述原代码段进行加密处理,得到加密代码段和加密描述信息;
根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。
另一方面,本发明实施例提供了一种共享目标文件的保护装置,该装置包括:
表获取模块,用于获取共享目标文件的程序头表,所述程序头表中包含段描述信息;
段获取模块,用于根据所述表获取模块得到的段描述信息,获取需要加密的原代码段;
加密模块,用于将所述段获取模块得到的原代码段进行加密处理,得到加密代码段和加密描述信息;
构建模块,用于根据所述加密模块得到的加密代码段、加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。
本发明实施例提出的一种共享目标文件的保护方法及装置,将共享目标文件中的原代码段进行加密处理,并根据加密后得到的加密代码段和加密描述信息来构建受保护的共享目标文件,该方法可以在不修改程序的源码或核心逻辑的情况下,实现对共享目标文件的保护,提高了共享目标文件对抗静态逆向破解的能力。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明的一个实施例提供的一种共享目标文件的保护方法流程图;
图2是本发明的一个实施例提供的另一种共享目标文件的保护方法流程图;
图3是本发明的一个实施例提供的又一种共享目标文件的保护方法流程图;
图4是本发明的一个实施例提供的一种共享目标文件的保护装置的组成框图;
图5是本发明的一个实施例提供的另一种共享目标文件的保护装置的组成框图;
图6是本发明的一个实施例提供的又一种共享目标文件的保护装置的组成框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
本发明的具体实施例提供了一种共享目标文件的具体保护方法,如图1所示,该方法在执行时,包括如下步骤:
101、获取共享目标文件的程序头表,所述程序头表中包含段描述信息。
其中,上述共享目标文件即SO文件的格式符合ELF(Executable and LinkableFormat,可执行连接格式)规范,而一个标准的ELF文件在运行时,通常可以划分为以下几个部分,包括:ELF文件头(ELF Header)、程序头表(Program header table)、动态链接信息以及段(Segment)等内容。
在获取上述共享目标文件的程序头表时,可以根据程序头表在共享目标文件中的偏移量,定位并获取到所述程序头表。在所述程序头表中包含有段描述信息,所述段描述信息用于记载文件中所包含的段的数目,段的位置以及用途等信息。根据段的用途,可以将ELF文件中的段大致分为两类:代码段和数据段,其中,代码段中主要存放有文件运行时需要执行的具体代码,数据段中主要存放有代码执行过程中需要使用的变量以及一些注释信息等数据。
102、根据所述段描述信息,获取需要加密的原代码段。
具体地,在根据所述段描述信息获取需要加密的原代码段时,可以根据所述段描述信息中关于段用途的描述信息,判断出上述共享目标文件中哪些段是代码段,哪些段是数据段。由于加密的主要目的是隐藏程序中的原始执行代码,因此,可以将所述共享目标文件的代码段作为需要加密的原代码段。
103、将所述原代码段进行加密处理,得到加密代码段和加密描述信息。
具体地,在将上述原代码段进行加密处理时,可以利用常用的数据加密算法,例如AES(Advanced Encryption Standard,高级加密标准)、MD5(Message Digest Algorithm5,消息摘要算法第五版)及DES(Data Encryption Standard,美国数据加密标准)等,对所述原代码段进行数据加密,即对原来的明文代码数据进行算法处理,使得加密处理后的所述原代码段成为不可读的代码,即加密代码段。并且,在上述加密处理完成后,还可以得到加密描述信息,其用于记录加密代码段的存放位置和大小等信息,以便在解密时使用。
104、根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。
具体地,在根据上述加密代码段、上述加密描述信息以及上述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件时,可以将共享目标文件中的原代码段替换为所述加密代码段和所述加密描述信息,并保持所述共享目标文件中除所述原代码段以外的其他数据不变,然后修改各数据在文件中的偏移量,这样就可以得到受保护的共享目标文件。
在本实施例的一个优选实施方式中,在构建受保护的共享目标文件时,还可以首先根据上述共享目标文件的平台类型重新构建一个空的共享目标文件,其中,所述平台是指Android软件可以运行在其上的指令集架构,包括:ARM(Advanced RISC Machines)、X86和MIPS(Million Instructions Per Second),其中ARM和MIPS均是基于精简指令集机器处理器的架构,而X86是由Intel公司推出的一种基于复杂指令集的架构,然后按照ELF文件的规范,将上述加密代码段、上述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,写入所述空的共享目标文件中的相应位置就得到了受保护的共享目标文件,从而使得本发明实施例提供的共享目标文件的保护方法可以适用于Android软件运行的各平台。
本实施例提出的一种共享目标文件的保护方法,通过将共享目标文件中的原代码段进行加密处理,并根据加密后得到的加密代码段和加密描述信息来构建受保护的共享目标文件,该方法可以在不修改程序的源码或核心逻辑的情况下,实现对共享目标文件的保护,提高了共享目标文件对抗静态逆向破解的能力。
进一步地,本发明的具体实施例提供了另一种共享目标文件的具体保护方法,如图2所示,该方法在执行时,包括如下步骤:
201、判断共享目标文件是否符合加密条件。
具体地,在判断共享目标文件是否符合加密条件时,可以根据ELF文件的格式特点,读取所述共享目标文件在指定偏移位置处的具体数据,然后判断这些数据是否符合ELF文件的格式要求,例如,通过计算ELF文件头的大小是否正好为52个字节,来判断所述共享目标文件是否符合加密条件。
优选地,上述加密条件包括加密文件类型、文件未受损和文件未加密中的一个或多个。
其中,上述加密文件类型可以是指待保护的文件应该是APK文件中的SO文件;文件未受损可以是指文件保存完整,没有被破坏过;文件未加密可以是指文件的代码保持在原始状态,之前没有经过任何加密处理。
相应的,在判断共享目标文件是否符合加密条件时,既可以仅对上述加密文件类型、文件未受损和文件未加密中的一个条件进行判断,还可以任意选取两个条件进行判断,也可以对三个条件都进行判断,例如,可以先判断上述共享目标文件是否为APK文件中的SO文件,若是,则再判断所述共享目标文件是否没有加密过,若是,则进一步判断所述共享目标文件是否完整,在上述判断过程中若一项结果为否,则停止判断,若结果都为是,则判定所述共享目标文件符合加密条件。
本领域普通技术人员可以理解,不论具体选择几个加密条件进行判断,也不论判断的先后顺序如何排列,都可以实现本发明实施例对共享目标文件是否符合加密条件进行判断的步骤,因此,都在本发明的保护范围内。
202、若是,则执行所述获取共享目标文件的程序头表,所述程序头表中包含段描述信息。
当判断出上述共享目标文件符合加密条件时,就可以继续执行后续的对所述共享目标文件进行保护的操作,即获取共享目标文件的程序头表;当判断出上述共享目标文件不符合加密条件时,那么对所述共享目标文件进行保护的操作就可以自动终止,并可以进一步提示用户保护操作失败及失败原因。
203、根据所述段描述信息,获取需要加密的原代码段。
204、将所述原代码段进行加密处理,得到加密代码段和加密描述信息。
205、根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。
本实施例进一步通过对共享目标文件是否符合加密条件进行判断,仅对符合加密条件的文件进行后续的保护操作,进一步提高了对共享目标文件进行保护的效率。
进一步地,本发明的具体实施例提供了又一种共享目标文件的具体保护方法,如图3所示,该方法在执行时,包括如下步骤:
301、判断共享目标文件是否符合加密条件。
302、若是,则执行获取共享目标文件的程序头表,所述程序头表中包含段描述信息。
303、根据所述段描述信息,获取需要加密的原代码段。
304、将所述原代码段进行加密处理,得到加密代码段和加密描述信息。
305、根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。
306、在所述受保护的共享目标文件中设置引导模块和与所述引导模块对应的全局变量,其中,当所述受保护的共享目标文件运行时调用所述引导模块,进行调用所述全局变量并根据所述加密描述信息对所述加密代码段进行解密的操作。
为了保证受保护的共享目标文件在程序执行的过程中可以顺利运行,就需要对所述受保护的共享目标文件中的加密代码段进行解密处理,然后才能执行相关代码功能,因此,需要在所述受保护的共享目标文件中设置一个引导模块,以完成相关解密功能。
当在所述受保护的共享目标文件中设置引导模块时,可以使用ARM汇编语言或其他编程语言来编写所述引导模块,然后将其保存在所述受保护的共享目标文件中。同时,由于所述引导模块在运行时,还需要调用一些全局变量才能顺利运行,因此需要将与所述引导模块对应的全局变量也保存在所述受保护的共享目标文件中。当所述受保护的共享目标文件运行时,可以调用所述引导模块,然后所述引导模块可以调用所述全局变量进行针对加密代码段的解密操作,具体地,所述引导程序可以根据上述加密描述信息,获取加密代码段的存储位置、大小和加密算法等信息,然后根据上述多个信息对所述加密代码段进行与上述加密对应的解密处理。
307、修改所述受保护的共享目标文件的入口点,使得所述入口点指向所述引导模块。
其中,所述入口点就是程序最开始执行的那一个函数,也可以称为入口函数。具体地,在修改所述受保护的共享目标文件的入口点时,可以修改ELF文件格式中规定的入口点变量,使其指向所述引导模块。这样,在运行所述受保护的共享目标文件时,由于入口点指向所述引导模块,因此程序可以首先运行所述引导模块,然后由所述引导模块对上述加密代码段进行解密操作,当解密完成后再将程序的控制权交还给Android系统,从而可以确保文件运行时首先对加密代码段进行解密操作,以得到能够顺利执行的代码。
需要说明的是,本发明实施例对上述加密代码段、加密描述信息、引导模块以及全局变量在上述受保护的共享目标文件中的具体存放位置和顺序不作限定。
优选地,在根据所述加密描述信息对所述加密代码段进行解密之后,还包括:将解密后的加密代码段放置在内存中紧邻所述受保护的共享目标文件的动态链接信息之后的位置。
当共享目标文件在内存中运行时,要执行的具体代码段必须紧跟在共享目标文件的动态链接信息之后,才能够被Android系统顺利运行。因此,为了确保解密后的加密代码段能够被执行,还需要将解密后的加密代码段放置在内存中紧邻所述受保护的共享目标文件的动态链接信息之后的位置,也就是将解密后的加密代码段顺序写入所述动态链接信息之后的内存空间。
本实施例进一步在受保护的共享目标文件中设置引导模块及与其对应的全局变量,使得受保护的共享目标文件在运行时可以通过引导模块对加密代码段进行解密处理,确保了受保护的共享目标文件的顺利运行。
本发明的具体实施方式提供了一种共享目标文件的保护装置,如图4所示,该装置包括:表获取模块41、段获取模块42、加密模块43和构建模块44。
表获取模块41,用于获取共享目标文件的程序头表,所述程序头表中包含段描述信息。具体可以根据程序头表在共享目标文件中的偏移量,定位并获取到所述程序头表,所述程序头表中的段描述信息用于记载文件中所包含的段的数目,段的位置以及用途等信息。
段获取模块42,用于根据所述表获取模块41得到的段描述信息,获取需要加密的原代码段。具体可以根据所述段描述信息中关于段用途的描述信息,判断出上述共享目标文件中哪些段是代码段,哪些段是数据段,并将所述共享目标文件的代码段作为需要加密的原代码段。
加密模块43,用于将所述段获取模块42得到的原代码段进行加密处理,得到加密代码段和加密描述信息。具体可以利用常用的数据加密算法对所述原代码段进行数据加密,得到加密代码段和用于记录加密代码段的存放位置和大小等信息的加密描述信息。
构建模块44,用于根据所述加密模块43得到的加密代码段、加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件。具体可以将共享目标文件中的原代码段替换为所述加密代码段和所述加密描述信息,得到受保护的共享目标文件;也可以将加密代码段、加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,写入空的共享目标文件中,得到受保护的共享目标文件。
进一步地,如图5所示,上述共享目标文件的保护装置,还包括:判断模块45,用于判断共享目标文件是否符合加密条件。具体可以读取所述共享目标文件在指定偏移位置处的具体数据,然后判断这些数据是否符合ELF文件的格式要求。
当判定上述共享目标文件符合加密条件时,则调用上述表获取模块41执行获取共享目标文件的程序头表的操作。
优选地,所述加密条件包括加密文件类型、文件未受损和文件未加密中的一个或多个。
进一步地,如图6所示,上述共享目标文件的保护装置,还包括:设置模块46和修改模块47。
设置模块46,用于在所述构建模块44构建的受保护的共享目标文件中设置引导模块和与所述引导模块对应的全局变量,其中,当所述受保护的共享目标文件运行时调用所述引导模块,进行调用所述全局变量并根据所述加密描述信息对所述加密代码段进行解密的操作。
修改模块47,用于修改所述设置模块46得到的受保护的共享目标文件的入口点,使得所述入口点指向所述引导模块。
优选地,引导模块在根据所述加密描述信息对所述加密代码段进行解密之后,还可以将解密后的加密代码段放置在内存中紧邻所述受保护的共享目标文件的动态链接信息之后的位置。
本发明实施例提出的一种共享目标文件的保护装置,通过将共享目标文件中的原代码段进行加密处理,并根据加密后得到的加密代码段和加密描述信息来构建受保护的共享目标文件,该装置可以在不修改程序的源码或核心逻辑的情况下,实现对共享目标文件的保护,提高了共享目标文件对抗静态逆向破解的能力。
进一步地,本发明实施例提出的共享目标文件的保护装置还可以通过对共享目标文件是否符合加密条件进行判断,仅对符合加密条件的文件进行后续的保护操作,进一步提高了对共享目标文件进行保护的效率。
进一步地,本发明实施例提出的共享目标文件的保护装置还可以在受保护的共享目标文件中设置引导模块及与其对应的全局变量,使得受保护的共享目标文件在运行时可以通过引导模块对加密代码段进行解密处理,确保了受保护的共享目标文件的顺利运行。
本领域普通技术人员可以理解,本发明的多个方面可以采用一种方法、完全的硬件实施例、完全的软件实施例,或者将软件和硬件方面相接合的实施例的形式。
此外,本发明可以采取计算机可读存储介质的形式,所述存储介质可以采用许多形式,包括非易失性介质和易失性介质,但是并不局限于此。例如,非易失性介质包括ROM/RAM,磁盘,光盘等。易失性介质包括动态存储器等。本发明实施例中涉及的方法中的全部或部分步骤是可以通过承载在该计算机可读存储介质中的程序来指令相关的硬件来完成的。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种共享目标文件的保护方法,其特征在于,所述方法包括:
获取共享目标文件的程序头表,所述程序头表中包含段描述信息;
根据所述段描述信息,获取需要加密的原代码段;
将所述原代码段进行加密处理,得到加密代码段和加密描述信息;
根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件;
在所述受保护的共享目标文件中设置引导模块和与所述引导模块对应的全局变量,其中,当所述受保护的共享目标文件运行时调用所述引导模块,进行调用所述全局变量并根据所述加密描述信息对所述加密代码段进行解密的操作;
修改所述受保护的共享目标文件的入口点,使得所述入口点指向所述引导模块;
其中,所述根据所述加密代码段、所述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件,包括:
根据共享目标文件的平台类型重新构建一个空的共享目标文件,其中,所述平台是Android软件运行在所述平台上的指令集架构;
按照ELF文件的规范,将上述加密代码段、上述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,写入所述空的共享目标文件中的相应位置,得到受保护的共享目标文件。
2.根据权利要求1所述的共享目标文件的保护方法,其特征在于,在所述获取共享目标文件的程序头表之前,还包括:
判断共享目标文件是否符合加密条件;
若是,则执行所述获取共享目标文件的程序头表。
3.根据权利要求2所述的共享目标文件的保护方法,其特征在于,所述加密条件包括加密文件类型、文件未受损和文件未加密中的一个或多个。
4.根据权利要求1-3任一项所述的共享目标文件的保护方法,其特征在于,在根据所述加密描述信息对所述加密代码段进行解密之后,还包括:
将解密后的加密代码段放置在内存中紧邻所述受保护的共享目标文件的动态链接信息之后的位置。
5.一种共享目标文件的保护装置,其特征在于,所述装置包括:
表获取模块,用于获取共享目标文件的程序头表,所述程序头表中包含段描述信息;
段获取模块,用于根据所述表获取模块得到的段描述信息,获取需要加密的原代码段;
加密模块,用于将所述段获取模块得到的原代码段进行加密处理,得到加密代码段和加密描述信息;
构建模块,用于根据所述加密模块得到的加密代码段、加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,构建受保护的共享目标文件;
设置模块,用于在所述构建模块构建的受保护的共享目标文件中设置引导模块和与所述引导模块对应的全局变量,其中,当所述受保护的共享目标文件运行时调用所述引导模块,进行调用所述全局变量并根据所述加密描述信息对所述加密代码段进行解密的操作;
修改模块,用于修改所述设置模块得到的受保护的共享目标文件的入口点,使得所述入口点指向所述引导模块;
其中,所述构建模块具体配置用于:
根据共享目标文件的平台类型重新构建一个空的共享目标文件,其中,所述平台是Android软件运行在所述平台上的指令集架构;
按照ELF文件的规范,将上述加密代码段、上述加密描述信息以及所述共享目标文件中除所述原代码段以外的其他数据,写入所述空的共享目标文件中的相应位置,得到受保护的共享目标文件。
6.根据权利要求5所述的共享目标文件的保护装置,其特征在于,还包括:
判断模块,用于判断共享目标文件是否符合加密条件;
若是,则调用所述表获取模块执行所述获取共享目标文件的程序头表。
7.根据权利要求6所述的共享目标文件的保护装置,其特征在于,所述加密条件包括加密文件类型、文件未受损和文件未加密中的一个或多个。
8.根据权利要求5-7任一项所述的共享目标文件的保护装置,其特征在于,在根据所述加密描述信息对所述加密代码段进行解密之后,还包括:
将解密后的加密代码段放置在内存中紧邻所述受保护的共享目标文件的动态链接信息之后的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410192890.0A CN105095771B (zh) | 2014-05-08 | 2014-05-08 | 一种共享目标文件的保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410192890.0A CN105095771B (zh) | 2014-05-08 | 2014-05-08 | 一种共享目标文件的保护方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095771A CN105095771A (zh) | 2015-11-25 |
CN105095771B true CN105095771B (zh) | 2018-12-28 |
Family
ID=54576176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410192890.0A Active CN105095771B (zh) | 2014-05-08 | 2014-05-08 | 一种共享目标文件的保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095771B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292132B (zh) * | 2016-03-30 | 2023-03-14 | 北京娜迦信息科技发展有限公司 | 用于安卓系统的共享对象文件的加载方法与装置 |
CN106599629B (zh) * | 2016-12-16 | 2021-08-06 | Tcl科技集团股份有限公司 | 一种安卓应用程序加固方法及装置 |
CN106874715A (zh) * | 2016-12-30 | 2017-06-20 | 上海掌门科技有限公司 | 一种防逆向破解的加密方法及系统 |
CN107122634B (zh) * | 2017-04-26 | 2020-03-17 | 北京梆梆安全科技有限公司 | 软件安装包的加固保护方法及装置 |
CN107122632A (zh) * | 2017-04-26 | 2017-09-01 | 北京洋浦伟业科技发展有限公司 | 软件安装包的加密方法及装置 |
CN107122635A (zh) * | 2017-04-27 | 2017-09-01 | 北京洋浦伟业科技发展有限公司 | 一种so文件的加固方法、装置和apk的加固方法 |
TW201915810A (zh) * | 2017-09-25 | 2019-04-16 | 英屬維爾京群島商伊格拉斯控股有限公司 新竹市新安路5號4樓之1 107,206室 | 一種對電子檔進行保護的方法;以及完成該方法的電腦程式產品 |
CN109190336A (zh) * | 2018-08-17 | 2019-01-11 | 中金金融认证中心有限公司 | 一种给安卓应用中的So库加固的方法及系统 |
CN109409038A (zh) * | 2018-09-30 | 2019-03-01 | 北京梆梆安全科技有限公司 | 一种动态链接库文件的破解风险检测方法及装置 |
CN109918917B (zh) * | 2019-03-19 | 2021-06-08 | 北京智游网安科技有限公司 | 防止h5源码泄漏的方法、计算机设备和存储介质 |
CN111966972B (zh) * | 2020-08-21 | 2023-07-04 | 北京元心科技有限公司 | 程序加密方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112158A1 (en) * | 2001-02-14 | 2002-08-15 | Golchikov Andrey Vladimirovich | Executable file protection |
CN101271399A (zh) * | 2008-05-07 | 2008-09-24 | 浙江大学 | 在嵌入式系统剪裁可重定位的elf文件的方法 |
CN102136053A (zh) * | 2011-03-14 | 2011-07-27 | 中兴通讯股份有限公司 | 对可执行文件源代码保护的方法及装置 |
CN102254125A (zh) * | 2010-05-21 | 2011-11-23 | 腾讯科技(北京)有限公司 | Elf文件加密方法及系统 |
US8312431B1 (en) * | 2004-09-17 | 2012-11-13 | Oracle America, Inc. | System and computer readable medium for verifying access to signed ELF objects |
-
2014
- 2014-05-08 CN CN201410192890.0A patent/CN105095771B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112158A1 (en) * | 2001-02-14 | 2002-08-15 | Golchikov Andrey Vladimirovich | Executable file protection |
US8312431B1 (en) * | 2004-09-17 | 2012-11-13 | Oracle America, Inc. | System and computer readable medium for verifying access to signed ELF objects |
CN101271399A (zh) * | 2008-05-07 | 2008-09-24 | 浙江大学 | 在嵌入式系统剪裁可重定位的elf文件的方法 |
CN102254125A (zh) * | 2010-05-21 | 2011-11-23 | 腾讯科技(北京)有限公司 | Elf文件加密方法及系统 |
CN102136053A (zh) * | 2011-03-14 | 2011-07-27 | 中兴通讯股份有限公司 | 对可执行文件源代码保护的方法及装置 |
Non-Patent Citations (1)
Title |
---|
IA-64 Linux平台上的ELF文件加壳技术研究;蔡智力;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120315;正文第3.2.2节,图3.1 * |
Also Published As
Publication number | Publication date |
---|---|
CN105095771A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095771B (zh) | 一种共享目标文件的保护方法及装置 | |
JP4770425B2 (ja) | 保護済み実行プログラムの作成のためのプログラム、方法及び装置 | |
KR101623096B1 (ko) | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 | |
KR101518420B1 (ko) | 안드로이드 플랫폼에서의 apk 파일 관리 장치 및 방법 | |
KR102433011B1 (ko) | Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체 | |
CN109598107B (zh) | 一种基于应用安装包文件的代码转换方法及装置 | |
CN106203006A (zh) | 基于dex与so文件动态执行的Android应用加固方法 | |
CN110929234B (zh) | 一种基于代码虚拟化的Python程序加密保护系统与方法 | |
CN105426708A (zh) | 一种Android系统的应用程序的加固方法 | |
CN106599629B (zh) | 一种安卓应用程序加固方法及装置 | |
US20030188187A1 (en) | Obfuscated source program, source program conversion method and apparatus, and source conversion program | |
CN106650327A (zh) | 基于动态恢复so文件的Android应用加固方法 | |
CN108363911B (zh) | 一种Python脚本混淆、水印的方法及装置 | |
CN109992987B (zh) | 基于Nginx的脚本文件保护方法、装置及终端设备 | |
CN108399319B (zh) | 源代码保护方法、应用服务器及计算机可读存储介质 | |
CN106228041B (zh) | 一种针对Android预编译的代码保护方法 | |
CN106960156B (zh) | 基于应用程序的数据加密及访问方法、装置 | |
CN110096853A (zh) | 基于Mono的Unity安卓应用加固方法、存储介质 | |
KR102266342B1 (ko) | 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 | |
WO2011134207A1 (zh) | 软件保护方法 | |
CN112115427A (zh) | 代码混淆方法、装置、电子设备及存储介质 | |
US8533826B2 (en) | Method for protecting the source code of a computer program | |
CN108133147A (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
CN110502874B (zh) | 一种基于文件自修改的Android App加固方法 | |
CN110472425A (zh) | 基于Mono的Unity插件加密方法、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |