CN110135133B - 一种面向微控制器的压缩整合式源代码混淆方法及系统 - Google Patents

一种面向微控制器的压缩整合式源代码混淆方法及系统 Download PDF

Info

Publication number
CN110135133B
CN110135133B CN201910317993.8A CN201910317993A CN110135133B CN 110135133 B CN110135133 B CN 110135133B CN 201910317993 A CN201910317993 A CN 201910317993A CN 110135133 B CN110135133 B CN 110135133B
Authority
CN
China
Prior art keywords
code
source
file
module
microcontroller
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
Application number
CN201910317993.8A
Other languages
English (en)
Other versions
CN110135133A (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.)
Shenzhen Segi Information Technology Co ltd
Original Assignee
Foshan Fengfeng 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 Foshan Fengfeng Technology Co ltd filed Critical Foshan Fengfeng Technology Co ltd
Priority to CN201910317993.8A priority Critical patent/CN110135133B/zh
Publication of CN110135133A publication Critical patent/CN110135133A/zh
Application granted granted Critical
Publication of CN110135133B publication Critical patent/CN110135133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种面向微控制器的压缩整合式源代码混淆方法及系统,通过提出一种面向微控制器的压缩整合式源代码混淆的方法,将源文件和头文件中的源代码进行混淆,从而进一步压缩文件并且加大逆向工程的难度,利用哈夫曼编码的方式对标识符按照其标识符长度进行压缩编码,这样可以最大程度地压缩源文件,但又能同时保证语法的正确性,从而针对微控制器程序源代码进行更有效地压缩和混淆,针对微控制器平台的代码整合、压缩及混淆,有效的保障了高效物联网程序和物联网设备的安全;可以更灵活地让开发人员选择混淆的选项,有效避免混淆后调试的不便利和外部调用的不确定性。

Description

一种面向微控制器的压缩整合式源代码混淆方法及系统
技术领域
本公开涉及计算机程序代码(例如,源代码或目标代码)的篡改保护领域,具体涉及适用于微控制器开发中代码压缩和混淆的一种面向微控制器的压缩整合式源代码混淆方法及系统。
背景技术
随着物联网技术的日益革新,物联网设备逐渐渗透到人们日常生活中的各个方面。微控制器作为物联网嵌入式设备的核心,也日益受到重视。然而与传统计算机应用程序的开发不同,目前针对于微控制器的软件层面的开发步骤相当繁琐,导致其繁琐得其中一个主要原因来自于针对微控制器的开发需要整合大量的软件包。这些软件包涵盖从底层的硬件抽象层(HAL)和板级支持包(BSP)的硬件驱动包,到中层的实时操作系统内核(RTOSKernel)和轻量级TCP/IP协议栈(LwIP),最后再到最上层的高级应用程序逻辑程序。一个完整的微控制器程序源代码可能最后包含了几十甚至上百个.c和.h源文件,不仅使得代码结构混乱,而且大大增加了调试的复杂度。因此,设计针对微控制器的压缩整合式源代码混淆的方法是刻不容缓的。
当前尚没有专门针对微控制器的代码整合和混淆方法。现有的代码整合和混淆方法主要针对目前大众主流平台(如传统计算机应用程序或智能手机应用程序)。因此这些方法没有针对微控制器的特性(计算资源少)去设计,从而不能直接运用到微控制器的开发上面。当前针对二进制代码的混淆方法无法用于微控制器的情形之下。
当前这些方法的缺陷主要有一下几点:(1)当前代码混淆的方法主要从信息安全层面考虑设计的,增加攻击者逆向程序的成本,然而忽视了对代码的优化,有些混淆算法甚至使得代码的效率更低,加重编译器的负担;(2)当开发人员需要追踪错误异常代码的时候,将变得非常困难,因为原来的函数名或者变量的标识符已经被混淆,因此导致无法追踪;(3)现有的方法会需要提供给开发人员的外部接口也混淆,使得开发人员无法正常调用;(4)目前主流的二进制代码混淆方法没有代码压缩的功能;
(5)目前主流的二进制代码混淆方法无法对等长指令进行混淆,即不可被当前的微控制器情形采用;
(6)目前主流的二进制代码混淆方法可能导致二进制变得更大,在微控制器情形下导致内存溢出;
(7)如果需要对微控制器情形下的二进制代码做混淆,则须对种类繁多的各种微控制器平台的二进制代码单独设计混淆算法,极大增加了复杂度和难度。
发明内容
本公开提供一种面向微控制器的压缩整合式源代码混淆方法及系统,为了解决上述的现有技术的不足,通过提出一种面向微控制器的压缩整合式源代码混淆的方法,从而针对微控制器程序源代码进行更有效地压缩和混淆。
为了实现上述目的,根据本公开的一方面,提供一种面向微控制器的压缩整合式源代码混淆方法,所述方法包括以下步骤:
步骤1,启动源代码混淆系统,唤起并运行代码整合模块;
步骤2,代码整合模块扫描目标微控制器项目中的所有的有效代码文件;
步骤3,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件;
步骤4,代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
步骤5,唤起并运行代码混淆模块;
步骤6,代码混淆模块在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
步骤7,代码混淆模块调用作用域分析器将源文件中的所有的作用域划分出来;
步骤8,代码混淆模块对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
步骤9,代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
进一步地,在步骤1中,所述源代码混淆系统包括:代码整合模块和代码混淆模块;
所述代码整合模块的用于将多个源文件整合成一个单独的源文件并压缩代码空间。如果一个微控制器开放项目中最终需要n个.c源文件,该整合模块会将这自动些.c源文件中的代码都整合成一个.c源文件;相似地,如果一个微控制器开放项目中最终需要m个.h头文件,该整合模块会将这自动些.h头文件中的代码都整合成一个.h头文件,该整合模块会将所有的注释删除,并将缩进空格调整成1格,n和m为大于0的整数。
所述代码混淆模块的主要功能是将上述所整合的.c和.h文件进行混淆,从而进一步压缩文件并且加大逆向工程的难度。该模块首先调用作用域(scope)分析器将.c文件中的源代码按照作用域划分,划分方法包括但不限于语义分割算法、括号匹配算法。之后,该模块对于每个作用域中所有的标识符按照其出现频率从高到低进行排序。之后,该模块利用哈夫曼编码(Huffman Coding)的方式对这些标识符按照其标识符长度进行压缩编码,这样可以最大程度地压缩源文件,但又能同时保证语法的正确性。
为了可以让开发人员更好地追踪代码错误和调用外部接口,代码混淆模块允许开发人员在代码中做包括但不限于宏定义、特殊注释格式等的特殊标记表明该符号不参与混淆,这有利于调试打印日志等。同样地,该模块亦允许开发人员在某些外部导出符号上做特殊标记,这些被标记的外部符号也不会参加混淆。
进一步地,在步骤2中,所述有效代码文件为源文件和头文件,源文件和头文件分别为.c格式的源文件和.h格式的头文件。
进一步地,在步骤3中,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件的方法为,将一个编译单元或一组编译单元中的代码整合成一个源文件和头文件,所述编译单元为一个或多个源文件和头文件,其中,多个源文件和头文件的情况是完全同性质的编译单元,例如,生成的源文件包括source1.c,source2.c和include.h,其中,生成一组编译单元的功能在某些编译器对源码长度有限制的时候可以使用,这时候可以把整合成的一个源文件和头文件分成多份,然后再交给编译器。
进一步地,在步骤6中,所述特殊标记包括但不限于在标识符上的宏定义、特殊注释标记、外部导出符号。
进一步地,在步骤7中,所述作用域划分方法包括但不限于语义分割算法、括号匹配算法。
本发明还提供了一种面向微控制器的压缩整合式源代码混淆系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在源代码混淆系统的代码整合模块和代码混淆模块的各自单元中,
其中,代码整合模块,包括以下单元:
代码文件扫描单元,用于扫描目标微控制器项目中的所有的有效代码文件;
代码整合单元,用于将有效代码文件中的代码都分别整合成一个源文件和头文件;
格式调整单元,用于代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
代码混淆模块,包括以下单元:
特殊标记单元,用于在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
作用域划分单元,用于调用作用域分析器将源文件中的所有的作用域划分出来;
频率排序单元,用于对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
压缩编码单元,用于代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
本公开的有益效果为:本发明提供一种面向微控制器的压缩整合式源代码混淆方法及系统,针对微控制器平台的代码整合、压缩及混淆,有效的保障了高效物联网程序和物联网设备的安全;可以更灵活地让开发人员选择混淆的选项,有效避免混淆后调试的不便利和外部调用的不确定性。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种面向微控制器的压缩整合式源代码混淆方法的流程图;
图2所示为一种面向微控制器的压缩整合式源代码混淆系统图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种面向微控制器的压缩整合式源代码混淆方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种面向微控制器的压缩整合式源代码混淆方法。
本公开提出一种面向微控制器的压缩整合式源代码混淆方法,具体包括以下步骤:
步骤1,启动源代码混淆系统,唤起并运行代码整合模块;
步骤2,代码整合模块扫描目标微控制器项目中的所有的有效代码文件;
步骤3,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件;
步骤4,代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
步骤5,唤起并运行代码混淆模块;
步骤6,代码混淆模块在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
步骤7,代码混淆模块调用作用域分析器将源文件中的所有的作用域划分出来;
步骤8,代码混淆模块对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
步骤9,代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
进一步地,在步骤1中,所述源代码混淆系统包括:代码整合模块和代码混淆模块;
所述代码整合模块的用于将多个源文件整合成一个单独的源文件并压缩代码空间。如果一个微控制器开放项目中最终需要n个.c源文件,该整合模块会将这自动些.c源文件中的代码都整合成一个.c源文件;相似地,如果一个微控制器开放项目中最终需要m个.h头文件,该整合模块会将这自动些.h头文件中的代码都整合成一个.h头文件,该整合模块会将所有的注释删除,并将缩进空格调整成1格,n和m为大于0的整数。
所述代码混淆模块的主要功能是将上述所整合的.c和.h文件进行混淆,从而进一步压缩文件并且加大逆向工程的难度。该模块首先调用作用域(scope)分析器将.c文件中的源代码按照作用域划分,划分方法包括但不限于语义分割算法、括号匹配算法。之后,该模块对于每个作用域中所有的标识符按照其出现频率从高到低进行排序。之后,该模块利用哈夫曼编码(Huffman Coding)的方式对这些标识符按照其标识符长度进行压缩编码,这样可以最大程度地压缩源文件,但又能同时保证语法的正确性。
为了可以让开发人员更好地追踪代码错误和调用外部接口,代码混淆模块允许开发人员在代码中做包括但不限于宏定义、特殊注释格式等的特殊标记表明该符号不参与混淆,这有利于调试打印日志等。同样地,该模块亦允许开发人员在某些外部导出符号上做特殊标记,这些被标记的外部符号也不会参加混淆。
进一步地,在步骤2中,所述有效代码文件为源文件和头文件,源文件和头文件分别为.c格式的源文件和.h格式的头文件。
进一步地,在步骤3中,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件的方法为,将一个编译单元或一组编译单元中的代码整合成一个源文件和头文件,所述编译单元为一个或多个源文件和头文件,其中,多个源文件和头文件的情况是完全同性质的编译单元,例如,生成的源文件包括source1.c,source2.c和include.h,其中,生成一组编译单元的功能在某些编译器对源码长度有限制的时候可以使用,这时候可以把整合成的一个源文件和头文件分成多份,然后再交给编译器。
进一步地,在步骤6中,所述特殊标记包括但不限于在标识符上的宏定义、特殊注释标记、外部导出符号。
进一步地,在步骤7中,所述作用域划分方法包括但不限于语义分割算法、括号匹配算法。
本实施给出一个具体实施例,阐述源代码混淆系统如何完成一个整合式源代码的混淆。
某开发人员选择三个软件包A、B、C,并将其源代码合成一个大型代码段,其中含有三类全局标识符,第一类是调试符号,第二类是外部接口符号,第三类是内部的符号。
第一步,工具先整合三个软件包,并扫描整合后的源代码,确定第一类标识符和第二类标识符的位置。
第二步,工具删去代码中所有的注释,仅保留源代码本身。
第三步,工具扫描源代码中的全局标识符,建立全局标识符列表,并且从该列表中去掉第一步中确定的第一类标识符和第二类标识符。
第四步,工具使用Huffman压缩算法对该段源代码进行压缩,将第三类标识符替换成Huffman压缩过后的简短的标识符。
第五步,工具输出混淆过后的源代码,该源代码功能和ABC三个软件包的整合相同,并且能正常打印调试信息和导出外部接口供其他软件使用。
本公开的实施例提供的一种面向微控制器的压缩整合式源代码混淆系统,如图2所示为本公开的一种面向微控制器的压缩整合式源代码混淆系统图,该实施例的一种面向微控制器的压缩整合式源代码混淆系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种面向微控制器的压缩整合式源代码混淆系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在源代码混淆系统的代码整合模块和代码混淆模块的各自单元中,
其中,代码整合模块,包括以下单元:
代码文件扫描单元,用于扫描目标微控制器项目中的所有的有效代码文件;
代码整合单元,用于将有效代码文件中的代码都分别整合成一个源文件和头文件;
格式调整单元,用于代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
代码混淆模块,包括以下单元:
特殊标记单元,用于在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
作用域划分单元,用于调用作用域分析器将源文件中的所有的作用域划分出来;
频率排序单元,用于对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
压缩编码单元,用于代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
所述一种面向微控制器的压缩整合式源代码混淆系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种面向微控制器的压缩整合式源代码混淆系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种面向微控制器的压缩整合式源代码混淆系统的示例,并不构成对一种面向微控制器的压缩整合式源代码混淆系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种面向微控制器的压缩整合式源代码混淆系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种面向微控制器的压缩整合式源代码混淆系统运行系统的控制中心,利用各种接口和线路连接整个一种面向微控制器的压缩整合式源代码混淆系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种面向微控制器的压缩整合式源代码混淆系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

Claims (6)

1.一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,所述方法包括以下步骤:
步骤1,启动源代码混淆系统,所述源代码混淆系统包括:代码整合模块和代码混淆模块,唤起并运行代码整合模块;
步骤2,代码整合模块扫描目标微控制器项目中的所有的有效代码文件;
步骤3,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件;
步骤4,代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
步骤5,唤起并运行代码混淆模块;
步骤6,代码混淆模块在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
步骤7,代码混淆模块调用作用域分析器将源文件中的所有的作用域划分出来;
步骤8,代码混淆模块对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
步骤9,代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
2.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤2中,所述有效代码文件为源文件和头文件,源文件和头文件分别为.c格式的源文件和.h格式的头文件。
3.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤3中,代码整合模块将有效代码文件中的代码都分别整合成一个源文件和头文件的方法为,将一个编译单元或一组编译单元中的代码整合成一个源文件和头文件,所述编译单元为一个或多个源文件和头文件。
4.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤6中,所述特殊标记包括但不限于在标识符上的宏定义、特殊注释标记、外部导出符号。
5.根据权利要求1所述的一种面向微控制器的压缩整合式源代码混淆方法,其特征在于,在步骤7中,所述作用域划分方法包括但不限于语义分割算法、括号匹配算法。
6.一种面向微控制器的压缩整合式源代码混淆系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在源代码混淆系统的代码整合模块和代码混淆模块的各自单元中,
其中,代码整合模块,包括以下单元:
代码文件扫描单元,用于扫描目标微控制器项目中的所有的有效代码文件;
代码整合单元,用于将有效代码文件中的代码都分别整合成一个源文件和头文件;
格式调整单元,用于代码整合模块将源文件和头文件的源代码中所有的注释删除,并将缩进空格调整成1格;
代码混淆模块,包括以下单元:
特殊标记单元,用于在源文件和头文件的源代码中标记出标识符中的不带有特殊标记的第一标识符;
作用域划分单元,用于调用作用域分析器将源文件中的所有的作用域划分出来;
频率排序单元,用于对于每个作用域中的第一标识符按照其出现频率从高到低进行排序后得到第一标识符序列;
压缩编码单元,用于代码混淆模块通过哈夫曼编码依次对第一标识符序列中的第一标识符按照标识符长度进行压缩编码。
CN201910317993.8A 2019-04-19 2019-04-19 一种面向微控制器的压缩整合式源代码混淆方法及系统 Active CN110135133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910317993.8A CN110135133B (zh) 2019-04-19 2019-04-19 一种面向微控制器的压缩整合式源代码混淆方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910317993.8A CN110135133B (zh) 2019-04-19 2019-04-19 一种面向微控制器的压缩整合式源代码混淆方法及系统

Publications (2)

Publication Number Publication Date
CN110135133A CN110135133A (zh) 2019-08-16
CN110135133B true CN110135133B (zh) 2021-08-17

Family

ID=67570525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910317993.8A Active CN110135133B (zh) 2019-04-19 2019-04-19 一种面向微控制器的压缩整合式源代码混淆方法及系统

Country Status (1)

Country Link
CN (1) CN110135133B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807239A (zh) * 2010-03-29 2010-08-18 山东高效能服务器和存储研究院 一种防止源代码反编译的方法
CN102696016A (zh) * 2009-12-22 2012-09-26 德国捷德有限公司 用于压缩标识符的方法
CN103150493A (zh) * 2013-02-28 2013-06-12 浙江中控技术股份有限公司 一种JavaScript代码的混淆方法和装置
CN103544414A (zh) * 2013-10-25 2014-01-29 苏州通付盾信息技术有限公司 一种Android系统应用的深度代码混淆方法
WO2014134080A1 (en) * 2013-02-28 2014-09-04 Microsoft Corporation Compiler based obfuscation
CN104573427A (zh) * 2015-01-06 2015-04-29 北京邮电大学 一种可执行应用的混淆方法和装置
CN104657636A (zh) * 2013-11-21 2015-05-27 恩智浦有限公司 产生结构的方法和相应的结构
CN105701410A (zh) * 2015-12-31 2016-06-22 华为技术有限公司 一种获得源代码中信息的方法、装置及系统
CN105718765A (zh) * 2016-01-26 2016-06-29 国家信息技术安全研究中心 一种利用有限自动机实现代码混淆的方法
CN105868589A (zh) * 2016-03-30 2016-08-17 网易(杭州)网络有限公司 一种脚本加密方法、脚本运行方法及装置
CN106326694A (zh) * 2016-08-30 2017-01-11 北京鼎源科技有限公司 一种基于C源代码的混淆的Android应用加固方法
CN106845171A (zh) * 2017-01-20 2017-06-13 暨南大学 一种Android应用程序代码保护机制鉴别方法
CN107480477A (zh) * 2017-07-21 2017-12-15 四川长虹电器股份有限公司 基于html5 技术的移动终端产品版权保护方法
CN109614771A (zh) * 2018-10-31 2019-04-12 同盾控股有限公司 一种基于Java代码的混淆方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645930B2 (en) * 2010-01-04 2014-02-04 Apple Inc. System and method for obfuscation by common function and common function prototype
CN104536898B (zh) * 2015-01-19 2017-10-31 浙江大学 C程序并行区域的检测方法
US10068069B1 (en) * 2015-05-22 2018-09-04 Whitehawk Software LLC Denoting precise locations and arguments in binary program code
CN107122662A (zh) * 2017-04-12 2017-09-01 金陵科技学院 一种基于Proguard软件的移动互联网App代码混淆测评方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102696016A (zh) * 2009-12-22 2012-09-26 德国捷德有限公司 用于压缩标识符的方法
CN101807239A (zh) * 2010-03-29 2010-08-18 山东高效能服务器和存储研究院 一种防止源代码反编译的方法
CN103150493A (zh) * 2013-02-28 2013-06-12 浙江中控技术股份有限公司 一种JavaScript代码的混淆方法和装置
WO2014134080A1 (en) * 2013-02-28 2014-09-04 Microsoft Corporation Compiler based obfuscation
CN103544414A (zh) * 2013-10-25 2014-01-29 苏州通付盾信息技术有限公司 一种Android系统应用的深度代码混淆方法
CN104657636A (zh) * 2013-11-21 2015-05-27 恩智浦有限公司 产生结构的方法和相应的结构
CN104573427A (zh) * 2015-01-06 2015-04-29 北京邮电大学 一种可执行应用的混淆方法和装置
CN105701410A (zh) * 2015-12-31 2016-06-22 华为技术有限公司 一种获得源代码中信息的方法、装置及系统
CN105718765A (zh) * 2016-01-26 2016-06-29 国家信息技术安全研究中心 一种利用有限自动机实现代码混淆的方法
CN105868589A (zh) * 2016-03-30 2016-08-17 网易(杭州)网络有限公司 一种脚本加密方法、脚本运行方法及装置
CN106326694A (zh) * 2016-08-30 2017-01-11 北京鼎源科技有限公司 一种基于C源代码的混淆的Android应用加固方法
CN106845171A (zh) * 2017-01-20 2017-06-13 暨南大学 一种Android应用程序代码保护机制鉴别方法
CN107480477A (zh) * 2017-07-21 2017-12-15 四川长虹电器股份有限公司 基于html5 技术的移动终端产品版权保护方法
CN109614771A (zh) * 2018-10-31 2019-04-12 同盾控股有限公司 一种基于Java代码的混淆方法和装置

Also Published As

Publication number Publication date
CN110135133A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110825363B (zh) 智能合约获取方法、装置、电子设备及存储介质
CN104899025A (zh) 一种生成渠道包的方法和装置
CN112817657B (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN111143446A (zh) 数据对象的数据结构转换处理方法、装置及电子设备
CN112001376B (zh) 基于开源组件的指纹识别方法、装置、设备及存储介质
CN110673851B (zh) 一种智能合约运行方法、装置及电子设备
CN115730313A (zh) 一种恶意文档检测方法、装置、存储介质及设备
CN108733990B (zh) 一种基于区块链的文件保护方法及终端设备
CN110135133B (zh) 一种面向微控制器的压缩整合式源代码混淆方法及系统
CN112269566B (zh) 脚本生成处理方法、装置、设备及系统
CN106802866B (zh) 一种Android程序的执行路径的还原方法
CN110941443B (zh) 修改sdk中文件名的方法、装置及电子设备
CN110659022B (zh) 一种基于Java自动调用Python脚本的方法
US20150039864A1 (en) Systems and methods for defeating malware with randomized opcode values
CN110750310A (zh) 基于ios系统组件化开发的二进制和源码切换方法
CN116521144A (zh) 一种程序封装方法、装置及电子设备
CN109146765B (zh) 一种图像处理方法、主处理器、协处理器及电子设备
KR20180098584A (ko) App 프로그램 실행 방법 및 장치
WO2010095004A1 (en) Priority search trees
CN109509467B (zh) 代码生成方法及装置
US20120102473A1 (en) Abstract method removal for reduced memory footprint with optimizer tool
CN109344941B (zh) 一种大数据安全共享方法及装置
CN114817124A (zh) 多核微控制器间映射方法、设备及计算机可读存储介质
CN113377382A (zh) 一种软件安装包的处理方法、装置、电子设备及存储介质
CN110597517A (zh) 动态解析mat文件的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210722

Address after: 528000 room 511, 5th floor, Block E, Foshan National Torch Innovation and entrepreneurship Park, No. 13, Huabao South Road, Chancheng District, Foshan City, Guangdong Province

Applicant after: Foshan Fengfeng Technology Co.,Ltd.

Address before: 528000 room 505, building 1, No. 6, Haisan Road, Guicheng Street, Nanhai District, Foshan City, Guangdong Province

Applicant before: Xiao Yinhao

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220531

Address after: 518063 room 419, 4 / F, building 5, software industry base, No. 11, No. 13, No. 15, No. 14, No. 2, Haitian Road, No. 16, Haitian Road, Binhai community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SHENZHEN SEGI INFORMATION TECHNOLOGY CO.,LTD.

Address before: 528000 room 511, 5th floor, Block E, Foshan National Torch Innovation and entrepreneurship Park, No. 13, Huabao South Road, Chancheng District, Foshan City, Guangdong Province

Patentee before: Foshan Fengfeng Technology Co.,Ltd.

TR01 Transfer of patent right