[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN100492387C - 基于Keil C51的软件保护开发的方法和系统 - Google Patents

基于Keil C51的软件保护开发的方法和系统 Download PDF

Info

Publication number
CN100492387C
CN100492387C CNB2007100652861A CN200710065286A CN100492387C CN 100492387 C CN100492387 C CN 100492387C CN B2007100652861 A CNB2007100652861 A CN B2007100652861A CN 200710065286 A CN200710065286 A CN 200710065286A CN 100492387 C CN100492387 C CN 100492387C
Authority
CN
China
Prior art keywords
file system
keil
virtual file
software
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
Application number
CNB2007100652861A
Other languages
English (en)
Other versions
CN101030241A (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.)
Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CNB2007100652861A priority Critical patent/CN100492387C/zh
Publication of CN101030241A publication Critical patent/CN101030241A/zh
Application granted granted Critical
Publication of CN100492387C publication Critical patent/CN100492387C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于Keil C51的软件保护开发的方法和系统,属于信息安全领域。为了解决现有技术中或效率低、成本高,或不能完全模拟真实硬件的功能,以及用户必须反复配置带来操作复杂化等问题,本发明提供了所述方法和系统。方法包括:将软件的核心程序转换成C51语言的源代码;在虚拟文件系统中配置调试源代码时所访问的文件和软件保护装置的硬件设备信息;编译源代码生成C51本地代码,调试源代码;成功后下载C51本地代码并将生成的虚拟文件系统镜像写入该装置中。系统包括接口模块、虚拟文件系统配置模块、系统调用模块、C51虚拟机模块、下载模块和硬件访问模块。本发明简化了软件保护开发的过程,保证了开发的准确性。

Description

基于Keil C51的软件保护开发的方法和系统
技术领域
本发明涉及信息安全领域,特别涉及一种基于Keil C51的软件保护开发的方法和系统。
背景技术
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。KeiluVision2是一个标准的Windows应用程序,集成了C51编译器、A51汇编器、L51连接器、实时操作系统、项目管理器及调试器等,可以完成编辑、编译、链接、调试及仿真等整个开发流程,开发人员可以用IDE(Integrated Development Environment,集成开发环境)或其它编辑器编辑C或汇编源文件,然后分别由C51及A51编译器编译生成目标文件(OBJ文件)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(ABS文件)。绝对目标文件由OH51转换成标准的Hex文件,Hex文件可由仿真器使用,直接对目标板进行调试,也可以直接将Hex文件写入程序存贮器,如EPROM(ErasableProgrammable Read-Only Memory,可擦可编程只读存储器)中。
Keil定义了一个AGDI(Advanced Generic Debugger Interface,高级通用调试器接口)接口,用户通过该接口编写DLL来连接仿真机和Keil的IDE,即KeilC51集成开发环境uVision2,uVision2调试器利用高级的AGDI接口,把uVision2调试器绑定到目标系统。Keil还提供了一组编程接口AGSI(Advanced Generic Simulator Interface,高级通用模拟器接口),使用该接口可以开发和硬件功能一致的DLL,嵌入该DLL到Keil C环境,就能直接在纯粹的软件环境下开发C51程序,用户即可在PC机上完全模拟目标程序、指令集和片内外围功能。
软件模拟仿真器是一种单片机开发方法,同样适用于软件保护的开发。这种方法是在PC机上,用软件来实现仿真,并配置一系列相关的服务程序,使用时只要在PC机上运行该软件包,就可以对目标码程序进行调试。
所谓虚拟机,可以把它想象成一台用软件来模拟的机器,在这台机器里有处理器、内存、寄存器等各种硬件,模拟执行各种指令,在这台机器上运行的软件对运行环境没有特殊要求,所以虚拟机对在它上运行的程序是透明的。例如,X86虚拟机模拟的是X86指令程序的运行环境,C51虚拟机模拟的是C51指令程序的运行环境。
目前,信息安全设备生产商会在较高端的硬件设备中实现某种虚拟机功能,因此可以在信息安全设备中直接运行与实现的虚拟机相对应格式的代码,例如,硬件生产商在信息安全设备中实现了C51虚拟机,目前的应用方式就是将C程序通过Keil C51编译器编译成含有C51指令的二进制文件,该格式的文件就是可以在信息安全设备上执行的可执行文件。
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法,也指用于存储文件的磁盘或分区,或文件系统种类。
虚拟文件系统是指通过软件来组织文件的结构和/或模拟一个文件系统的行为,它实现文件系统的全部或一部分功能。
多年来软件被盗版一直是困扰众多开发商的重大难题,所以许多开发商不得不在软件产品的开发过程中就投入精力去编制软件保护功能模块,尤其是那些售价相对较高,面向特定行业的专业软件产品。但是在一个产品的开发过程中投入精力去实现软件保护功能并非总能收到奇效,最终所能达到的保护效果并非总是与投入的精力成正比。毕竟与软件保护及加密相关的功能的开发需要以一定的实践经验为基础,根据软件产品的具体特点,制定软件保护方案,并在软件开发的初期就着手保护方案的量身设计。正是由于软件保护功能实现的复杂性,所以大多开发商还是会选择一套现成的软件保护类产品,并在软件开发的后期结合到自已的产品中去。
在众多的软件保护方面的产品中,多年来软件加密锁产品仍然是为大家所熟悉且被普遍使用的软件保护产品。加密锁也称加密狗,是一种带有独立CPU、RAM及非易失存储器的一种小型硬件装置,它可通过计算机的数据通讯接口与计算机连接,能够存储、管理数据,并可预置加密算法功能,同时也可后期自行定制部分算法功能。当一个软件产品结合了加密锁进行保护后,软件就无法离开加密锁而正常运行,这个软件产品就与加密锁硬件无形地绑定在了一起,软件就好象被这个装置锁住了似的,故称加密锁。
加密锁的文件系统与Windows的文件系统类似,是目录/文件结构,文件包括:可执行文件,数据文件和密钥文件。可执行文件是在加密锁内部运行的文件。在应用软件运行时,由外部的API接口调用,向该文件传入输入数据,可执行文件在加密锁内部运行后,将结果返回给外部的应用程序。数据文件是存放数据信息的文件。密钥文件是存储RSA密钥对(公钥和私钥)的文件。
现有技术中基于加密锁进行软件保护的一种加密方法原理如下:软件开发商将程序的一部分写入到加密锁中而不必在主机上保留这一部分的副本,程序运行时也不会在计算机的内存中出现;在软件中被写入加密锁的那部分程序的位置,加入对加密锁的调用;软件运行时,这些被移植的程序将在加密锁中内部运行,并将结果返回给软件。由于软件的一部分程序被移植到加密锁中,很明显,安装在计算机上的软件离开了加密锁就不可能正常工作,从而实现对软件的保护。
上述软件保护开发流程一般包括以下几个步骤:
1.开发:软件开发商选择关键代码通过加密锁兼容的编译器,将这些代码编译成本地代码,即可执行文件;
2.调试:对于被移植的代码进行调试,可以将其下载到加密锁中进行调试,也可以通过软件仿真器在PC内仿真真实的加密锁设备来对其进行调试;
3.下载:调试成功后,将可执行文件及可执行文件在运行时需要访问的可执行文件、数据文件、密钥文件等相关文件下载到加密锁内部;
4.测试:软件开发商对整套软件进行测试,包括对下载到加密锁内部的可执行文件和PC端的软件进行调用测试;
5.生产:软件开发商多次重复下载的步骤进行批量烧制。
上述现有技术存在如下缺点:
1.若下载到加密锁进行调试,则效率低、成本高;若利用软件仿真器仿真来进行调试,则不能完全模拟真实硬件的功能,比如软件仿真器不能执行与硬件相关的功能;
2.在烧制和生产的过程中,用户必须得手动配置调试过程中可执行程序运行时所访问的可执行文件、数据文件、密钥文件等相关资源环境,而这些文件在调试过程中可能被改写,即预先配置的文件与调试过程中的文件内容可能不相同,会导致烧制环境与虚拟环境不一致,从而不能保证准确性;如果用户反复重新配置资源,则使得操作复杂化。
发明内容
为了解决上述问题,本发明提供了一种基于Keil C51的软件保护开发的方法和系统。
本发明提供的基于Keil C51的软件保护开发的方法包括:
将软件的核心程序转换成C51语言的源代码;在虚拟文件系统中配置调试所述源代码时所访问的文件和软件保护装置的硬件设备信息;
编译所述源代码生成C51本地代码,通过编写的Keil调试器模拟所述软件保护装置的运行状态,调试所述源代码,所述Keil调试器通过高级通用调试器接口AGDI或高级通用模拟器接口AGSI编写;调试成功后,将调试后的C51本地代码下载到所述虚拟文件系统中,并生成虚拟文件系统镜像;将所述虚拟文件系统镜像写入所述软件保护装置中。
通过计算机的文件或内存模拟所述虚拟文件系统。
所述虚拟文件系统为单独的软件、库或模块。
所述虚拟文件系统能够实现虚拟的目录和/或文件结构。
所述方法还包括:
所述Keil调试器在调试过程中修改所述虚拟文件系统的内容。
所述方法还包括:
所述Keil调试器在调试过程中读取所述虚拟文件系统中的文件和获取所述虚拟文件系统中的信息。
所述运行状态包括输入数据和/或输出数据。
所述虚拟文件系统镜像包括所述虚拟文件系统的目录结构信息。
所述虚拟文件系统镜像包括所述虚拟文件系统的文件结构信息。
所述虚拟文件系统镜像包括所述虚拟文件系统中的文件内容信息。
所述虚拟文件系统镜像包括所述虚拟文件系统中的所述软件保护装置的硬件设备信息。
所述软件保护装置的硬件设备信息包括口令信息和/或自动复位响应ATR。
本发明提供的基于Keil C51的软件保护开发的系统包括:
接口模块,用于连接所述系统与Keil的集成环境,所述接口模块实现高级通用调试器接口AGDI或高级通用模拟器接口AGSI;
虚拟文件系统配置模块,用于在虚拟文件系统中配置调试C51语言的源代码时所访问的文件和软件保护装置的硬件设备信息;
系统调用模块,用于调用实现所述软件保护装置功能的函数;
C51虚拟机模块,用于解释并执行C51指令,并通过调用所述系统调用模块和所述虚拟文件系统来调试所述源代码;Keil的集成环境通过所述接口模块加载和/或调用所述C51虚拟机模块;
下载模块,用于当调试成功后,将调试后的C51本地代码下载到所述虚拟文件系统中,并生成虚拟文件系统镜像;将所述虚拟文件系统镜像写入所述软件保护装置中;Keil的集成环境通过所述接口模块加载和/或调用所述下载模块;
硬件访问模块,用于在所述下载模块将所述虚拟文件系统镜像写入所述软件保护装置的过程中,与所述软件保护装置进行通信。
所述系统调用模块还用于在所述调试过程中被调用来修改所述虚拟文件系统的内容。
所述系统调用模块还用于在所述调试过程中被调用来读取所述虚拟文件系统中的文件和获取所述虚拟文件系统中的信息。
本发明既能保证软件开发商简化自己的软件保护开发过程,又能保证开发过程的准确性。调试器在调试过程中可以调用虚拟文件系统,集中管理可执行文件在运行时所访问的资源环境,在软件保护开发的各个环节无需再重新配置这些资源环境,从而降低了出错几率,保证了准确性,也简化了软件开发商进行软件保护开发过程。结合虚拟文件系统的Keil调试器相当于一个真实卡的模拟环境,可以完成全部加密锁内部系统函数的功能,克服了软件仿真器不能完全模拟真实硬件设备功能的问题。
附图说明
图1是本发明实施例基于Keil C51的软件保护开发的方法流程图;
图2是本发明实施例基于Keil C51的软件保护开发的系统结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于下面的实施例。
参见图1,本发明实施例提供了一种基于Keil C51的软件保护开发的方法,具体包括以下步骤:
步骤101:软件开发商使用高级语言开发软件;
步骤102:选择核心程序,将其转换成C51语言的源代码;
步骤103:在虚拟文件系统中配置调试源代码时所访问的文件和所访问的软件保护装置的硬件设备信息;
虚拟文件系统可以通过计算机的文件或内存模拟,它可以为单独的软件、库或模块,能够实现虚拟的目录和/或文件结构;
步骤104:编译C51语言的源代码生成C51本地代码;
步骤105:Keil调试器模拟软件保护装置的运行状态,调试C51语言的源代码;
Keil调试器为通过AGDI接口或AGSI接口编写,在调试过程中它可以修改虚拟文件系统的内容,还可以读取虚拟文件系统中的文件和获取虚拟文件系统中的信息,其中修改包括在虚拟文件系统中创建目录和/或文件,删除目录和/或文件,写入文件内容信息;运行状态包括输入数据和/或输出数据;
步骤106:调试成功后,下载C51本地代码到虚拟文件系统中,并生成虚拟文件系统镜像;
虚拟文件系统镜像可以包括:虚拟文件系统的目录结构信息、文件结构信息、文件内容信息和虚拟文件系统中软件保护装置的硬件设备信息中的一种或几种,其中软件保护装置的硬件设备信息包括口令信息和/或ATR(Answer To Reset,自动复位响应);
步骤107:将虚拟文件系统镜像写入软件保护装置中。
参见图2,本发明实施例还提供了一种基于Keil C51的软件保护开发的系统,具体包括:
(1)接口模块201,用于连接系统与Keil的集成环境;
(2)虚拟文件系统配置模块202,用于在虚拟文件系统中配置调试C51语言的源代码时所访问的文件和软件保护装置的硬件设备信息;
(3)系统调用模块203,用于调用实现软件保护装置功能的函数;
(4)C51虚拟机模块204,用于解释并执行C51指令,并通过调用系统调用模块和虚拟文件系统来调试源代码;Keil的集成环境通过接口模块加载和/或调用C51虚拟机模块;
(5)下载模块205,用于当调试成功后,将调试后的C51本地代码下载到虚拟文件系统中,并生成虚拟文件系统镜像;将虚拟文件系统镜像写入软件保护装置中;Keil的集成环境通过接口模块加载和/或调用下载模块;
(6)硬件访问模块206,用于在下载模块将虚拟文件系统镜像写入软件保护装置的过程中,与软件保护装置进行通信。
接口模块201可以实现AGDI接口或AGSI接口。
系统调用模块203还用于在调试过程中被调用来修改虚拟文件系统的内容,其中修改包括在虚拟文件系统中创建目录和/或文件,删除目录和/或文件,写入文件内容信息。
系统调用模块203还用于在调试过程中被调用来读取虚拟文件系统中的文件和获取虚拟文件系统中的信息。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (15)

1.一种基于Keil C51的软件保护开发的方法,其特征在于,所述方法包括:
将软件的核心程序转换成C51语言的源代码;在虚拟文件系统中配置调试所述源代码时所访问的文件和软件保护装置的硬件设备信息;
编译所述源代码生成C51本地代码,通过编写的Keil调试器模拟所述软件保护装置的运行状态,调试所述源代码,所述Keil调试器通过高级通用调试器接口AGDI或高级通用模拟器接口AGSI编写;调试成功后,将调试后的C51本地代码下载到所述虚拟文件系统中,并生成虚拟文件系统镜像;将所述虚拟文件系统镜像写入所述软件保护装置中。
2.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,通过计算机的文件或内存模拟所述虚拟文件系统。
3.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统为单独的软件、库或模块。
4.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统能够实现虚拟的目录和/或文件结构。
5.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述方法还包括:
所述Keil调试器在调试过程中修改所述虚拟文件系统的内容。
6.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述方法还包括:
所述Keil调试器在调试过程中读取所述虚拟文件系统中的文件和获取所述虚拟文件系统中的信息。
7.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述运行状态包括输入数据和/或输出数据。
8.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统镜像包括所述虚拟文件系统的目录结构信息。
9.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统镜像包括所述虚拟文件系统的文件结构信息。
10.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统镜像包括所述虚拟文件系统中的文件内容信息。
11.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述虚拟文件系统镜像包括所述虚拟文件系统中的所述软件保护装置的硬件设备信息。
12.根据权利要求1所述的基于Keil C51的软件保护开发的方法,其特征在于,所述软件保护装置的硬件设备信息包括口令信息和/或自动复位响应ATR。
13.一种基于Keil C51的软件保护开发的系统,其特征在于,所述系统包括:
接口模块,用于连接所述系统与Keil的集成环境,所述接口模块实现高级通用调试器接口AGDI或高级通用模拟器接口AGSI;
虚拟文件系统配置模块,用于在虚拟文件系统中配置调试C51语言的源代码时所访问的文件和软件保护装置的硬件设备信息;
系统调用模块,用于调用实现所述软件保护装置功能的函数;
C51虚拟机模块,用于解释并执行C51指令,并通过调用所述系统调用模块和所述虚拟文件系统来调试所述源代码;Keil的集成环境通过所述接口模块加载和/或调用所述C51虚拟机模块;
下载模块,用于当调试成功后,将调试后的C51本地代码下载到所述虚拟文件系统中,并生成虚拟文件系统镜像;将所述虚拟文件系统镜像写入所述软件保护装置中;Keil的集成环境通过所述接口模块加载和/或调用所述下载模块;
硬件访问模块,用于在所述下载模块将所述虚拟文件系统镜像写入所述软件保护装置的过程中,与所述软件保护装置进行通信。
14.根据权利要求13所述的基于Keil C51的软件保护开发的系统,其特征在于,所述系统调用模块还用于在所述调试过程中被调用来修改所述虚拟文件系统的内容。
15.根据权利要求13所述的基于Keil C51的软件保护开发的系统,其特征在于,所述系统调用模块还用于在所述调试过程中被调用来读取所述虚拟文件系统中的文件和获取所述虚拟文件系统中的信息。
CNB2007100652861A 2007-04-10 2007-04-10 基于Keil C51的软件保护开发的方法和系统 Active CN100492387C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100652861A CN100492387C (zh) 2007-04-10 2007-04-10 基于Keil C51的软件保护开发的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100652861A CN100492387C (zh) 2007-04-10 2007-04-10 基于Keil C51的软件保护开发的方法和系统

Publications (2)

Publication Number Publication Date
CN101030241A CN101030241A (zh) 2007-09-05
CN100492387C true CN100492387C (zh) 2009-05-27

Family

ID=38715580

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100652861A Active CN100492387C (zh) 2007-04-10 2007-04-10 基于Keil C51的软件保护开发的方法和系统

Country Status (1)

Country Link
CN (1) CN100492387C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309183B (zh) * 2008-05-04 2011-04-13 北京深思洛克软件技术股份有限公司 一种远程测试和开发软件保护装置的方法
CN101593257B (zh) * 2008-05-27 2011-02-16 北京飞天诚信科技有限公司 基于.Net虚拟机的软件保护系统和方法
CN101593258B (zh) * 2008-05-28 2010-09-08 北京飞天诚信科技有限公司 一种在软件保护装置中实现.Net虚拟机的系统和方法
CN102193829A (zh) * 2011-05-20 2011-09-21 深圳市江波龙电子有限公司 虚拟机调用本地接口的方法及装置
CN103425911B (zh) * 2013-08-07 2017-04-19 北京深思数盾科技股份有限公司 一种增强软件保护易用性的方法
CN103514027B (zh) * 2013-11-12 2017-04-26 北京深思数盾科技股份有限公司 一种增强软件保护易用性的方法
CN107329889B (zh) * 2017-06-05 2021-01-19 芯海科技(深圳)股份有限公司 一种c编译器自动化测试的方法
CN108268732B (zh) * 2018-01-25 2019-10-11 金肯职业技术学院 一种基于Keil软件仿真系统及其仿真电路板的方法
CN109388576A (zh) * 2018-10-29 2019-02-26 无锡中微爱芯电子有限公司 一种基于agdi接口的仿真调试工具
CN110764821A (zh) * 2019-09-05 2020-02-07 浙江中科领航汽车电子有限公司 一种基于Qt的单片机图形界面模拟系统及方法

Also Published As

Publication number Publication date
CN101030241A (zh) 2007-09-05

Similar Documents

Publication Publication Date Title
CN100492387C (zh) 基于Keil C51的软件保护开发的方法和系统
Olivier et al. A binary-compatible unikernel
US8621279B1 (en) System and method for generating emulation-based scenarios for Error Handling
CN107526625B (zh) 一种基于字节码检查的Java智能合约安全检测方法
Ratabouil Android NDK: beginner's guide
Batyuk et al. Developing and benchmarking native linux applications on android
CN108733988A (zh) 安卓平台上可执行程序的保护方法
CN110059456B (zh) 代码保护方法、代码保护装置、存储介质与电子设备
CN102207903A (zh) 用于单元测试的自动重定向方法调用
CN103713902A (zh) 一种基于Android系统的BOA编译方法和系统
US6785884B1 (en) Symbolic debug interface for register transfer simulator debugger
CN115629971A (zh) 一种应用的开发系统和开发方法
Lacamera Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce robust systems
Kang Function call interception techniques
KR20190078681A (ko) 인공신경망 학습/시뮬레이션 시스템 및 방법
Mikkonen Programming mobile devices: an introduction for practitioners
WO2004088508A2 (en) A method of creating software that is portable across different operating systems
KR101436741B1 (ko) 프로그램 보안 솔루션 적용 방법 및 시스템
CN101593257B (zh) 基于.Net虚拟机的软件保护系统和方法
WO2023038715A1 (en) Hot reloading a running application with an unsaved source code change
CN116661904B (zh) 一种基于申威平台的AppImage应用软件打包装置及其方法
RU2521265C2 (ru) Система и способ автоматической обработки системных ошибок программного обеспечения
Viarheichyk Embedded Programming with Modern C++ Cookbook: Practical recipes to help you build robust and secure embedded applications on Linux
CN111158996B (zh) 一种信息处理方法、装置和计算机可读存储介质
Osborne The postroom computer

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
C56 Change in the name or address of the patentee

Owner name: FEITIAN CHENGXIN TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

CP03 Change of name, title or address

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee after: Feitian Technologies Co.,Ltd.

Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing

Patentee before: FEITIAN TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address

Address after: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee after: Feitian Technologies Co.,Ltd.

Country or region after: China

Address before: 100085 17th floor, block B, Huizhi building, No.9 Xueqing Road, Haidian District, Beijing

Patentee before: Feitian Technologies Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address
OL01 Intention to license declared
OL01 Intention to license declared