CN103324481B - By Compilation Method and the system of implementation by assembly Code obfuscation - Google Patents

By Compilation Method and the system of implementation by assembly Code obfuscation Download PDF

Info

Publication number
CN103324481B
CN103324481B CN201310258325.5A CN201310258325A CN103324481B CN 103324481 B CN103324481 B CN 103324481B CN 201310258325 A CN201310258325 A CN 201310258325A CN 103324481 B CN103324481 B CN 103324481B
Authority
CN
China
Prior art keywords
code
assembly code
function
memory mapping
mapping area
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
CN201310258325.5A
Other languages
Chinese (zh)
Other versions
CN103324481A (en
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.)
Xiamen Wangsu Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201310258325.5A priority Critical patent/CN103324481B/en
Publication of CN103324481A publication Critical patent/CN103324481A/en
Application granted granted Critical
Publication of CN103324481B publication Critical patent/CN103324481B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses the Compilation Method by implementation by assembly Code obfuscation and system, solve and cannot hide system under Android ARM platform and call, the problem easily cracked by competition head of the queue by dis-assembling core technology, thus increase the difficulty that software is cracked.Its technical scheme is: method includes: write core function;Dis-assembling core function;Establishment can perform memory mapping area;The assembly code of core function is replicated toward memory mapping area;Step 5: perform the assembly code of memory mapping area, generates the core function after obscuring.

Description

By Compilation Method and the system of implementation by assembly Code obfuscation
Technical field
The present invention relates to Android(Android) system NDK compiling under ARM platform, particularly relate to utilize and converge Compile code and hide the Compilation Method calling details and the system of sensitivity function.
Background technology
According to EnfoDesk Yi Guan think tank industry statistics of database, end 2012 China Mobile Internet in end of the year markets rule Mould reaches 1500 hundred million, and mobile interchange network users is more than 500,000,000.Under fierce Market Competition, enterprise uses soft The core technology of part encryption technology protection oneself becomes particularly important.
The main purpose of Code obfuscation is to protect source code, utilizes software encryption technique encryption executable program and moves State storehouse, stops reverse engineering.Reverse engineering can bring many problems, and such as intellectual property is revealed, and program weakness exposes Vulnerable etc..
Except Code obfuscation, software shelling is to use most encryption method, wherein goes out most in field UPX performance of increasing income Look.
Existing software enciphering method has following several defect:
1, supportive bad to Android platform of existing software enciphering method, and software is without corresponding A ndroid version.
2, software shelling can reduce the speed of service of software, and it is unstable to be easily caused program.
3, software shelling can increase the size of executable file or library file, it will be apparent that increases memory requirements.
4, common Code obfuscation cannot stop and obtains system by dis-assembling and call function.
Summary of the invention
It is an object of the invention to solve the problems referred to above, it is provided that a kind of Compilation Method by implementation by assembly Code obfuscation And system, solve and cannot hide system under Android ARM platform and call, the most competing by dis-assembling core technology Strive the problem that head of the queue cracks, thus increase the difficulty that software is cracked.
The technical scheme is that and present invention is disclosed a kind of Compilation Method by implementation by assembly Code obfuscation, bag Include:
Step 1: write core function;
Step 2: dis-assembling core function;
Step 3: create and can perform memory mapping area;
Step 4: replicate the assembly code of core function toward memory mapping area;
Step 5: perform the assembly code of memory mapping area, generates the core function after obscuring.
One embodiment of the Compilation Method by implementation by assembly Code obfuscation according to the present invention, it is right also to include in step 4 The cryptographic operation of assembly code and the decryption oprerations to assembly code.
One embodiment of the Compilation Method by implementation by assembly Code obfuscation according to the present invention, in step 1, uses Android NDK written in code core function, extraction core is also written in independent core function, and will system Tracking with or standard C storehouse replace with and indirectly call.
One embodiment of the Compilation Method by implementation by assembly Code obfuscation according to the present invention, in step 2, uses The code disassembling of core function is become ARM platform code by debugging tool.
One embodiment of the Compilation Method by implementation by assembly Code obfuscation according to the present invention, in step 3, uses Linux system is called mmap and is created memory mapping area, and by assembly instruction Code copying to memory mapping area.
Present invention further teaches a kind of compiling system by implementation by assembly Code obfuscation, including:
Function writes module, writes core function;
Function dis-assembling module, dis-assembling core function;
Memory mapping area creation module, establishment can perform memory mapping area;
Assembly code replication module, replicates the assembly code of core function toward memory mapping area;
Core function generation module, performs the assembly code of memory mapping area, generates the core function after obscuring.
One embodiment of the compiling system by implementation by assembly Code obfuscation according to the present invention, assembly code replication module In also include:
Ciphering unit, it is achieved the cryptographic operation of assembly code;And
Decryption unit, it is achieved the decryption oprerations of the assembly code after encryption.
One embodiment of the compiling system by implementation by assembly Code obfuscation according to the present invention, function is write module and is used Android NDK written in code core function, extraction core is also written in independent core function, and will system Tracking with or standard C storehouse replace with and indirectly call.
One embodiment of the compiling system by implementation by assembly Code obfuscation according to the present invention, function dis-assembling module makes With debugging tool, the code disassembling of core function is become ARM platform code.
One embodiment of the compiling system by implementation by assembly Code obfuscation according to the present invention, memory mapping area creates mould Block uses Linux system call mmap and create memory mapping area, and by assembly instruction Code copying to memory mapping area.
The present invention contrasts prior art following beneficial effect: the solution of the present invention is to extract core code to write Enter in a single core function, and system is called or the function call in standard C storehouse is rewritten into by directly invoking Indirectly call, i.e. use variable save function pointer, then call this function pointer.Additionally, the present invention converges also by anti- Compile core function, replicate out by assembly code and analyze, or be encrypted the assembly code guarantor after operating and processing Existence can perform in memory mapping area.When needs perform core function when, the code solution that memory mapping area is preserved Close, then perform, the code of memory mapping area can be wiped after having performed.Relative to conventional art, the present invention can Call so that rival cracks asking of core technology easily to solve cannot to hide system under Android ARM platform Topic.Due to dynamic insertion code program performs when, the code encryption that can first will insert before this, deciphering is held Internal storage data can be emptied after row, reach the purpose of covered code.And this process does not significantly increase internal memory, the most not Running software speed can be reduced and cause program unstable.
Accompanying drawing explanation
Fig. 1 shows the flow chart of the first embodiment of the Compilation Method by implementation by assembly Code obfuscation of the present invention.
Fig. 2 shows the flow chart of the second embodiment of the Compilation Method by implementation by assembly Code obfuscation of the present invention.
Fig. 3 shows the schematic diagram of the first embodiment of the compiling system by implementation by assembly Code obfuscation of the present invention.
Fig. 4 shows the schematic diagram of the second embodiment of the compiling system by implementation by assembly Code obfuscation of the present invention.
Detailed description of the invention
The invention will be further described with embodiment below in conjunction with the accompanying drawings.
First embodiment by the Compilation Method of implementation by assembly Code obfuscation
Fig. 1 shows the flow process of the first embodiment of the Compilation Method by implementation by assembly Code obfuscation of the present invention.Please See Fig. 1, the detailed description of the enforcement step of Code obfuscation Compilation Method to the present embodiment is presented herein below.
Step 11: write core function.
Can use Android NDK written in code in the present embodiment, extraction core writes in independent function, And system is called or standard C storehouse makes into indirectly to call.Code is schematically as follows:
Step 12: dis-assembling core function.
GDB debugging acid or IDA Pro Advanced can be used in the present embodiment by the code of core function Dis-assembling becomes ARM platform code, as follows.(gdb)x/20i funcx
Analyze above-mentioned assembly code:
1) C code of C code assembly code<funcx+24>correspondence combining funcx is callPrintf=&printf;
2)<funcx+28>and<funcx+32>can ignore, and does not does equal to what because preserving to load out again;
3)<funcx+20>and<funcx+40>preserves and loading parameters a (a=1) respectively;
4)<funcx+24>and<funcx+36>loading function pointer and first parameter respectively.(we are to be revised is The value of the two).
Step 13: create and can perform memory mapping area.
Rewrite the assembly code of core function, use linux system to call mmap and create memory mapping area, and will converge Compile instruction code and copy to memory mapping area, can because only having memory mapping area could revise internal memory in User space space Perform authority.
The assembly code rewriting funcx is as follows:
It can be seen that<funcx+24>in above-mentioned steps 12 and<funcx+36>instruction is replaced to 8 from above-mentioned code Bar instructs, and data temporarily empty.Above-mentioned assembly instruction data unsigned char code [] is preserved;Use linux System is called mmap and is created memory mapping area, and assembly instruction code is copied into memory mapping area, because user In state space, only memory mapping area could be revised internal memory and can be performed authority.
The code that establishment can perform memory mapping area is as follows:
Step 14: replicate the assembly code of core function toward memory mapping area.
8 instructions that dynamically amendment step S13 reserves, replace to a mov instruction and three by a ldr instruction Bar orr instructs, it is achieved the operation of data write register, and this process is as follows:
Code data before mem memory field has copied, from side-play amount 24(0x18) start to need amendment exactly The initial address of assembly instruction.Assembly code under MOV Yu ORR grand corresponding A RM platform, emit function is real Internal memory write operation and the pointer of mobile next address are showed.8 instructions, these 8 fingers are write by emit function The meaning of order is that the address of printf function is write r3 register, and parameter fmt is write r0 register.At register Before write operation, the data of printf function address and fmt parameter can be carried out with various AESs Encryption, is decrypted before calling emit function again, i.e. can reach obfuscated codes and hide the effect of some Key Functions. Even if this partial code is disassembled out the concrete behavior also being difficult to position this function, shown as follows.
Step 15: perform the assembly code of memory mapping area, generates the core function after obscuring.
Mem memory field is executable memory field, and the data in internal memory are the variant of funcx function, therefore mem Address is exactly the address of a function in fact, it is only necessary to simply call int (* func) ()=mem;Func (), can perform Amended code.Performing func () the front difference according to platform, some system may need __clear_cache((char*)mem,(char*)mem+sizeof(code));Carry out flush buffers, because CPU cache's deposits , non-flush buffers may cause instruction to make mistakes.
The second embodiment by the Compilation Method of implementation by assembly Code obfuscation
Fig. 2 shows the flow process of the second embodiment of the Compilation Method by implementation by assembly Code obfuscation of the present invention.Please See Fig. 2, the detailed description of the enforcement step of Code obfuscation Compilation Method to the present embodiment is presented herein below.
Step 21: write core function.
Can use Android NDK written in code in the present embodiment, extraction core writes in independent function, And system is called or standard C storehouse makes into indirectly to call.
Step 22: dis-assembling core function.
GDB debugging acid or IDA Pro Advanced can be used in the present embodiment by the code of core function Dis-assembling becomes ARM platform code.
Step 23: create and can perform memory mapping area.
Rewrite the assembly code of core function, use linux system to call mmap and create memory mapping area, and will converge Compile instruction code and copy to memory mapping area, can because only having memory mapping area could revise internal memory in User space space Perform authority.
Step 24: replicate the assembly code of core function toward memory mapping area.Before register write operation, permissible The data of printf function address and fmt parameter are encrypted with various AESs.And calling emit It is decrypted again before function, i.e. can reach obfuscated codes and hide the effect of some Key Functions, though this partial code quilt Dis-assembling also out is difficult to position the concrete behavior of this function.
Step 25: perform the assembly code of memory mapping area, generates the core function after obscuring.
First embodiment by the compiling system of implementation by assembly Code obfuscation
Fig. 3 shows the structure of the first embodiment of the compiling system by implementation by assembly Code obfuscation of the present invention.Please Seeing Fig. 3, the Code obfuscation compiling system of the present embodiment includes: function write module 11, function dis-assembling module 12, Memory mapping area creation module 13, assembly code replication module 14, core function generation module 15.
Function is write module 11 and is write core function, can use Android NDK written in code in the present embodiment, Extraction core writes in independent function, and system is called or standard C storehouse makes into indirectly to call.
Function dis-assembling module 12 dis-assembling core function, it is possible to use GDB debugging acid or IDA Pro The code disassembling of core function is become ARM platform code by Advanced.
Memory mapping area creation module 13 creates can perform memory mapping area.Memory mapping area creation module 13 rewrites core The assembly code of heart function, uses linux system to call mmap and creates memory mapping area, and by assembly instruction code Copy to memory mapping area, because only having memory mapping area could revise internal memory in User space space can perform authority
Assembly code replication module 14 replicates the assembly code of core function toward memory mapping area.
Assembly code performs module 15 and performs the assembly code of memory mapping area, generates the core function after obscuring.
The second embodiment by the compiling system of implementation by assembly Code obfuscation
Fig. 4 shows the structure of the second embodiment of the compiling system by implementation by assembly Code obfuscation of the present invention.Please Seeing Fig. 4, the Code obfuscation compiling system of the present embodiment includes: function write module 21, function dis-assembling module 22, Memory mapping area creation module 23, assembly code replication module 24, core function generation module 25.
Function is write module 21 and is write core function, can use Android NDK written in code in the present embodiment, Extraction core writes in independent function, and system is called or standard C storehouse makes into indirectly to call.
Function dis-assembling module 22 dis-assembling core function, it is possible to use GDB debugging acid or IDA Pro The code disassembling of core function is become ARM platform code by Advanced.
Memory mapping area creation module 23 creates can perform memory mapping area.Memory mapping area creation module 13 rewrites core The assembly code of heart function, uses linux system to call mmap and creates memory mapping area, and by assembly instruction code Copy to memory mapping area, because only having memory mapping area could revise internal memory in User space space can perform authority.
Assembly code replication module 24 replicates the assembly code of core function toward memory mapping area.Assembly code replication module Ciphering unit 241 and decryption unit 242 is also included in 24.Ciphering unit 241 realizes the cryptographic operation of assembly code. Decryption unit 242 realizes the decryption oprerations of the assembly code after encryption.
Assembly code performs module 25 and performs the assembly code of memory mapping area, generates the core function after obscuring.
Above-described embodiment is available to those of ordinary skill in the art and realizes and use the present invention, the common skill in this area Above-described embodiment can be made various modifications or change by art personnel without departing from the present invention in the case of the inventive idea, Thus protection scope of the present invention is not limited by above-described embodiment, and should be to meet the wound that claims are previously mentioned The maximum magnitude of new property feature.

Claims (10)

1. by a Compilation Method for implementation by assembly Code obfuscation, including:
Step 1: write core function;
Step 2: dis-assembling core function;
Step 3: create and can perform memory mapping area;
Step 4: replicate the assembly code of core function toward memory mapping area;
Step 5: perform the assembly code of memory mapping area, generates the core function after obscuring.
Compilation Method by implementation by assembly Code obfuscation the most according to claim 1, it is characterised in that step Also include in 4: replicate toward memory mapping area after assembly code is encrypted operation, then assembly code is entered Row decryption oprerations.
Compilation Method by implementation by assembly Code obfuscation the most according to claim 1 and 2, it is characterised in that In step 1, using Android NDK written in code core function, extraction core is also written to independent core In heart function, and system is called or standard C storehouse replaces with and indirectly calls.
Compilation Method by implementation by assembly Code obfuscation the most according to claim 3, it is characterised in that in step In rapid 2, use debugging tool that the code disassembling of core function is become ARM platform code.
Compilation Method by implementation by assembly Code obfuscation the most according to claim 4, it is characterised in that in step In rapid 3, use Linux system to call mmap and create memory mapping area, and assembly instruction Code copying is reflected to internal memory Penetrate district.
6. by a compiling system for implementation by assembly Code obfuscation, including:
Function writes module, writes core function;
Function dis-assembling module, dis-assembling core function;
Memory mapping area creation module, establishment can perform memory mapping area;
Assembly code replication module, replicates the assembly code of core function toward memory mapping area;
Core function generation module, performs the assembly code of memory mapping area, generates the core function after obscuring.
Compiling system by implementation by assembly Code obfuscation the most according to claim 6, it is characterised in that compilation Code copying module also includes:
Ciphering unit, it is achieved transfer to assembly code replication module to replicate after the cryptographic operation of assembly code again;And
Decryption unit, it is achieved the decryption oprerations of the assembly code after encryption duplication.
8. according to the compiling system by implementation by assembly Code obfuscation described in claim 6 or 7, it is characterised in that Function is write module and is used Android NDK written in code core function, and extraction core is also written to independent core In heart function, and system is called or standard C storehouse replaces with and indirectly calls.
Compiling system by implementation by assembly Code obfuscation the most according to claim 8, it is characterised in that function Dis-assembling module uses debugging tool that the code disassembling of core function is become ARM platform code.
Compiling system by implementation by assembly Code obfuscation the most according to claim 9, it is characterised in that interior Deposit and map section creation module uses Linux system call mmap establishment memory mapping area, and assembly instruction code is multiple System is to memory mapping area.
CN201310258325.5A 2013-06-26 2013-06-26 By Compilation Method and the system of implementation by assembly Code obfuscation Active CN103324481B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310258325.5A CN103324481B (en) 2013-06-26 2013-06-26 By Compilation Method and the system of implementation by assembly Code obfuscation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310258325.5A CN103324481B (en) 2013-06-26 2013-06-26 By Compilation Method and the system of implementation by assembly Code obfuscation

Publications (2)

Publication Number Publication Date
CN103324481A CN103324481A (en) 2013-09-25
CN103324481B true CN103324481B (en) 2016-08-31

Family

ID=49193250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310258325.5A Active CN103324481B (en) 2013-06-26 2013-06-26 By Compilation Method and the system of implementation by assembly Code obfuscation

Country Status (1)

Country Link
CN (1) CN103324481B (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678961B (en) * 2013-11-07 2016-07-06 北京深思数盾科技股份有限公司 The method that code dynamically generates
CN104318134B (en) * 2014-11-05 2017-06-06 北京深思数盾科技股份有限公司 A kind of data guard method
DE102014019090A1 (en) * 2014-12-18 2016-06-23 Giesecke & Devrient Gmbh Method for providing a safety-critical software application on a computer unit
CN104573427B (en) * 2015-01-06 2017-09-08 北京邮电大学 Method and apparatus are obscured in a kind of executable application
CN104573426B (en) * 2015-01-06 2017-06-06 北京邮电大学 Method and apparatus are obscured in a kind of executable application
CN104869170B (en) * 2015-05-29 2018-11-13 四川效率源信息安全技术股份有限公司 For the decryption method of UC browser data file encryptions
CN105975816B (en) * 2015-12-25 2019-06-07 武汉安天信息技术有限责任公司 Code protection method and system under mobile terminal based on virtual technology
CN106126981B (en) * 2016-08-30 2019-04-02 电子科技大学 Software security means of defence based on the replacement of virtual function table
CN106682460B (en) * 2016-11-25 2019-05-31 西北大学 It is a kind of based on the Code obfuscation method converted twice
CN109426703B (en) * 2017-08-30 2023-11-24 喀斯玛汇智(无锡)科技有限公司 Method and device for protecting core code on IOS platform
CN110020533B (en) * 2018-01-08 2021-02-09 福建天泉教育科技有限公司 Safety protection method for VR resources and terminal
CN108804937B (en) * 2018-06-12 2021-03-02 广州华多网络科技有限公司 System function calling method and related device
CN110046479B (en) * 2019-03-21 2023-02-28 腾讯科技(深圳)有限公司 Link library file anti-debugging method and device based on android operating system
CN110717150A (en) * 2019-10-08 2020-01-21 北京顶象技术有限公司 Code protection method, device, protection equipment and readable storage medium
CN113010855B (en) * 2019-12-18 2022-05-10 武汉斗鱼鱼乐网络科技有限公司 Method, device and medium for acquiring data and computer equipment
CN111190604B (en) * 2019-12-30 2023-11-03 航天信息股份有限公司 Android application memory confusion method and device, electronic equipment and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807239A (en) * 2010-03-29 2010-08-18 山东高效能服务器和存储研究院 Method for preventing source code from decompiling
CN101980160A (en) * 2010-10-28 2011-02-23 北京飞天诚信科技有限公司 Implementing method for encrypted .NET program
CN101986326A (en) * 2010-12-01 2011-03-16 浙江核新同花顺网络信息股份有限公司 Method and device for protecting software security

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818552B2 (en) * 2007-12-20 2010-10-19 The United States Of America As Represented By The Secretary Of The Army Operation, compare, branch VLIW processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807239A (en) * 2010-03-29 2010-08-18 山东高效能服务器和存储研究院 Method for preventing source code from decompiling
CN101980160A (en) * 2010-10-28 2011-02-23 北京飞天诚信科技有限公司 Implementing method for encrypted .NET program
CN101986326A (en) * 2010-12-01 2011-03-16 浙江核新同花顺网络信息股份有限公司 Method and device for protecting software security

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
二进制代码中函数混淆调用的识别;曾鸣;《计算机工程与应用》;20070611;第24-28页 *
基于程序流敏感的自修改代码混淆方法;何炎祥;《计算机工程与科学》;20120115;第34卷(第1期);第79-85页 *
目标代码混淆技术综述;李勇;《计算机技术与发展》;20070410;第17卷(第4期);第125-127页 *

Also Published As

Publication number Publication date
CN103324481A (en) 2013-09-25

Similar Documents

Publication Publication Date Title
CN103324481B (en) By Compilation Method and the system of implementation by assembly Code obfuscation
EP3906488B1 (en) Method and contract rewriting framework system for supporting smart contracts in a blockchain network
JP5458184B2 (en) System and method for aggressive automatic correction in a dynamic function call system
US11748468B2 (en) Dynamic switching between pointer authentication regimes
US6993754B2 (en) Annotations to executable images for improved dynamic optimization functions
US8615735B2 (en) System and method for blurring instructions and data via binary obfuscation
CN108733988A (en) The guard method of executable program on Android platform
US7162735B2 (en) Digital data protection arrangement
WO2016078130A1 (en) Dynamic loading method for preventing reverse of apk file
CN107480476B (en) Android native layer instruction compiling virtualization shell adding method based on ELF infection
CN107908933A (en) A kind of character string encryption method based on intermediate language
CN104834838B (en) Prevent the method and device of DEX file unloading from internal memory
CN108491235A (en) In conjunction with the DEX guard methods of dynamic load and function Nativeization
US8775826B2 (en) Counteracting memory tracing on computing systems by code obfuscation
Ammanaghatta Shivakumar et al. Enforcing fine-grained constant-time policies
CN113626773B (en) Code protection method based on intermediate language
Lin Study on the principle and defense of buffer overflow attacks
CN111381905B (en) Program processing method, device and equipment
CN107368713B (en) Protect the method and security component of software
CN111222103B (en) Software protection method based on vectorization exception handling
CN105912893A (en) Strengthening method based on Android system microinstruction just-in-time compilation
CN115964758A (en) TrustZone-based kernel data integrity protection method
CN113918167A (en) Data processing method and device
TWI682296B (en) Image file packaging method and image file packaging system
KR20190035244A (en) Screen leak prevention program and screen leak prevention service providing method for injecting watermark into captured data

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
TR01 Transfer of patent right

Effective date of registration: 20171204

Address after: 361000 No. 0036, unit 0036, Chengyi street, Xiamen Software Park, Fujian Province, unit 0036

Patentee after: Xiamen net Lodge Co., Ltd.

Address before: 200030 Shanghai Xuhui District Xietu Road No. 2669 15 Floor

Patentee before: ChinaNetCenter Co., Ltd.

TR01 Transfer of patent right