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 PDFInfo
- 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
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
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.
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)
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)
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)
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 |
-
2013
- 2013-06-26 CN CN201310258325.5A patent/CN103324481B/en active Active
Patent Citations (3)
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)
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 |