CN100458818C - 一种通过Windows系统服务监控Windows系统剪贴板的方法 - Google Patents

一种通过Windows系统服务监控Windows系统剪贴板的方法 Download PDF

Info

Publication number
CN100458818C
CN100458818C CNB2007101185842A CN200710118584A CN100458818C CN 100458818 C CN100458818 C CN 100458818C CN B2007101185842 A CNB2007101185842 A CN B2007101185842A CN 200710118584 A CN200710118584 A CN 200710118584A CN 100458818 C CN100458818 C CN 100458818C
Authority
CN
China
Prior art keywords
clipboard
service
windows
hook
monitoring
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
CNB2007101185842A
Other languages
English (en)
Other versions
CN101101621A (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.)
Beijing Topsense Info Tech Co ltd
Original Assignee
Beijing Topsense High-Tech Information 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 Beijing Topsense High-Tech Information Technology Co Ltd filed Critical Beijing Topsense High-Tech Information Technology Co Ltd
Priority to CNB2007101185842A priority Critical patent/CN100458818C/zh
Publication of CN101101621A publication Critical patent/CN101101621A/zh
Application granted granted Critical
Publication of CN100458818C publication Critical patent/CN100458818C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种通过Windows系统服务监控Windows系统剪贴板的方法,包括以下步骤:A.对与剪贴、复制和粘贴操作相关的系统服务信息初始化,查找到系统描述符表及系统服务NtUserGetClipboardData和NtUserSetClipboardData的服务号ID;B.计算系统服务NtUserGetClipboardData和NtUserSetClipboardData在Windows中的地址偏移;C.HOOK两个系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData;D.有操作请求时,用户发出的剪贴板操作信息进入HOOK的两个相应函数:NewNtUserGetClipboardData和NewNtUserSetClipboardData,从而监控剪贴板的所有操作,并通过逻辑判断作相应处理,采用本发明一种通过Windows系统服务监控Windows系统剪贴板的方法,能对用户的剪切、复制、粘贴操作进行全面控制,并对各种软件具有普遍适用性,而且不影响合法用户的正常操作,做到与应用无关。

Description

一种通过Windows系统服务监控Windows系统剪贴板的方法
技术领域
本发明涉及一种通过Windows系统服务监控Windows系统剪贴板的方法,属于计算机技术领域。
背景技术
目前,很多网站和应用软件对用户的剪切、复制、粘贴操作进行了一些控制,但这些控制存在一些缺陷。有些网站只是进行禁止复制的单一控制,无法阻止用户通过其他方式拷贝网站的文本内容;应用软件的操作控制功能有个体局限性,不具备普遍适用性。除此之外,微软对Windows剪贴板提供了一套API,用来用户进行第二次开发和调用,有些厂商为了对剪贴板进行监控,采取了HOOK这些API或者WINDOWS消息的机制来实现这一功能,但这种实现方式也只能针对部分特定的应用软件,无法对所有应用软件有效,更不能做到与应用无关。
发明内容
为克服现有技术的上述缺陷,本发明提供了一种通过Windows系统服务监控Windows系统剪贴板的方法,这种方法能对用户的剪切、复制、粘贴操作进行完全控制,并对各种软件具有普遍适用性,而且与应用无关。
本发明实现上述目的的技术方案是:一种通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于采用WINDOWS内核HOOK技术对剪贴板相关的系统服务进行HOOK,从而达到对WINDOWS系统剪贴板监控的目的,该方法包括以下步骤:
A、对与剪贴、复制和粘贴操作相关的系统服务信息初始化,找到两个系统描述符表ServiceDescriptorTable和ServiceDescriptorTableShadow,获得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData的服务号ID;
B、计算系统服务NtUserGetClipboardData和NtUserSetClipboardData在Windows中的地址偏移;
C、HOOK两个系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData;
D、有操作请求时,用户发出的原进入系统服务NtUserSetClipboardData和NtUserGetClipboardData的剪贴板操作信息就会进入HOOK的两个相应函数:NewNtUserGetClipboardData和NewNtUserSetClipboardData,在这两个函数中,实现监控剪贴板的所有逻辑处理;
E、退出监控驱动,对两个系统服务解除HOOK。
其中,所述步骤A包括下列步骤:
A1、找到已由Ntoskrnl.exe公开导出的系统描述符表ServiceDescriptorTable(简称:SDT);
A2、通过在系统内存空间的搜索方式找到ServiceDescriptorTableShadow在win32k.sys中的基地址;
A3、通过辅助驱动程序LocalSystem.sys取得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData对应当前系统版本的服务号ID。
所述步骤D中的逻辑处理包括以下步骤:
(1)获取当前发起剪切、复制、粘贴请求的进程号(PID);
(2)获取当前发起剪切、复制、粘贴请求的进程进程名(ProcessName);
(3)判断当前进程号是否是在受监控进程列表中,或者当前进程名是否是csrss.exe,对请求做保留、丢弃或加密等处理。
该方法还在剪贴板HOOK驱动中定义一个分支IRP,以实现操作的中断控制。
本发明通过Windows系统服务监控Windows系统剪贴板的方法采用以上步骤通过在Windows系统核心级,运用Windows内核HOOK技术对剪贴板相关的系统服务进行HOOK,从而达到对Windows系统剪贴板全面的监控目的;由于本方法直接HOOK两个与剪贴板监控相关的最重要的系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData,使对用户剪贴板操作请求的控制具有普遍性;本方法的处理过程不需其他额外的操作,由于感觉不到计算机的底层运行情况,丝毫不影响用户的合法正常操作,而且做到与应用无关。
附图说明
图1为本发明的逻辑流程图。
具体实施方式
如附图所示,在剪贴板HOOK驱动入口函数中对需要HOOK的系统服务信息进行初始化,经过深入分析研究windows内核,找到WINDOWS系统服务的入口,名为系统描述符表(简称:SDT),这是由Ntoskrnl.exe公开导出的结构体;在系统描述符表(SDT)中查找剪贴板监控相关的系统服务ID;计算HOOK的系统服务在Windows中的地址偏移;对剪贴板监控相关的系统服务进行HOOK,当用户发起剪贴板相关操作时,在核心态会进入HOOK后的函数中,在相关的HOOK函数中进行剪贴板相关的监控请求逻辑处理。
1、在剪贴板HOOK驱动入口函数DriverEntry()中对需要HOOK的系统服务信息进行初始化,例如在一个函数InitializeGlobalVariables()中对需要用到的HOOK相关的全局变量信息进行初始化,具体步骤如下:
(1)经过深入分析研究Windows内核,找到WINDOWS系统服务的入口,名为系统描述符表(简称:SDT),这是由Ntoskrnl.exe公开导出的结构体。在WINDOWS中为SDT定义了一个如下数据结构:
       typedef struct ServiceDescriptorEntry
      {
         unsigned int*ServiceTableBase;
         unsigned int *ServiceCounterTableBase;
         unsigned int NumberOfServices;
         unsigned char*ParamTableBase;
        }ServiceDescriptorTableEntry_t,*PServiceDescriptorTableEntry_t;
定义一个全局的变量KeServiceDescriptorTable如下:
_declspec(dllimport)ServiceDescriptorTableEntry_t KeServiceDescriptorTable。
(2)在WinNT中还有一个这样的结构体,名为ServiceDescriptorTableShadow,这个结构体未被导出,是一个未公开的不易访问的描述符,只在模块内部使用,这是Windows系统维护的第二个SDT,其在win32k.sys中定义。通过在系统内存空间中采用搜索的方式,找到ServiceDescriptorTableShadow在win32k.sys中的基地址指针。
(3)定义系统相关的六个全局变量:
ULONG   g_ServiceDescriptorTableShadowPtr;
ULONG   g_oW32KServiceBasePtr;
ULONG   g_CurrentW32KServiceTable;
UINT    g_W32KServiceCount;
UINT    g_GetClipboardDataServiceId;
UINT    g_SetClipboardDataServiceId。
各个变量代表意义描述如下:
g_ServiceDescriptorTableShadowPtr:在win32k.sys中SDT的基地址;
g_oW32KServiceBasePtr:原始的在win32k.sys中SDT的基地址;
g_CurrentW32KServiceTable:当前在win32k.sys中SDT的基地址;
g_W32KServiceCount:在win32k.sys中系统服务的个数;
g_GetClipboardDataServiceId:在win32k.sys中NtUserGetClipboardData的服务号;
g_SetClipboardDataServiceId:在win32k.sys中NtUserSetClipboardData的服务号。
(4)将b中找到的ServiceDescriptorTableShadow在WIN32K.SYS中的基地址保存在全局变量ServiceDescriptorTableShadowPtr中;
将(ULONG)(*(PULONG)(g_ServiceDescriptorTableShadowPtr+0x10))的值保存在全局变量g_oW32KServiceBasePtr中;
将(ULONG)(*(PULONG)(g_ServiceDescriptorTableShadowPtr+0x18))的值保存在全局变量g_W32KServiceCount中;
进行如下赋值:g_CurrentW32KServiceTable=g_oW32KserviceBasePtr;
(5)因为windows系列的操作系统中各个版本(eg:windows 2000/xp/2003)的系统服务在SDT中的基地址不一致,所以为了得到NtUserGetClipboardData和NtUserSetClipboardData在WIN32K.SYS中的服务号,我们通过一个辅助的小驱动程序(LocalSystem.sys)来根据操作系统的不同版本取得对应的服务号。
(6)在LocalSystem.sys中的头文件内定义一个如下数据结构和变量:
typedef struct_LOCAL_SYSTEM
{
ULONG Version;//os version,such as 0x0501
ULONG NtUserSetClipboardDataServiceId;
ULONG NtUserGetClipboardDataServiceId;
}LOCAL_SYSTEM,*PLOCAL_SYSTEM;
extern LOCAL_SYSTEM g_LocalSystem;
并将g_LocalSystem导出,以供剪贴板HOOK驱动调用。
(7)将g_LocalSystem.NtUserGetClipboardDataServiceId保存在(3)中定义的全局变量g_GetClipboardDataServiceId中;
将g_LocalSystem.NtUserSetClipboardDataServiceId保存在c中定义的全局变量g_SetClipboardDataServiceId中。
2、在剪贴板HOOK驱动中的IRP_MJ_DEVICE_CONTROL这个IRP中定义一个分支IOCTL_HOOK_CLIPBORAD_SERVICE,在这个分支IRP中实现如下操作:
     //禁止中断
     (*(PULONG)(g_ServiceDescriptorTableShadowPtr+0x10))       =
     (ULONG)g_nW32KServiceTable;
     //允许中断
     g_CurrentW32KServiceTable=(ULONG)g_nW32KServiceTable;
3、对NtUserGetClipboardData和NtUserSetClipboardData两个系统服务进行HOOK:定义一个HOOK这两个系统服务的函数HookServices(),在此函数中进行如下实现:
伪代码:
       ULONG ptrW32p=g_CurrentW32KServiceTable;
    OldNtUserGetClipboardData                                          =
(NTUSERGETCLIPBOARDDATA)(*(PULONG)(ptrW32p+g_GetClipboardDataServiceId*4)
);
    OldNtUserSetClipboardData                                          =
(NTUSERSETCLIPBOARDDATA)(*(PULONG)(ptrW32p+g_SetClipboardDataServiceId*4)
);
         _asm
            {
                cli
                mov eax,CRO
                and eax,not 0x10000
                mov CRO,eax
             }  //dissable interrupt
            (*(PULONG)(PVOID)(ptrW32p+g_GetClipboardDataServiceId*4))  =
(DWORD)NewNtUserGetClipboardData;
            (*(PULONG)(PVOID)(ptrW32p+g_SetClipboardDataServiceId*4))  =
(DWORD)NewNtUserSetClipboardData;
             _asm
        {
             MOV   EAX,CRO       //move CRO register into EAX
             OR   EAX,10000H       //enable WP bit
             MOV   CRO,EAX       //write register back
             STI                  //enable interrupt
         }
当系统有剪切、复制、粘贴操作请求时,从剪贴板取数据会进入系统服务NtUserGetClipboardData,向剪贴板写数据会进入系统服务NtUserSetClipboardData,我们的监控驱动对这两个系统服务进行了HOOK,所以用户发出的操作剪贴板信息就会进入HOOK的两个函数:NewNtUserGetClipboardData,NewNtUserSetClipboardData,在这个函数中,实现了监控剪贴板所有的逻辑处理;
4、退出剪贴板操作请求监控驱动时,在Unload()中对NtUserGetClipboardData和NtUserSetClipboardData两个系统服务解除HOOK,定义一个解除HOOK这两个系统服务的函数UnHookServices(),在此函数中进行如下实现:
伪代码:
//禁止中断
_asm
  {
     cli
     mov eax,CRO
     and eax,not 0x10000
     mov CRO,eax
   }
   (*(PULONG)(g_ServiceDescriptorTableShadowPtr+0x10))     =
g_oW32KServiceBasePtr;
       //解除禁止中断
        _asm
   {
        MOV    EAX,CRO      //move CRO register into EAX
        OR    EAX,10000H       //enable WP bit
        MOV    CRO,EAX      //write register back
        STI                  //enable interrupt
    }
    g_CurrentW32KServiceTable=g_oW32KServiceBasePtr;
5、两个HOOK的系统服务内部处理逻辑如下:
(1)从剪贴板取数据(对应的服务例程:NewNtUserGetClipboardData)中逻辑如下:
A、获取当前发起剪切、复制、粘贴请求的进程号(PID);
B、获取当前发起剪切、复制、粘贴请求的进程进程名(ProcessName);
C、判断当前PID是否是在受监控进程列表中,或者当前进程名是否是csrss.exe。
a)如果当前PID在受监控进程列表中或当前进程名是csrss.exe,则进行如下处理:
if(flag==FALSE)//flag为一个全局变量
      return FALSE;//此处返回,丢弃用户操作请求,或进行加密处理
else if(flag==TRUE && strcmp(ProcessName,″csrss.exe″)==0)
      return FALSE//此处返回,丢弃用户操作请求,或进行加密处理
else
      //donothing;
b)如果a)的条件不满足,则进行如下逻辑处理:
if(flag==TRUE)//flag为一个全局变量
      return FALSE;//此处返回,丢弃用户操作请求,或进行加密处理
(2)向剪贴板放数据(对应服务例程:NewNtUserSetClipboardData)中处理逻辑如下:
A、获取当前发起剪切、复制、粘贴请求的进程号(PID);
B、获取当前发起剪切、复制、粘贴请求的进程进程名(ProcessName);
C、判断当前PID是否是在受监控进程列表中,或者当前进程名是否是csrss.exe。
a)如果当前PID在受监控进程列表中或当前进程名是csrss.exe,则进行如下处理:
Begin
if(g_flag==FALSE)then//g_flag为一个全局变量
        return FALSE;//此处返回,丢弃用户操作请求,或进行加密处理
else if(g_flag==TRUE && strcmp(ProcessName,″csrss.exe″)==0)then
        return FALSE;//此处返回,丢弃用户操作请求,或进行加密处理
else then
        //donothi ng;
Endif
End
b)如果a)的条件不满足,则进行如下逻辑处理:
begin
if(g_flag==TRUE)then//g_flag为一个全局变量
        return FALSE;//此处返回,丢弃用户操作请求,或进行加密处理
Endif
End

Claims (5)

1、一种通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于采用WINDOWS内核HOOK技术对剪贴板相关的系统服务进行HOOK,在剪贴板HOOK驱动中定义一个分支IRP,以实现操作的中断控制,从而达到对WINDOWS系统剪贴板监控的目的,该方法包括以下步骤:
A、对与剪贴、复制和粘贴操作相关的系统服务信息初始化,找到两个系统描述符表ServiceDescriptorTable和ServiceDescriptorTableShadow,获得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData的服务号ID;
B、计算系统服务NtUserGetClipboardData和NtUserSetClipboardData在Windows中的地址偏移;
C、HOOK两个系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData;
D、有操作请求时,用户发出的进入系统服务NtUserSetClipboardData和NtUserGetClipboardData的剪贴板操作信息就会进入HOOK的两个相应函数:NewNtUserGetClipboardData和NewNtUserSetClipboardData,在这两个函数中,实现监控剪贴板的所有逻辑处理;
E、退出监控驱动,对两个系统服务解除HOOK。
2、如权利要求1所述的通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于所述步骤A包括下列步骤:
A1、找到已由Ntoskrnl.exe公开导出的系统描述符表ServiceDescriptorTable(简称:SDT);
A2、找到ServiceDescriptorTableShadow在win32k.sys中的基地址;
A3、取得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData对应当前系统版本的服务号ID。
3、如权利要求2所述的通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于所述步骤A2是通过在系统内存空间的搜索方式,找到ServiceDescriptorTableShadow在win32k.sys中的基地址的。
4、如权利要求2所述的通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于所述步骤A3是通过辅助驱动程序LocalSystem.sys取得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData对应当前系统版本的服务号ID的。
5、如权利要求1所述的通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于:所述步骤D中的逻辑处理包括以下步骤:
(1)获取当前发起剪切、复制、粘贴请求的进程号(PID);
(2)获取当前发起剪切、复制、粘贴请求的进程进程名(ProcessName);
(3)判断当前进程号是否是在受监控进程列表中,或者当前进程名是否是csrss.exe,对请求做保留、丢弃或加密等处理。
CNB2007101185842A 2007-07-10 2007-07-10 一种通过Windows系统服务监控Windows系统剪贴板的方法 Expired - Fee Related CN100458818C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101185842A CN100458818C (zh) 2007-07-10 2007-07-10 一种通过Windows系统服务监控Windows系统剪贴板的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101185842A CN100458818C (zh) 2007-07-10 2007-07-10 一种通过Windows系统服务监控Windows系统剪贴板的方法

Publications (2)

Publication Number Publication Date
CN101101621A CN101101621A (zh) 2008-01-09
CN100458818C true CN100458818C (zh) 2009-02-04

Family

ID=39035893

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101185842A Expired - Fee Related CN100458818C (zh) 2007-07-10 2007-07-10 一种通过Windows系统服务监控Windows系统剪贴板的方法

Country Status (1)

Country Link
CN (1) CN100458818C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571901B (zh) * 2009-06-04 2011-03-16 北京东方微点信息技术有限责任公司 定位服务操作者的方法和装置
CN101620660B (zh) * 2009-07-31 2012-03-21 北京大学 一种Windows操作系统下钩子的防御方法
JP5481308B2 (ja) * 2009-11-30 2014-04-23 株式会社Nttドコモ データ制御装置及びプログラム
CN106096410B (zh) * 2016-06-02 2019-04-05 珠海豹趣科技有限公司 一种进程控制方法及用户终端
CN106127041A (zh) * 2016-07-04 2016-11-16 北京金山安全软件有限公司 防止剪贴板数据被监听的方法、装置及终端设备
CN106203111A (zh) * 2016-07-04 2016-12-07 北京金山安全软件有限公司 防止修改剪贴板数据的方法、装置和终端设备
CN109409098B (zh) * 2017-10-24 2021-01-01 浙江华途信息安全技术股份有限公司 防止剪切板数据泄露的方法和装置
CN112463402A (zh) * 2020-11-03 2021-03-09 浙江华途信息安全技术股份有限公司 一种基于macOS操作系统的剪切板控制方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1586998A1 (en) * 2003-01-20 2005-10-19 Fujitsu Limited Copy prevention apparatus, copy prevention method, and program for causing computer to execute the method
CN1713573A (zh) * 2004-06-22 2005-12-28 腾讯科技(深圳)有限公司 一种网页插件选择下载的实现方法及其装置
CN1808390A (zh) * 2006-02-07 2006-07-26 无锡永中科技有限公司 对剪贴数据进行处理的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1586998A1 (en) * 2003-01-20 2005-10-19 Fujitsu Limited Copy prevention apparatus, copy prevention method, and program for causing computer to execute the method
CN1713573A (zh) * 2004-06-22 2005-12-28 腾讯科技(深圳)有限公司 一种网页插件选择下载的实现方法及其装置
CN1808390A (zh) * 2006-02-07 2006-07-26 无锡永中科技有限公司 对剪贴数据进行处理的方法

Also Published As

Publication number Publication date
CN101101621A (zh) 2008-01-09

Similar Documents

Publication Publication Date Title
CN100458818C (zh) 一种通过Windows系统服务监控Windows系统剪贴板的方法
EP1080407B1 (en) Computer system with an emulation coprocessor and method for executing an emulated application program
US6763518B2 (en) Automatic client/server translation and execution of non-native applications
US7574709B2 (en) VEX-virtual extension framework
RU2263343C2 (ru) Механизм для управления внешними прерываниями в системе виртуальных машин
US6269409B1 (en) Method and apparatus for concurrent execution of operating systems
US20190332368A1 (en) Per request computer system instances
US6321279B1 (en) System for implementing intelligent I/O processing in a multi-processor system by redirecting I/O messages to a target central processor selected from the multi-processor system
US8495262B2 (en) Using a table to determine if user buffer is marked copy-on-write
US20010009020A1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and hal exported entry points
US9792136B2 (en) Hardware assisted inter hypervisor partition data transfers
US8166349B2 (en) Communicating with USB devices after a computer system crash
US20080162764A1 (en) Processing method and processing device for a hardware interrupt
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
US8886862B2 (en) Virtualization of interrupts
US7581037B2 (en) Effecting a processor operating mode change to execute device code
WO2023179388A1 (zh) 一种虚拟机实例的热迁移方法
US20090307680A1 (en) Side-by-side driver installation
CN111209080A (zh) 一种图形处理器透传的方法
TW201027349A (en) Input-output virtualization technique
US20070033371A1 (en) Method and apparatus for establishing a cache footprint for shared processor logical partitions
US6711625B1 (en) Kernel file I/O management system and method
US7934063B2 (en) Invoking externally assisted calls from an isolated environment
US20120136858A1 (en) Method to Coordinate Data Collection Among Multiple System Components
US6466996B1 (en) Method and system for implementing intelligent distributed input-output processing as a software process in a host operating system environment

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
ASS Succession or assignment of patent right

Owner name: SUZHOU HIERSTAR LTD.

Free format text: FORMER OWNER: BEIJING TOPSENSE HIGH-TECH INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20130607

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100085 HAIDIAN, BEIJING TO: 215200 SUZHOU, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130607

Address after: 215200, Jiangsu, Wujiang, Wujiang Economic Development Zone, south of Yang Lian Road, east of Changan Road (Science and Technology Pioneer Park), Suzhou

Patentee after: HIERSTAR (SUZHOU)., Ltd.

Address before: 100085, room 306, North building, rainbow building, No. 11 information road, Beijing, Haidian District

Patentee before: Beijing Topsense Info-Tech Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20160711

Granted publication date: 20090204

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20170711

Granted publication date: 20090204

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170926

Address after: 100085, Beijing, Haidian District on the road No. 11 Rainbow Building on the third floor

Patentee after: Beijing Topsense Info-Tech Co.,Ltd.

Address before: 215200, Jiangsu, Wujiang, Wujiang Economic Development Zone, south of Yang Lian Road, east of Changan Road (Science and Technology Pioneer Park), Suzhou

Patentee before: HIERSTAR (SUZHOU)., Ltd.

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: 20090204

Termination date: 20210710