Font Size: a A A

The Optimization Of The Interpreter In The Virtual Machine-based Software Dynamic Protection System

Posted on:2017-12-24Degree:MasterType:Thesis
Country:ChinaCandidate:S H LiFull Text:PDF
GTID:2348330488457687Subject:Communication and Information System
Abstract/Summary:PDF Full Text Request
In modern society,the computer software has penetrated into all aspects of society,and efficient operation of all walks of life need software support. Software development and maintenance requires a lot of human and material resources, but for commercial and other interests,cracking software and software piracy often occur. So how to protect software copyright and the core technology is becoming a trouble to the software developers.There are mainly two kinds of software protection based on hardware and software at present. Hardware-based protection has great strength of protection, but its cost is too high and its use is complicated. Software-based protection, such as the serial number protection and packers protection, easy to implement but protect strength is not high. Virtual machine-based software protection is a newly developed software protection technology, transforming the core code to pseudo-code only can be interpreted by the virtual machine, can effectively improve the safety of the software. Considering protection strength and performance loss, we use virtualization technologies only for the key code. The performance of the program inevitably will be reduced by using Virtual Machine-based software protection mechanism, so it is necessary to optimize virtual machine. Compared with PC, computing performance of mobile is relatively bad. For the sake of user habits, the optimization of the virtual machine on the Android platform is more important.Through the study of software protection and virtualization, we started the research on the virtual machine-based software protection technology. In this paper, the virtual machine interpreter is a dynamic link library, the application execute virtualization code by calling dynamic link library. This study focuses on the optimization of the interpreter. By testing the time-consuming of various modules in the interpreter, we find the breakthrough point of the optimization. In fast matching instruction and its explanation function, we make full use of the array data structure characteristics instead of Hash Map; In the process of instruction execution, due to the reasons such as instruction jump will appear instructions executed repeatedly on the same memory address. Using the concept of caching, we record the decoding result of instructions which have been executed; Define some explanation function as inline and choose reasonable judgment framework can improve the performance of the interpreter; Due to the virtual machine software protection system can run on the Android platform, so we also has carried on the related optimization in view of the Android platform, such as the choice of processor architecture and the ARM embedded assembly, etc.In this paper, the tested program's running time decreased from 34555 ms to 4321 ms. The running time has reduced eight times after the optimization of the interpreter. The optimization has enhanced the usefulness of the interpreter and improved the user experience. The virtual machine-based software protection technology has practical value and application prospect.
Keywords/Search Tags:Virtual Machine, Software Protection, Interpreter, Optimization
PDF Full Text Request
Related items