CN104765986B - 一种基于隐写术的代码保护及还原方法 - Google Patents

一种基于隐写术的代码保护及还原方法 Download PDF

Info

Publication number
CN104765986B
CN104765986B CN201510098128.0A CN201510098128A CN104765986B CN 104765986 B CN104765986 B CN 104765986B CN 201510098128 A CN201510098128 A CN 201510098128A CN 104765986 B CN104765986 B CN 104765986B
Authority
CN
China
Prior art keywords
code
image
software
protection
steganography
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.)
Expired - Fee Related
Application number
CN201510098128.0A
Other languages
English (en)
Other versions
CN104765986A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201510098128.0A priority Critical patent/CN104765986B/zh
Publication of CN104765986A publication Critical patent/CN104765986A/zh
Application granted granted Critical
Publication of CN104765986B publication Critical patent/CN104765986B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于隐写术的代码保护及还原方法。本方法为:1)利用所选隐写算法将重要软件中的待保护程序代码嵌入到所选图像载体中,生成携码图像;2)搜索所嵌入的每一程序代码在该重要软件中的位置,然后在对应的位置插入该图像读取操作和代码提取还原操作;3)对步骤2)处理后的代码进行重新编译并写入所选隐写算法的隐写密钥,得到一提供该程序代码保护的安全软件。还原端运行所述安全软件,提取所述隐写密钥,当执行到所述图像读取操作和代码提取还原操作时,利用与所述隐写算法相应的代码提取方法和所述隐写密钥,从携码图像中还原出隐藏的所述程序代码。本发明提高了重要软件的安全性。

Description

一种基于隐写术的代码保护及还原方法
技术领域
本发明涉及一种基于隐写术的代码保护及还原方法,属于信息隐藏技术领域,特别涉及软件重要代码的保护及还原方法。
背景技术
随着计算机软件技术的日益普及,盗版软件让企业蒙受了巨大的损失,软件版权保护受到业界的重点关注。国际数据资讯公司(International Data Corporation,IDC)和新加坡国立大学展开的一项最新研究显示,2014年盗版软件或导致全球企业损失近5000亿美元;另据商业软件联盟(Business Software Alliance,BSA)最新的全球调查显示,亚太地区软件盗版率已攀升至62%,其中我国所受商业损失最大,高达87.6亿美元。因此,保护软件的重要代码对遏制软件盗版起着至关重要的作用。
从安全需求上看,重要软件的编制需要有基本的代码保护技术作为支撑,以对抗静态代码分析手段,避免软件操作意图通过代码暴露(参考:白金荣,王俊峰,赵宗渠.基于PE静态结构特征的恶意软件检测方法,计算机科学,40(1):122-126,2013年1月)。虽然对静态代码的保护仅仅是相关保护技术的一部分,但是,这种保护一般非常必要,得到了大量应用。
软件加壳技术是当前一种常用的保护软件版权、防止软件被破解的技术,它通过利用加密或压缩形式来保护软件代码,加壳后的软件可以直接运行但是无法识别源代码(参考文献:M.Sikorski and A.Honig.Practical Malware Analysis:The Hands-OnGuide to Dissecting Malicious Software.No Starch Press,San Francisco,CA,USA,2012;徐向阳,解庆春,刘勇,俞笛,刘寅.PE文件隐型加壳技术的研究与实现,计算机应用研究,26(1):337-341,2009年1月)。至目前,网上出现了大量的加壳软件,如ASProtect、ACProtect、Armadillo Custom、Dbpe、The Enigma Protector、EXECryptor、EXE Stealth、Xtreme-Protector、ZProtect等。但是,由于加壳软件的特点较明显,代码检测系统已普遍能识别它们并做出警告(参考文献:B.Tao,R.Isawa,S.Guo and D.Inoue.EfficientMalware Packer Identification Using Support Vector Machines with SpectrumKernel.In:Proc.2013Eighth Asia Joint Conference on Information Security(AsiaJCIS),pp.69-76,July 25-26,2013,Seoul),例如,瑞星软件能够“识别数百种加壳工具”(参考:陈勤,黄剑军,褚一平,方海英.基于带权欧拉距离的PE文件壳检测技术,计算机工程与科学,32(7):1-3,7,2010年);有些脱壳软件甚至能对加壳软件进行破解,还原出原先的代码,如Procdump32、Un-ASPACK、LinxerUnpacker、Symbian Unpack Tool、WinUpackStripper、RL!dePacker等(参考:看雪学院安全论坛.http://tools.pediy.com/unpacker.htm,2013)。此外,从应用方式上看,基于加壳技术的代码保护有“此地无银三百两”的行为特征,同隐蔽性需求相矛盾。因此软件加壳技术在实际应用中存在隐蔽性差、安全性较弱问题。
从20世纪末开始,多媒体在计算机和网络系统中大量使用,由于多媒体信息冗余较大,使得基于多媒体为载体的信息隐藏获得了迅速发展。近年来,一些代码编制者也逐渐发现了用信息隐藏方法保护代码的潜在优势,设计了一些代码隐藏方法,即将代码隐藏在随软件发行的图像、图标图像、视频或者格式化文档等数字媒体中,在正常的媒体操作中提取隐藏的代码执行。显然,采用这类代码保护方法形成的软件没有特定的组成结构特点(如加密数据区或者压缩数据区),而当前软件中包含大量图像资源(如闪屏、图标、窗口背景、Web页面图像、表情符等),使得对图像的操作显得非常自然。
在利用加壳技术来保护软件代码的发明专利方面,中国发明专利102609666A提出了一种可执行程序加壳保护方法,中国发明专利102136053A利用ELF文件框架提出了一种对可执行文件源代码保护的方法,中国发明专利101964040A提出了一种基于PE Loader的软件加壳保护方法。然而,在利用代码隐藏技术的代码保护方法还未见公开的发明专利。
根据上述分析可以发现当前采用代码隐藏技术是保护软件代码的一种新技术发展趋势,它是替代加壳技术的有效手段之一,得到的最终软件不像加壳软件那样具有较显著的特征。但是,当前基于代码隐藏方法的代码保护还处于一个技术上的初级阶段,这主要体现在以下两个方面:
(1)代码隐藏方法的隐蔽性不强。
当前,代码隐藏保护一般没有假设隐写分析(参考:J.Fridrich,J.Kodovsky,andV.Holub.Rich models for steganalysis of digital images.IEEE Transactions onInformation Forensics and Security,7(3):868-882,2012)的威胁,实施信息隐藏的方法非常简陋,甚至造成视觉上的感知异常情况,或者代码的存储位置很容易分析出来,因此比较容易被检测到。Bit Defender和Symantec公司的产品也能够类似地识别JPEG文件的异常。
由于当前的检测手段能够直接从隐藏载体上分析出异常,甚至能够直接提取出隐藏的保护代码,因此需要加强隐藏方法对代码保护的隐蔽性。从技术实现上分析,可以采用更好的隐写方法实施代码隐藏。当前,隐写码的出现(参考:J.Fridrich andD.Soukal.Matrix embedding for large payload.IEEE Trans.Information Forensicsand Security,2006,1(3):390–395),使得可以减少需要修改载体的次数,自适应隐写的出现(参考:T.T.Filler,and P.Bas.Using high-dimensional image models toperform highly undetectable steganography.In Proc.IH 2010,LNCS 6387,pp.161–177,Springer,2010),使得能够减小对统计量的影响,它们有待应用于提高以上隐藏代码的抗隐写分析的能力。
(2)代码提取的隐蔽性不够强。
当前,代码隐藏保护的另一个不足是对提取隐藏代码的操作保护不够,使得反编译后分析者很可能看出提取操作中的特殊操作。
现有的代码隐藏保护方法没有能够很好地隐蔽代码的提取操作,反编译后能够找到具体的定位和解密操作。
发明内容
针对现有代码隐藏保护方法中提取操作隐蔽性不强的问题,本发明提供一种基于隐写术的代码保护方法,通过利用图像来隐藏软件的重要代码,进一步加强对提取操作的保护,将提取操作混合在载体媒体的读取等正常操作中,无需加解密隐藏代码,并且避免用脚本类语言写这类操作的程序,使得反编译的结果更难反映程序的基本意图,保护代码的隐蔽性及代码提取操作的隐蔽性进而保护软件的安全性,以满足软件对重要代码保护的要求。
本发明技术解决方案是一种基于隐写术的代码保护方法,它主要包括代码隐藏算法和代码还原算法两个部分:
代码隐藏算法利用先进的信息隐写技术,比如HUGO、F5、J-UNIWARD,将待保护的重要程序代码以二进制模式嵌入到图像载体,其中信息嵌入技术的选择根据载体图像格式、操作复杂性及抗隐写分析需求确定,载体图像的大小和所选择的隐写技术会影响可隐藏保护代码的长度。在保证隐写容量和既定嵌入操作复杂度情况下,将代码完整嵌入到载体图像。代码隐藏算法的输入数据包括需要保护的重要代码和载体图像,输出数据是携码图像。
代码还原算法是代码隐藏算法的反向算法,它从携码图像中完整地恢复出隐藏的代码。代码还原算法的输入数据是携码图像,输出数据是隐藏代码。代码还原操作在受保护代码执行前完成执行,以保证还原的隐藏代码能够正确被执行。
一种基于隐写术的代码保护方法,保护代码隐藏端通过利用代码隐藏算法将需要保护的重要软件代码隐藏于载体图像中,保护代码还原端利用代码还原算法从图像中提取还原出保护代码,包括以下步骤:
(S1)保护代码隐藏端选择隐藏代码的载体图像,获取重要软件的待保护代码,其中载体图像包括两类:位图图像(以BMP图像格式为典型代表)和压缩图像(以JPEG图像格式为典型代表);
(S2)依据步骤S1所选择载体图像确定合适的隐写术,其中隐写术包括基于空域的图像隐写术(以LSB算法和HUGO算法为典型代表)和基于变换域的图像隐写术(以F5算法和J-UNIWARD算法为典型代表);
(S3)利用步骤S1所选择载体图像、步骤S2所确定的图像隐写术、以及隐写密钥,将待保护的重要软件代码隐藏到图像载体中,并生成隐藏保护代码的携码图像,其中隐写密钥作为代码隐藏算法的输入参数,隐写密钥通常是长度为0~16字节的英文字符或数字,具体由隐写术实现程序确定;
(S4)搜索该重要软件代码需要执行保护代码的位置,并且根据步骤S2所选择的代码嵌入技术,在该重要软件的执行保护代码前插入图像读取操作和代码提取还原操作,保证软件在需要执行保护代码前能从图像中恢复出隐藏代码;保护代码通常封装成单独的执行模块,可以利用保护代码模块名称在软件代码中搜索;也可以对原始的保护代码执行过程进行改造,分成2个部分:提取还原需要执行的保护代码和执行还原代码。
(S5)重新编译步骤S4的重要软件代码,获得提供重要代码保护的安全软件。通过利用步骤S1~S5实现安全软件制作,将软件重要代码隐藏在图像中进行隐蔽性保护;
(S6)保护代码还原端运行安全软件,执行步骤S4中的图像读取操作和隐藏代码提取还原操作,利用与步骤S2中代码嵌入技术相应的代码提取技术和隐写密钥,从携码图像中还原出隐藏的保护代码,其中代码提取方式与代码嵌入方式需要对应,并且隐写密钥需相同,通常在步骤S4中隐写密钥可作为常量从软件获得;本发明将隐写密钥写入到软件代码中,保证重要代码可以执行,但是敌手无法获知重要代码的内容;其实隐写密钥的运用方式与现有的软件序列号保护方式可以兼容,可以通过用户输入正确序列号密码进行注册验证。
(S7)依据软件程序执行保护代码和软件其它操作代码。通过利用步骤S6~S7实现执行提取软件中的保护代码并触发该代码的运行。
本发明与现有技术相比的有益效果在于:
(1)本发明中,保护代码具有更高的隐蔽性。与基于加壳技术的代码保护方法相比,本发明提出的代码隐藏方法利用先进的信息隐写技术,将保护代码隐藏在图像载体中,具有更好的代码隐蔽性。
(2)本发明中,保护代码能够抵抗代码静态分析。代码隐藏技术采取图像隐写算法将保护代码隐藏到图像载体中,代码静态分析方法无法获悉真实受保护的代码进行代码分析。
(3)本发明中,保护代码提取操作具有更高的安全性。与基于加壳技术的代码保护方法相比,本发明利用将隐藏信息提取操作与图像读取操作相结合,比脱壳装载程序更难识别,保证了代码提取操作的安全性。
附图说明
图1是本发明方法实施例的实现流程图;
图2是本发明方法实施例的功能模块示意图;
图3是本发明方法中保护代码隐藏算法的实施流程图;
图4是本发明方法中保护代码还原算法的实施流程图;
图5是本发明方法中安全软件改造的实施流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述。
如图2所示,是本发明方法的实现功能模块示意图,代码保护方法可以表示为一个五元组,也即Σ=〈C,M,C′,Ek,Dk〉,其中C为载体图像集合、M为保护代码集合、C′为载体图像隐藏保护代码后所得到的携码图像集合、Ek为代码隐藏算法、Dk为代码还原算法。在代码保护方法Σ中,包括2个主要算法模块:代码隐藏算法模块和代码还原算法模块。各模块的功能需求如下:
1.代码隐藏算法模块
在隐写秘钥k控制下,该模块将待保护代码M嵌入到载体图像C中,输出携码图像C′。该模块执行代码隐藏算法Ek可以表示为:
Ek:C×M→C′
2.代码还原算法模块
在隐写秘钥k控制下,该模块从携码图像C′中提取出保护代码M。该模块执行代码还原算法Dk可以表示为:
Dk:C′→M
如图1所示,本发明实现过程如下:
a、选择隐藏代码的载体图像,获取待保护的重要软件代码;
b、依据步骤a所选择的载体图像,确定合适的隐写术;
c、利用信息术和隐写密钥,将待保护的重要软件代码隐藏到载体图像生成携码图像;
d、搜索重要软件需要执行保护代码的位置,并插入图像读取操作和代码提取还原操作;
e、重新编译重要软件代码,获得提供重要代码保护的安全软件;
f、运行安全软件,执行代码提取还原操作,实现从携码图像中还原隐藏的保护代码;
g、执行还原的保护代码及软件其它操作代码。
本发明中代码隐藏算法模块执行代码隐藏算法E(·)可以表示成
c′=E(c,m,k)
其中,模块输入参数有载体图像c、待保护的软件代码m和隐写秘钥k,模块输出是隐藏保护代码的携码图像c′。此外,在嵌入过程中保护代码m作为字节流方式进行处理,隐写秘钥k可以是任意可打印ASCII码字符、密钥长度通常为0~16字节,并且本发明可以根据输入载体图像c的格式属性自动选择合适的隐写术,具体要求如表1所示:
表1为隐写术选择表
代码隐藏算法的实施流程图如图3所示,具体实现步骤为:
步骤1:执行模块参数输入,输入参数包括载体图像c、保护代码m和隐写密钥k,其中隐写密钥k是可选输入参数;
步骤2:根据步骤1输入的载体图像c,通过判定c的格式属性自动选择合适的隐写术;
步骤3:根据步骤2的判定结果确定采用的隐写术,如果判定结果为A即输入载体图像格式是位图格式则执行步骤4,如果判定结果为B即输入载体图像格式是压缩图格式则执行步骤5;
步骤4:依据上表所述选择一种基于空域的隐写术,并执行步骤6;
步骤5:依据上表所述选择一种基于变换域的隐写术,并执行步骤6;
步骤6:利用步骤4或步骤5的隐写术以及步骤1输入的隐写密钥k,将步骤1输入的保护代码m隐藏到步骤1输入的载体图像c中;
步骤7:如果步骤6执行代码隐藏算法E()成功则生成携码图像c’,否则跳转重新执行步骤1。
本发明中代码还原算法模块执行代码还原算法D(·),可以表示成
m=D(c′,k)
其中,模块输入参数有隐藏保护代码的携码图像c′和隐写秘钥k,模块输出是提取得到受保护的软件代码m。特别地,代码还原算法模块选择的隐写算法必须与代码隐藏算法模块选择的隐写算法相一致,否则提取出的软件保护代码m′会发生错误,即m′≠m。为了保证隐藏代码的安全软件能够在执行时正确提取出保护代码,在改造原始软件代码时,需要将隐写密钥写在软件代码中。
代码还原算法的实施流程图如图4所示,具体实现步骤为:
步骤1:从安全软件中提取出隐写密钥k,执行模块参数输入,输入参数包括携码图像c’和隐写密钥k,并执行隐藏保护代码后的安全软件;
步骤2:根据步骤1执行安全软件的代码提取还原操作,判定所采用的隐写术;
步骤3:根据步骤2的判定结果确定具体的隐写术,如果判定结果为A则执行步骤4,如果判定结果为B则执行步骤5;
步骤4:选择基于空域的隐写术,具体实施算法与隐藏代码算法中的隐写术相一致,并执行步骤6;
步骤5:选择基于变换域的隐写术,具体实施算法与隐藏代码算法中的隐写术相一致,并执行步骤6;
步骤6:利用步骤4或步骤5的隐写术以及步骤1输入的隐写密钥k,从步骤1输入的携码图像c’中提取还原得到保护代码m;
步骤7:如果步骤6执行代码还原算法D(·)成功则继续执行步骤8,否则跳转执行步骤1;
步骤8:执行保护代码m。
为了确保安全软件能够执行隐藏的保护代码,本发明在软件中执行保护代码前插入隐藏代码提取操作,安全软件改造的实施流程图如图5所示,具体实现步骤为:
步骤1:依据代码隐藏算法E(·)中采用的隐写术和隐写密钥k,确定代码还原算法D(·)中相应的隐写术和隐写密钥k;
步骤2:依据步骤1编制代码还原模块代码;
步骤3:搜索软件中需要运行保护代码的位置,插入图像读取操作代码和调用代码还原模块代码;
步骤4:重新编译步骤3修改后的软件代码,获得提供代码隐藏保护的安全软件。

Claims (7)

1.一种基于隐写术的代码保护方法,其步骤为:
1)利用所选隐写算法将重要软件中的待保护程序代码嵌入到所选图像载体中,生成携码图像;
2)搜索所嵌入的每一程序代码在该重要软件中的位置,然后在对应的位置插入图像读取操作和代码提取还原操作;
3)对步骤2)处理后的代码进行重新编译并写入所选隐写算法的隐写密钥,得到一提供该程序代码保护的安全软件。
2.如权利要求1所述的方法,其特征在于,所述图像载体为位图格式图像,所述隐写算法为基于空域的图像隐写算法。
3.如权利要求1所述的方法,其特征在于,所述图像载体为压缩格式图像,所述隐写算法为基于变换域的图像隐写算法。
4.如权利要求1或2或3所述的方法,其特征在于,利用所选隐写算法的隐写密钥控制所述程序代码的嵌入位置。
5.如权利要求1或2或3所述的方法,其特征在于,所述步骤2)中,根据程序代码的模块名称在该重要软件中搜索该程序代码的位置。
6.一种基于权利要求1所述代码保护的代码提取还原方法,其步骤为:运行所述安全软件,提取所述隐写密钥,当执行到所述图像读取操作和代码提取还原操作时,利用与所述隐写算法相应的代码提取方法和所述隐写密钥,从携码图像中还原出隐藏的所述程序代码。
7.如权利要求6所述的方法,其特征在于,根据执行安全软件的所述代码提取还原操作,判定出所述隐写算法。
CN201510098128.0A 2015-03-05 2015-03-05 一种基于隐写术的代码保护及还原方法 Expired - Fee Related CN104765986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510098128.0A CN104765986B (zh) 2015-03-05 2015-03-05 一种基于隐写术的代码保护及还原方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510098128.0A CN104765986B (zh) 2015-03-05 2015-03-05 一种基于隐写术的代码保护及还原方法

Publications (2)

Publication Number Publication Date
CN104765986A CN104765986A (zh) 2015-07-08
CN104765986B true CN104765986B (zh) 2018-01-09

Family

ID=53647811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510098128.0A Expired - Fee Related CN104765986B (zh) 2015-03-05 2015-03-05 一种基于隐写术的代码保护及还原方法

Country Status (1)

Country Link
CN (1) CN104765986B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105429959B (zh) * 2015-11-02 2019-08-16 北京旷视科技有限公司 图像处理方法及客户端设备、图像验证方法及服务器
CN110334483A (zh) * 2019-06-20 2019-10-15 韶关市启之信息技术有限公司 一种代码保护方法与装置
CN111083307A (zh) * 2019-11-25 2020-04-28 北京安信荣达科技有限公司 一种基于隐写术的文件检测和破解方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2091254A1 (en) * 2008-02-15 2009-08-19 Jacopo Mangiavacchi Apparatus and methods for content protection and distribution using alternate contents to provide access to protected primary content
CN103442156A (zh) * 2013-08-20 2013-12-11 宁波大学 基于移动智能终端的图像隐写和秘密信息提取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2091254A1 (en) * 2008-02-15 2009-08-19 Jacopo Mangiavacchi Apparatus and methods for content protection and distribution using alternate contents to provide access to protected primary content
CN103442156A (zh) * 2013-08-20 2013-12-11 宁波大学 基于移动智能终端的图像隐写和秘密信息提取方法

Also Published As

Publication number Publication date
CN104765986A (zh) 2015-07-08

Similar Documents

Publication Publication Date Title
Iwendi et al. Keysplitwatermark: Zero watermarking algorithm for software protection against cyber-attacks
CN102542212B (zh) 一种文本信息隐藏方法及装置
CN110245469B (zh) 网页的水印生成方法、水印解析方法、装置及存储介质
CN109785222B (zh) 一种用于网页的信息快速嵌入和提取的方法
TW200841209A (en) Obfuscating computer program code
CN101477610A (zh) 源码和目标码联合嵌入的软件水印方法
CN110968847A (zh) 一种文件水印隐藏、解析方法、装置、设备及存储介质
Khadam et al. Text data security and privacy in the internet of things: threats, challenges, and future directions
CN104765986B (zh) 一种基于隐写术的代码保护及还原方法
CN108133147B (zh) 可执行代码的保护方法、设备及可读存储介质
CN103559251B (zh) 基于信息隐藏的数据安全保护方法
CN110874456B (zh) 水印嵌入和水印提取方法、装置及数据处理方法
KR102108192B1 (ko) 워터마크 삽입 방법, 장치 및 시스템
Zaidan et al. Novel approach for high (secure and rate) data hidden within triplex space for executable file
CN111083307A (zh) 一种基于隐写术的文件检测和破解方法
Shi et al. A novel NMF-based authentication scheme for encrypted speech in cloud computing
Zeng et al. Software Watermarking Through Obfuscated Interpretation: Implementation and Analysis.
Feng et al. A reversible watermark with a new overflow solution
CN107169370A (zh) 可执行文件的加密方法及加密装置
CN115982675A (zh) 文档处理方法、装置、电子设备以及存储介质
CN109241706A (zh) 基于静态胎记的软件抄袭检测方法
Hsieh et al. Combining digital watermarking and fingerprinting techniques to identify copyrights for color images
Zeng et al. Robust software watermarking scheme based on obfuscated interpretation
Zhang et al. PDF document watermarking algorithm based on discarded page object
Guang et al. Obfuscation-based watermarking for mobile service application copyright protection in the cloud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180109

Termination date: 20180305