CN101593258B - System for realizing.Net virtual machine in software protection device and method thereof - Google Patents

System for realizing.Net virtual machine in software protection device and method thereof Download PDF

Info

Publication number
CN101593258B
CN101593258B CN 200810113144 CN200810113144A CN101593258B CN 101593258 B CN101593258 B CN 101593258B CN 200810113144 CN200810113144 CN 200810113144 CN 200810113144 A CN200810113144 A CN 200810113144A CN 101593258 B CN101593258 B CN 101593258B
Authority
CN
China
Prior art keywords
module
protecting equipment
software protecting
library
code
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
CN 200810113144
Other languages
Chinese (zh)
Other versions
CN101593258A (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.)
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 CN 200810113144 priority Critical patent/CN101593258B/en
Publication of CN101593258A publication Critical patent/CN101593258A/en
Application granted granted Critical
Publication of CN101593258B publication Critical patent/CN101593258B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention provides a system for simplifying and realizing.Net virtual machines in a software protection device and a method thereof, belonging to the field of information security. The system for simplifying and realizing.Net virtual machines in the software protection device comprises a memory management module, an order analyzing module, a load module, a system library module and an interfere library module. The method comprises the following steps: memory management is realized; a loader which can load core codes is realized; an order resolver which can analyze core codes is realized; a system library is realized; and an interface library is realized. The invention realizes the.Net virtual machine by realizing a memory management device, an order analyzing device, a load device, a system library device and an interface library device in a software protection device, and permits users to choose different.Net development languages according to own needs. The system of the invention can solve the problem of limited memory of the software protection device after implanted into the software protection device.

Description

A kind of system and method for in software protecting equipment, realizing the .Net virtual machine
Technical field
The invention belongs to information security field, relate in particular to a kind of system and method for in software protecting equipment, realizing the .Net virtual machine.
Background technology
.Net be the technology platform of new generation of Microsoft, be brand-new based on the internet stride the lingware development platform, complied with current software industry Distributed Calculation, facing assembly, enterprise-level application, software serviceization and be megatrend such as center with Web..Net be not development language, but on the .Net development platform, can support multi-door development language..Net the most outstanding characteristics are that it can make the user by Web and numerous smart machine interaction, guarantee that simultaneously user rather than application program control that this is mutual.This just makes the .Net of Microsoft experience is the experience that has personalization, synthesization, and this experience realizes by the smart machine that links to each other with the XML Web service.These smart machines are instruments of a kind of Web of having function, as PC, palm PC, smart phone, in these equipment, mix software, these softwares make they with the reciprocal process of user, network, information and other equipment and service in intelligent more.
.Net the compiling of language is divided into two stages, at first higher level lanquage is compiled into the intermediate language of a kind of IL of being called (intermediate code), compare with higher level lanquage, IL more similarly is a machine language, yet, IL but comprises some abstract concepts (such as: class, unusual), and this also is the reason that this language is called as intermediate language.Higher level lanquage is for the first time by compiling the time, compiler is done two things: at first the IL that compiling is obtained is stored among DLL or the EXE, each method that is class is then created a stub function, and this function can call instant compiler, and compiler is passed to as parameter in the address of self.Instant compiler then obtains corresponding IL from DLL or EXE, be compiled into machine language, and with former in the internal memory zero the time call function replace to machine language.The stub function calls compiler again, will self be compiled as local machine language.JIT is a typical instant compiler, and the jit compiling device compiles before every section code is carried out, and the result of compiling is local static machine code, as the machine code under the running environment of x86 instruction repertorie.
.NET Framework type of application without limits, it can realize that the application program of developing comprises: window application, web application, Web service and other various types of application programs.The design of .NET Framework guarantees that it can be used for various language such as C# language, C++, Visual Basic, JScript, even some old language, as COBOL thus..NET the Framework function realizes being that mainly it comprises a very large code library and .NET CLR (CommonLanguage Runtime, CLR), code library makes the client to use these codes by object based programming technology (OOP) in client's language (as C#), and the .NET CLR is in charge of the execution with all application programs of .NET storehouse exploitation.So, use .NET Framework to write application program, essence just is to use the .NET code library to write code, and programming language can be understood by destination OS, need compiled code, the code in the .NET Framework code library is become the intermediate language that is translated into Microsoft.
So-called virtual machine, can be imagined as a machine of simulating to it with software, various hardware such as processor, internal memory, register are arranged in this machine, the various instructions of Simulation execution, the software that moves on this machine does not have specific (special) requirements to running environment, so virtual machine is transparent to the program of moving on it.For example, what the x86 virtual machine was simulated is the running environment of x86 instruction repertorie, and what the c51 virtual machine was simulated is the running environment of c51 instruction repertorie
Software protecting equipment is the portable set that a kind of personal computer interface by standard provides information encryption to handle.Its built-in single-chip microcomputer or intelligent card chip can storage key or digital certificate, utilizes the built-in cryptographic algorithm of software protecting equipment to realize encryption function to information.Software protecting equipment can be protected software copyright well, prevents piracy.Encryption lock (claiming softdog or dongle again) is a kind of common software protecting equipment.
In the prior art, virtual machine generally is used for PC.For software protecting equipment, because storage space, internal memory are limited, virtual machine is installed therein certain degree of difficulty.And, even realized virtual machine therein, also be difficult to come operation code with it.
Summary of the invention
For solving in the prior art, software protecting equipment storage space and internal memory are limited, and the problem that virtual machine is difficult to realize in software protecting equipment the invention provides a kind of system and method for realizing the .Net virtual machine in software protecting equipment.
On the one hand, the invention provides a kind of system that in software protecting equipment, realizes the .Net virtual machine, specifically comprise: memory management module, command analysis module, load-on module, system library module and interface library module;
Described memory management module is connected in described load-on module, is used for distribution, the recovery and multiplexing of managing internal memory;
Described command analysis module is connected in described load-on module, system library module and interface library module, when the code that is used for writing at software protecting equipment moved in software protecting equipment, the metainstruction when code is moved (IL instruction) resolved to the instruction that virtual machine can move;
Described load-on module is connected in described command analysis module, when the code that is used for writing software protecting equipment moves in software protecting equipment, according to the needs of described command analysis module with the load content of appointment in internal memory;
Described system library module is connected in described command analysis module, is used for the system library on the software protecting equipment simulation framework;
Described interface library module is connected in described command analysis module, is used to realize the communication between the each several part in main frame and software protecting equipment and the software protecting equipment.
Described software protecting equipment is an encryption lock.
Described memory management module counts (reference count) by reference and/or garbage reclamation (garbagecollection) mechanism is come managing internal memory.
The present invention also provides a kind of method that realizes the .Net virtual machine in software protecting equipment, and is specific as follows:
1), realizes memory management
Because Installed System Memory is very little, adopt multiple Memory Allocation strategy to reach the optimum internal memory that uses; Internal memory is divided into two ponds as required, is respectively the fixed size memory pool, variable memory pool; Counting (referencecount) and/or garbage reclamation (garbage collection) mechanism is come managing internal memory by reference;
2), realize to load the loader of core code
When the parsing operation code, in the file that is performed, seek content corresponding as required and be loaded in the internal memory for instruction parsing use;
3), realize the instruction parser that core code is resolved
Realization is used to control the instruction parser of whole execution flow process;
4), realize system library
Realize corresponding system call and function;
5), realize interface library
Realize the communication between the each several part in main frame and software protecting equipment and the software protecting equipment.
Described a kind of method that realizes the .Net virtual machine in software protecting equipment can also comprise the step that the core code simplification is optimized after realizing the instruction parser that core code is resolved.
Described core code simplify the method optimized can but be not limited to hash algorithm, function array etc.
Described realization memory management is meant distribution, the recovery and multiplexing that realizes internal memory.
In the described step 2, realizing loader in software protecting equipment, is the internal memory that is loaded into software protecting equipment for the code segmentation that will write software protecting equipment.
Described step 4 realizes that in software protecting equipment the system library of (implantation) is corresponding with the system library in the main frame.
Beneficial effect: the present invention is by realizing memory management device, charger, instruction resolver, system library device and library device in software protecting equipment; thereby in software protecting equipment, realized the .Net virtual machine; allow the user to select different .Net development languages as required; it is implanted software protecting equipment, solved the limited problem of software protecting equipment internal memory.
Description of drawings
Fig. 1 is a kind of structural representation of simplifying the system that realizes the .Net virtual machine in software protecting equipment of the embodiment of the invention.
Fig. 2 is a kind of process flow diagram of simplifying the method that realizes the .Net virtual machine in software protecting equipment of the embodiment of the invention.
Specific embodiment
For making the purpose, technical solutions and advantages of the present invention clearer, embodiment of the present invention is described further in detail below in conjunction with accompanying drawing.
As shown in Figure 1, the invention provides an a kind of preferred embodiment in software protecting equipment, simplifying the .Net virtual machine of realizing.In the present embodiment, software protecting equipment is specially encryption lock.The user uses the up-to-date IDE environment of VS2005 Microsoft in the present embodiment, develops its required software with arbitrary type of code in the Managed Code, and core code in this software is implanted to encryption lock.As shown in FIG., the system of realization .Net virtual machine comprises memory management module 101, load-on module 102, command analysis module 103, system library module 104 and interface library module 105 in this encryption lock;
Memory management module 101 is connected in load-on module 102, is used for distribution, the recovery and multiplexing of managing internal memory; Because Installed System Memory is very little, adopt multiple Memory Allocation strategy to reach the optimum internal memory that uses; Internal memory is divided into two ponds as required, is respectively the fixed size memory pool, variable memory pool; Counting (reference count) and/or garbage reclamation (garbage collection) mechanism are come managing internal memory by reference;
Load-on module 102 is connected in memory management module 101 and command analysis module 103, is used at protected core code when encryption lock moves, and according to the needs of command analysis module 103 protected core code is loaded in the internal memory;
Command analysis module 103 is connected in load-on module 102, system library module 104, interface library module 105, be used for protected core code when software protecting equipment moves, realize the metainstruction that obtains after the protected core code operation of the instruction simulation that can move with software protecting equipment;
System library module 104 is connected in command analysis module 103, is used for realizing in encryption lock system library, realizes that core code moves in encryption lock when needing the calling system storehouse, directly calls in lock;
Interface library module 105 is connected in command analysis module 103, is used for realizing interface library in encryption lock, finishes the communication of inner each ingredient of main frame, encryption lock and encryption lock.
As shown in Figure 2, the present invention also provides a kind of method that realizes the .Net virtual machine of simplifying in software protecting equipment, and software protecting equipment is connected in main frame, has write core code in the software protecting equipment, and software protecting equipment is specially encryption lock, and is specific as follows:
201, realize memory management
Because Installed System Memory is very little, adopt multiple Memory Allocation strategy to reach the optimum internal memory that uses; Internal memory is divided into two ponds as required, is respectively the fixed size memory pool, variable memory pool; Counting (referencecount) and/or garbage reclamation (garbage collection) mechanism is come managing internal memory by reference.
202, in encryption lock, realize to load the loader of core code
In the present embodiment, the internal memory of encryption lock is limited, realize that it is exactly that segmentation is loaded into the encryption lock internal memory to core code that core code loads, and then need be implanted into loader at encryption lock, loader is exactly virtual machine data in the locating file in operational process in fact, for example will wonder the entrance, and loader obtains the entrance according to file structure and returns then, if also wonder the IL code of entrance function, loader then returns to the skew hereof of virtual machine entrance function code.
Present embodiment obtains the step and the code of .Net program entry point, and is specific as follows:
.Net program all has the IMAGE_COR20_HEADER structure, obtain the IMAGE_COR20_HEADER structure after, IMAGE_COR20_HEADER.EntryPointToken is entrance TOKEN
PIMAGE_DOS_HEADER m_pDosHeader;
PIMAGE_NT_HEADERS m_pNtHeader;
PIMAGE_FILE_HEADER m_pFileHeader;
PIMAGE_OPTIONAL_HEADER m_pOptionalHeader;
PIMAGE_SECTION_HEADER m_pSectionHeader;
PIMAGE_DATA_DIRECTORY m_pDataDirectory;
PIMAGE_COR20_HEADER_X m_pCor20x;
//m_lpBase is the reflection of internal memory PE
m_pDosHeader=(PIMAGE_DOS_HEADER)m_lpBase;
m_pNtHeader=(PIMAGE_NT_HEADERS)
((BYTE*)m_pDosHeader+m_pDosHeader->e_lfanew);
m_pFileHeader=(PIMAGE_FILE_HEADER)
((BYTE*)m_pDosHeader+m_pDosHeader->e_lfanew+4);
m_pOptionalHeader=(PIMAGE_OPTIONAL_HEADER)
((BYTE*)m_pNtHeader+4+sizeof(IMAGE_FILE_HEADER));
m_pCor20x=Rva2Raw_x(m_pOptionalHeader->DataDirectory
[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR].VirtualAddress);
Token?EntryToken=m_pCor20x.EntryPointToken;
203, in encryption lock, realize to realize the instruction parser of core code parsing
In the practical application, when the user developed the used arbitrary type Managed Code of protected software and moves on main frame, operation earlier obtained the IL intermediate language, then, Microsoft's virtual machine is compiled into machine language with it when operation IL intermediate language, realize the function of protected software; In the present embodiment, when core code moves in encryption lock, be to resolve the operation of finishing core code, thereby realize the function of core code, return the required core code operation result of main frame by instruction.It is hash algorithm or function array that core code is simplified the method for optimizing.
For example in the main frame, in the IL intermediate language that protected running software obtains individual add is arranged, concrete operational process is as follows:
static?void?add(int?a,ing?b)
{
return?a+b;
}
IL after this function compiling is:
.method?private?hidebysig?static?int32’add’(int32a,
int32b)cil?managed
//?SIG:00?02?08?08?08
{
// method begins at RVA 0x2109 place
// code size 4 (0x4)
.maxstack?8
IL_0000:/*02 | */ldarg.0
IL_0001:/*03 | */ldarg.1
IL_0002:/*58 | */add
IL_0003:/*2A | */ret
}
In encryption lock, the IL intermediate language that the core code operation obtains has individual add, use the function that add realized in corresponding c language in the encryption lock, be specially: at first obtain the value of importing parameter into, stacked two parameters then,, stacked the result again when running into add the addition then of popping of two elements of stack top, return at last
PushStack (arg.0) // being No. 0 parameter first parameter, value is stacked
PushStack (arg.1) // promptly the value of second parameter is stacked No. 1 parameter
PushStack (PopStack (1)+PopStack (1)) // two data of stack top are popped after the addition pop down as a result
Return//return
Be compiled into the C compiler then and language both can be finished identical functions.
204, in encryption lock, realize system library
In the practical application, program is wanted the calling system storehouse in the main frame operational process, for example:
C#:
static?string?String_ToUpper(string?a)
{
string?c=a.ToUpper();
return?c;
}
IL:
.method?private?hidebysig?static?string?String_ToUpper(string?a)cil?managed
//SIG:00010E?0E
{
// method begins at RVA 0x210c place
// code size 9 (0x9)
.maxstack 1
.locals?init(string?V_0)
IL_0000:/*02 | */ldarg.0
IL_0001:/*6F |(0A)000018 */callvirt instance?string
[mscorlib]System.String::ToUpper()
IL_0006:/*0A | */stloc.0
IL_0007:/*06 | */ldloc.0
IL_0008:/*2A | */ret
} // end?of?method?RsaTest::String_ToUpper
And be not have system library in encryption lock, program run is during to needs calling system storehouse, and encryption lock is finished program to the calling of system library, for example: code with system for simulating storehouse in self virtual machine
Superincumbent IL has called [mscorlib] System.String::ToUpper function in the inside, and this is the function of system library the inside, has realized this function (string_ToUpper ()) in the virtual machine again
PushStack (arg.0) // being No. 0 parameter first parameter, value is stacked
String_ToUpper () // what call now is the function of realizing again that character string is all become capitalization
Character string after loc.0=PopStack (1) // stack top data promptly changes is composed to first local variable
PushStack (loc.0) // the value of first local variable stacked (rreturn value)
Return//return
The final system library of realizing is corresponding with the system library in the main frame.
205, in encryption lock, realize interface library
In the present embodiment, the realization of interface library is the same with top realization system library, and our .net dynamic base of providing is arranged here, some interfaces that call encryption lock have been encapsulated, for example the RSA encryption and decryption also will realize those interface functions that the front is packed inside DES, ECC or the like, virtual machine.Following Example is an example of calling rsa encryption:
C#:
ret=rsa.Encrypt(tData,ref?rLength);
IL:
IL_0052:?/*07 | */ldloc.1
IL_0053:?/*12 |00 */ldloca.s V_0
IL?0055:?/*6F |(0A)000014 */callvirt instance?uint8
[Feitian.Rockey7]Feitian.Rockey7.RSA::Encrypt(uint8[],
int32&)
VM:
Superincumbent IL has called [Feitian.Rockey7] Feitian.Rockey7.RSA::Encrypt function in the inside, and this is the function of interface library the inside, has realized this function (RSA_Encrypt ()) in the virtual machine again
PushStack (loc.1) // promptly the value of second local variable is stacked No. 1 local variable
PushStack (GetAddress (loc.0)) // being No. 0 local variable first local variable, the address is stacked
The rsa encryption that RSA_Encrypt () // call realizes again
Thereby, can realize the communication between the each several part in main frame and encryption lock and the encryption lock.
The above only is preferred embodiment of the present invention, and is in order to restriction the present invention, within the spirit and principles in the present invention not all, any modification of being done, is equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (8)

1. a system that realizes the .Net virtual machine in software protecting equipment is characterized in that described system comprises: memory management module, command analysis module, load-on module, system library module and interface library module;
Described memory management module is connected in described load-on module, is used for distribution, the recovery and multiplexing of managing internal memory;
Described command analysis module is connected in described load-on module, system library module and interface library module, when the code that is used for writing at software protecting equipment moved in software protecting equipment, the metainstruction when code is moved resolved to the instruction that virtual machine can move;
Described load-on module is connected in described command analysis module, when the code that is used for writing software protecting equipment moves in software protecting equipment, according to the needs of described command analysis module with the load content of appointment in internal memory;
Described system library module is connected in described command analysis module, is used for the system library on the software protecting equipment simulation framework;
Described interface library module is connected in described command analysis module, is used to realize the communication between the each several part in main frame and software protecting equipment and the software protecting equipment.
2. system according to claim 1 is characterized in that, described software protecting equipment is an encryption lock.
3. system according to claim 1 is characterized in that described memory management module is counted by reference and/or garbage reclamation mechanism is come managing internal memory.
4. a method that realizes the .Net virtual machine in software protecting equipment is characterized in that described method comprises the steps:
1), realizes memory management
Because Installed System Memory is very little, adopt multiple Memory Allocation strategy to reach the optimum internal memory that uses; Internal memory is divided into two ponds as required, is respectively the fixed size memory pool, variable memory pool; Counting and/or garbage reclamation mechanism are come managing internal memory by reference;
2), realize to load the loader of core code
When the parsing operation code, in the file that is performed, seek content corresponding as required and be loaded in the internal memory for instruction parsing use;
3), realize the instruction parser that core code is resolved
Realization is used to control the instruction parser of whole execution flow process;
4), realize system library
Realize corresponding system call and function;
5), realize interface library
Realize the communication between the each several part in main frame and software protecting equipment and the software protecting equipment.
5. method according to claim 4 is characterized in that, described method also comprises the step that the core code simplification is optimized after realizing the instruction parser that core code is resolved.
6. method according to claim 5 is characterized in that, it is hash algorithm or function array that described core code is simplified the method for optimizing.
7. method according to claim 4 is characterized in that, described realization memory management is meant distribution, the recovery and multiplexing that realizes internal memory.
8. method according to claim 4 is characterized in that the system library of realization is corresponding with the system library in the main frame.
CN 200810113144 2008-05-28 2008-05-28 System for realizing.Net virtual machine in software protection device and method thereof Expired - Fee Related CN101593258B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810113144 CN101593258B (en) 2008-05-28 2008-05-28 System for realizing.Net virtual machine in software protection device and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810113144 CN101593258B (en) 2008-05-28 2008-05-28 System for realizing.Net virtual machine in software protection device and method thereof

Publications (2)

Publication Number Publication Date
CN101593258A CN101593258A (en) 2009-12-02
CN101593258B true CN101593258B (en) 2010-09-08

Family

ID=41407909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810113144 Expired - Fee Related CN101593258B (en) 2008-05-28 2008-05-28 System for realizing.Net virtual machine in software protection device and method thereof

Country Status (1)

Country Link
CN (1) CN101593258B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467640B (en) * 2010-11-05 2014-10-15 北大方正集团有限公司 Function customizing method and device
CN102486820A (en) * 2010-12-03 2012-06-06 邹芬 Software protecting method and system
US8788763B2 (en) * 2011-10-13 2014-07-22 International Business Machines Corporation Protecting memory of a virtual guest
CN102866893B (en) * 2012-09-24 2014-11-26 南京工业大学 Legacy software structure extracting method based on intermediate language IL

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987886A (en) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 Method and device for realizing software protection in software protector
CN101030241A (en) * 2007-04-10 2007-09-05 北京飞天诚信科技有限公司 Method and system based on Keil C51 software protecting development
CN101158911A (en) * 2007-11-22 2008-04-09 北京飞天诚信科技有限公司 .Net program protection method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987886A (en) * 2006-12-22 2007-06-27 北京飞天诚信科技有限公司 Method and device for realizing software protection in software protector
CN101030241A (en) * 2007-04-10 2007-09-05 北京飞天诚信科技有限公司 Method and system based on Keil C51 software protecting development
CN101158911A (en) * 2007-11-22 2008-04-09 北京飞天诚信科技有限公司 .Net program protection method and device

Also Published As

Publication number Publication date
CN101593258A (en) 2009-12-02

Similar Documents

Publication Publication Date Title
US9400668B2 (en) Computer program product containing instructions for providing a processor the capability of executing an application derived from a compiled form
Leroy Bytecode verification on Java smart cards
US7171655B2 (en) Verifier to check intermediate language
US9459893B2 (en) Virtualization for diversified tamper resistance
US9043768B2 (en) System and method for efficient compilation and invocation of function type calls
US6581206B2 (en) Computer program language subset validation
Rossberg et al. Bringing the web up to speed with WebAssembly
US20020093856A1 (en) File language verification
CN101593258B (en) System for realizing.Net virtual machine in software protection device and method thereof
KR20110013191A (en) Separating execution method of executable contents, device for forming separating execution based executable contents, and storage media recorded separating execution based executable contents
CN110597496B (en) Method and device for acquiring bytecode file of application program
Grimaud et al. FACADE: a typed intermediate language dedicated to smart cards
Markantonakis The case for a secure multi-application smart card operating system
Daynes et al. Sharing the runtime representation of classes across class loaders
WO2013141786A1 (en) Methods of distributing a computer program product, and a computer system
Wirjawan et al. Balancing computation and code distribution costs: The case for hybrid execution in sensor networks
Hansen Flow logic for language-based safety and security
Azevedo Annotation-aware dynamic compilation and interpretation
Hyppönen et al. Trading-off type-inference memory complexity against communication
Doederlein The tale of java performance
Barthe et al. Formal methods for smartcard security
Bouffard et al. Java Card Virtual Machine Memory Organization: a Design Proposal
Liu et al. Implementation of Java Card Virtual Machine
Markantonakis Java card technology and security
Lumpe Using metadata transformations to integrate class extensions in an existing class hierarchy

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.

CP01 Change in the name or title of a patent holder

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: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Patentee before: FEITIAN TECHNOLOGIES Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908