CN106055937B - 一种软件静态数据的加密方法及系统 - Google Patents

一种软件静态数据的加密方法及系统 Download PDF

Info

Publication number
CN106055937B
CN106055937B CN201610356162.8A CN201610356162A CN106055937B CN 106055937 B CN106055937 B CN 106055937B CN 201610356162 A CN201610356162 A CN 201610356162A CN 106055937 B CN106055937 B CN 106055937B
Authority
CN
China
Prior art keywords
static data
particular community
memory space
software
protected
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
CN201610356162.8A
Other languages
English (en)
Other versions
CN106055937A (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 Skyworth Digital Technology Co Ltd
Original Assignee
Shenzhen Skyworth Digital 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 Shenzhen Skyworth Digital Technology Co Ltd filed Critical Shenzhen Skyworth Digital Technology Co Ltd
Priority to CN201610356162.8A priority Critical patent/CN106055937B/zh
Publication of CN106055937A publication Critical patent/CN106055937A/zh
Priority to PCT/CN2017/085973 priority patent/WO2017202370A1/zh
Application granted granted Critical
Publication of CN106055937B publication Critical patent/CN106055937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件静态数据的加密方法及系统。该方法,包括:把需要保护的静态数据设定为特定属性;给所述特定属性的静态数据分配存储空间;根据所述存储空间对所述静态数据进行加密。本发明通过对软件内的静态数据进行加密,实现简单,且降低了软件被破解的风险,提高了软件的安全性。

Description

一种软件静态数据的加密方法及系统
技术领域
本发明涉及软件技术领域,尤其涉及一种软件静态数据的加密方法及系统。
背景技术
软件的安全形势越来越严峻,软件被破解的情况时有发生,现有对提高软件安全的方法如下:
1)、在生成最终软件时会把软件的符号表删除掉;
2)、把软件中的函数名等符号重新打乱,用没有实际意义的符号替换,给反编译带来难度,从而保护软件;
3)、在嵌入式软件中,把整个软件进行加密。
而软件中的字符串等静态数据往往包含了软件的关键信息,通过分析软件中的字符串等静态数据可以对软件破解带来很多帮助,这样会对软件的安全造成影响,因此对字符串等静态数据进行加密,也可以提高软件的安全性。
发明内容
本发明提供了一种软件静态数据的加密方法及系统,实现简单,且降低了软件被破解的风险,提高了软件的安全性。
为实现上述设计,本发明采用以下技术方案:
一方面,提供了一种软件静态数据的加密方法,该方法,包括:
把需要保护的静态数据设定为特定属性;
给所述特定属性的静态数据分配存储空间;
根据所述存储空间对所述静态数据进行加密。
优选地,所述把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性。
优选地,所述给所述特定属性的静态数据分配存储空间,包括:
在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量。
优选地,所述根据所述存储空间对所述静态数据进行加密,包括:
对编译生成的.elf文件进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
优选地,所述在链接脚本.ld文件里定义所述存储空间的区域边界变量之后,还包括:
利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
优选地,所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性;
使用所述特定属性定义需要保护的静态数据。
另一方面,提供了一种软件静态数据的加密系统,该系统,包括:
特定属性设定模块,用于把需要保护的静态数据设定为特定属性;
存储空间分配模块,用于给所述特定属性的静态数据分配存储空间;
加密模块,根据所述存储空间对所述静态数据进行加密。
优选地:
所述特定属性设定模块,具体用于:
在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性;
所述存储空间分配模块,具体用于:
在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量;
所述加密模块,具体用于:
对编译生成的.elf文件进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
优选地,还包括:
解密模块,用于利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
优选地,所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性;
使用所述特定属性定义需要保护的静态数据。
与现有技术相比,本发明的有益效果为:把需要保护的静态数据设定为特定属性;给所述特定属性的静态数据分配存储空间;根据所述存储空间对所述静态数据进行加密。本发明通过对软件内的静态数据进行加密,实现简单,且降低了软件被破解的风险,提高了软件的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明具体实施方式中提供的一种软件静态数据的加密方法的第一实施例的方法流程图。
图2是本发明具体实施方式中提供的一种软件静态数据的加密方法的第二实施例的方法流程图。
图3是本发明具体实施方式中提供的一种软件静态数据的加密系统的第一实施例的结构方框图。
图4是本发明具体实施方式中提供的一种软件静态数据的加密系统的第二实施例的结构方框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其是本发明具体实施方式中提供的一种软件静态数据的加密方法的第一实施例的方法流程图。如图所示,该方法,包括:
步骤S101:把需要保护的静态数据设定为特定属性。
在C语言源码里把需要保护的静态数据设定为特定属性,以便后续在加密时进行提取。
步骤S102:给所述特定属性的静态数据分配存储空间。
给所述特定属性的静态数据分配存储空间,以便后续对所述静态数据进行加密。
步骤S103:根据所述存储空间对所述静态数据进行加密。
根据所述存储空间对应的区域对所述静态数据进行加密。
综上所述,本实施例通过对软件内的静态数据进行加密,实现简单,且降低了软件被破解的风险,提高了软件的安全性。
请参考图2,其是本发明具体实施方式中提供的一种软件静态数据的加密方法的第二实施例的方法流程图。对于嵌入式系统来说,一般都会在linux环境下编译并链接生成.elf文件,然后再根据情况转换成二进制文件(.bin)或者其他格式的可执行文件,所以本实施例从.elf文件切入,把需要保护的数据进行加密。如图所示,该方法,包括:
步骤S201:在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性。
在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,以便后续加密和解密时进行提取。
所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性,例如:
#define MY_STRING_SECTION char__attribute__((section(".my_string")));
使用所述特定属性定义需要保护的静态数据,例如:
MY_STRING_SECTION my_string1[]=“hello world!”;
MY_STRING_SECTION my_string2[]=“linux”。
步骤S202:在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量。
在链接脚本.ld文件里给所述特定属性的静态数据分配存储空间,编译器在链接时会根据链接脚本.ld文件把具有相同属性的静态数据连续存储在一起,并定义所述存储空间的区域边界变量,以便对连续的静态数据进行加密和解密,例如:
定义区域边界变量__my_string_begin和__my_string_end,指定.my_string属性静态数据存储空间的区域,例如:
.=ALIGN(16);
__my_string_begin=.;
.my_string:
{
*(.my_string)
}>ram
.=ALIGN(16);
__my_string_end=.;
步骤S203:对编译生成的.elf文件进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
编译生成的.elf文件中包括所述静态数据的特定属性、存储空间、和区域边界变量等相关信息,对编译生成的.elf文件进行分析,提取所述静态数据的存储空间对应的区域,对该区域内的静态数据进行加密。
步骤S204:利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
在C语言源码里,在使用所述静态数据之前,利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内连续的静态数据进行解密,例如:
对区域边界变量__my_string_begin和__my_string_end包含的区域内的静态数据进行解密:
extern unsigned int__my_string_begin;
extern unsigned int__my_string_end;
void decrypt_string(void)
{
decrypt((unsigned char*)__my_string_begin,
(__my_string_end-__my_string_begin),key,iv);
}
步骤S203与步骤S204为并列关系,加密与解密是相互对应的。可利用预置密钥对区域内连续的静态数据进行加密和解密。
本实施例通过在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,给所述特定属性的静态数据分配存储空间,把具有相同属性的静态数据连续存储在一起,根据定义的区域边界变量对所述静态数据进行解密,并从编译生成的.elf文件提取所述存储空间的区域,对区域内的静态数据进行加密,通过对软件内的静态数据进行加密,降低了软件被破解的风险,提高了软件的安全性。
以下是本发明具体实施方式中提供的一种软件静态数据的加密系统的实施例,系统的实施例基于上述的方法的实施例实现,在系统中未尽的描述,请参考前述方法的实施例。
请参考图3,其是本发明具体实施方式中提供的一种软件静态数据的加密系统的第一实施例的结构方框图。如图所示,该系统,包括:
特定属性设定模块31,用于把需要保护的静态数据设定为特定属性。
存储空间分配模块32,用于给所述特定属性的静态数据分配存储空间。
加密模块33,根据所述存储空间对所述静态数据进行加密。
综上所述,本实施例通过对软件内的静态数据进行加密,实现简单,且降低了软件被破解的风险,提高了软件的安全性。
请参考图4,其是本发明具体实施方式中提供的一种软件静态数据的加密系统的第二实施例的结构方框图。如图所示,该系统,包括:
特定属性设定模块41,用于把需要保护的静态数据设定为特定属性。
所述特定属性设定模块41,具体用于:在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性。
所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性;
使用所述特定属性定义需要保护的静态数据。
存储空间分配模块42,用于给所述特定属性的静态数据分配存储空间。
所述存储空间分配模块42,具体用于:在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量。
加密模块43,根据所述存储空间对所述静态数据进行加密。
所述加密模块43,具体用于:对编译生成的.elf进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
解密模块44,用于利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
综上所述,本实施例提供静态数据的加密系统通过在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,给所述特定属性的静态数据分配存储空间,把具有相同属性的静态数据连续存储在一起,根据定义的区域边界变量对所述静态数据进行解密,并从编译生成的.elf文件提取所述存储空间的区域,对区域内的静态数据进行加密,通过对软件内的静态数据进行加密,降低了软件被破解的风险,提高了软件的安全性。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (9)

1.一种软件静态数据的加密方法,其特征在于,包括:
把需要保护的静态数据设定为特定属性;
给所述特定属性的静态数据分配存储空间;
根据所述存储空间对所述静态数据进行加密;
其中,所述根据所述存储空间对所述静态数据进行加密,包括:
对编译生成的.elf文件进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
2.根据权利要求1所述的一种软件静态数据的加密方法,其特征在于,所述把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性。
3.根据权利要求1所述的一种软件静态数据的加密方法,其特征在于,所述给所述特定属性的静态数据分配存储空间,包括:
在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量。
4.根据权利要求3所述的一种软件静态数据的加密方法,其特征在于,所述在链接脚本.ld文件里定义所述存储空间的区域边界变量之后,还包括:
利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
5.根据权利要求2所述的一种软件静态数据的加密方法,其特征在于,所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性;
使用所述特定属性定义需要保护的静态数据。
6.一种软件静态数据的加密系统,其特征在于,包括:
特定属性设定模块,用于把需要保护的静态数据设定为特定属性;
存储空间分配模块,用于给所述特定属性的静态数据分配存储空间;
加密模块,根据所述存储空间对所述静态数据进行加密;
其中,所述加密模块,具体用于:
对编译生成的.elf文件进行分析,提取所述存储空间的区域,对该区域内的静态数据进行加密。
7.根据权利要求6所述的一种软件静态数据的加密系统,其特征在于:
所述特定属性设定模块,具体用于:
在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性;
所述存储空间分配模块,具体用于:
在链接脚本.ld文件里,给所述特定属性的静态数据分配存储空间,定义所述存储空间的区域边界变量。
8.根据权利要求7所述的一种软件静态数据的加密系统,其特征在于,还包括:
解密模块,用于利用在链接脚本.ld文件里定义的区域边界变量,对所述区域内的静态数据进行解密。
9.根据权利要求7所述的一种软件静态数据的加密系统,其特征在于,所述在C语言源码里使用_attribute_关键字把需要保护的静态数据设定为特定属性,包括:
在C语言源码里使用_attribute_关键字声明一种特定属性;
使用所述特定属性定义需要保护的静态数据。
CN201610356162.8A 2016-05-25 2016-05-25 一种软件静态数据的加密方法及系统 Active CN106055937B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610356162.8A CN106055937B (zh) 2016-05-25 2016-05-25 一种软件静态数据的加密方法及系统
PCT/CN2017/085973 WO2017202370A1 (zh) 2016-05-25 2017-05-25 软件静态数据的加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610356162.8A CN106055937B (zh) 2016-05-25 2016-05-25 一种软件静态数据的加密方法及系统

Publications (2)

Publication Number Publication Date
CN106055937A CN106055937A (zh) 2016-10-26
CN106055937B true CN106055937B (zh) 2018-11-09

Family

ID=57175247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610356162.8A Active CN106055937B (zh) 2016-05-25 2016-05-25 一种软件静态数据的加密方法及系统

Country Status (2)

Country Link
CN (1) CN106055937B (zh)
WO (1) WO2017202370A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055937B (zh) * 2016-05-25 2018-11-09 深圳创维数字技术有限公司 一种软件静态数据的加密方法及系统
CN111225051A (zh) * 2020-01-03 2020-06-02 湖北民族大学 一种新型云环境下静态数据安全共享系统及方法
CN117555811B (zh) * 2024-01-11 2024-03-19 北京邮电大学 基于静态符号执行的嵌入式软件分析方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571900A (zh) * 2009-06-01 2009-11-04 薛明 一种软件版权保护方法、设备和系统
CN102880497A (zh) * 2012-09-28 2013-01-16 无锡江南计算技术研究所 一种编译器及软件管理存储器的重用优化方法
CN102938046A (zh) * 2012-10-11 2013-02-20 杭州晟元芯片技术有限公司 一种基于静态加密存储动态解密运行的代码保护方法
CN103942152A (zh) * 2014-04-28 2014-07-23 中国人民解放军国防科学技术大学 支持simd体系结构的分布式堆栈数据存储方法
JP2014160383A (ja) * 2013-02-20 2014-09-04 Toppan Printing Co Ltd 携帯端末装置及び復号処理プログラム
CN104429040A (zh) * 2012-05-08 2015-03-18 阿尔卡特朗讯 用于在云网络中加速连接的方法和装置
CN104461621A (zh) * 2014-11-28 2015-03-25 青岛海信宽带多媒体技术有限公司 一种更新属性信息的方法及装置
TW201512877A (zh) * 2013-09-27 2015-04-01 Tencent Tech Shenzhen Co Ltd 防止二進位檔案被反編譯的方法和裝置
CN104809018A (zh) * 2015-05-18 2015-07-29 烽火通信科技股份有限公司 一种嵌入式系统软件注入热补丁的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379299B (en) * 2001-09-04 2006-02-08 Imagination Tech Ltd A texturing system
CN106055937B (zh) * 2016-05-25 2018-11-09 深圳创维数字技术有限公司 一种软件静态数据的加密方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571900A (zh) * 2009-06-01 2009-11-04 薛明 一种软件版权保护方法、设备和系统
CN104429040A (zh) * 2012-05-08 2015-03-18 阿尔卡特朗讯 用于在云网络中加速连接的方法和装置
CN102880497A (zh) * 2012-09-28 2013-01-16 无锡江南计算技术研究所 一种编译器及软件管理存储器的重用优化方法
CN102938046A (zh) * 2012-10-11 2013-02-20 杭州晟元芯片技术有限公司 一种基于静态加密存储动态解密运行的代码保护方法
JP2014160383A (ja) * 2013-02-20 2014-09-04 Toppan Printing Co Ltd 携帯端末装置及び復号処理プログラム
TW201512877A (zh) * 2013-09-27 2015-04-01 Tencent Tech Shenzhen Co Ltd 防止二進位檔案被反編譯的方法和裝置
CN103942152A (zh) * 2014-04-28 2014-07-23 中国人民解放军国防科学技术大学 支持simd体系结构的分布式堆栈数据存储方法
CN104461621A (zh) * 2014-11-28 2015-03-25 青岛海信宽带多媒体技术有限公司 一种更新属性信息的方法及装置
CN104809018A (zh) * 2015-05-18 2015-07-29 烽火通信科技股份有限公司 一种嵌入式系统软件注入热补丁的方法及系统

Also Published As

Publication number Publication date
WO2017202370A1 (zh) 2017-11-30
CN106055937A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN105426708B (zh) 一种Android系统的应用程序的加固方法
CN106599628B (zh) 一种基于模块钩子的Python字节码文件保护方法
JP6257754B2 (ja) データの保護
CN105005718B (zh) 一种利用马尔可夫链实现代码混淆的方法
CN102890758B (zh) 一种保护可执行文件的方法及系统
CN106055937B (zh) 一种软件静态数据的加密方法及系统
CN108363911B (zh) 一种Python脚本混淆、水印的方法及装置
CN107908933A (zh) 一种基于中间语言的字符串加密方法
CN104794388B (zh) 应用程序存取保护方法及应用程序存取保护装置
CN106778100B (zh) 基于安卓平台和ios平台的混淆编译方法及混淆编译器
CN104268444A (zh) 一种云OS Java源代码保护方法
CN104951674B (zh) 用于应用程序的信息隐藏方法
CN107480477A (zh) 基于html5 技术的移动终端产品版权保护方法
CN110704854B (zh) 针对文本数据保留格式的流式加密方法
CN105450397A (zh) 基于下发加密算法的数据加密方法和客户端
Park et al. Effects of Code Obfuscation on Android App Similarity Analysis.
CN105471902A (zh) 基于下发加密算法的数据加密方法和系统
CN105930745A (zh) 一种基于Android平台的字符串加固方法
CN107391973A (zh) 一种函数保护方法及装置
CN105577673A (zh) 基于下发加密算法的数据加密方法和服务器
CN109992974A (zh) 虚拟机字节码文件的保护方法、设备及可读存储介质
Mayoral Vilches et al. Introducing the robot vulnerability database (rvd)
CN110457872B (zh) 一种Android App应用资源的隐藏加固方法
CN111967032A (zh) 基于混淆处理的文件加密方法及解密方法
CN111563266B (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
GR01 Patent grant
GR01 Patent grant