Font Size: a A A

Modules Identification And Relationship Analysis Among Modules For Linux Kernel Assembly Source

Posted on:2022-10-23Degree:MasterType:Thesis
Country:ChinaCandidate:J WangFull Text:PDF
GTID:2518306563463944Subject:Computer technology
Abstract/Summary:PDF Full Text Request
The autonomous control of operating system is the key measure to break through the problem of "jammed" computer core technology.As one of the current mainstream operating systems,Linux system has extensive research value and application prospect in Chinese operating system autonomy and control because of its open source characteristics.However,Linux lacks design documentation and the system is difficult to understand,redevelop and maintain,so Linux source code analysis and reverse engineering is the basic premise.Assembler code is an important part of Linux kernel source code,but compared with the analysis of C language source code,the analysis of assembler source code research and tools are much weaker.Therefore,it is of great practical significance and application value to carry out the research on the identification of Linux kernel assembly source modules and the analysis of the relationship between modules.This paper makes an in-depth analysis of the Linux kernel source code of X86,Ia64,Mips,Arm,Arm64 and other computer architectures and assembly languages,and discusses in detail the label,pseudo instruction,jump instruction,call instruction,function definition,assembly module definition and the relationship between assembly modules in each assembly language.The types of assembly module definition,the basic framework and the main relationship between assembly modules under each architecture is summarized and summarized,that is,the relationship between inclusion and invocation.Meanwhile,the hierarchical structure of Linux kernel source analysis,that is,from directory to file to module and the relationship between modules are discussed.On this basis,the analysis method of Linux kernel assembly source code is proposed,and the module identification and module relationship analysis algorithm of Linux kernel assembly source code is designed and implemented.Based on the Qt development environment,the visual tool prototype system of Linux kernel assembly source code analysis is built by using C++ programming language.The test results show that the analysis method and prototype can correctly realize the recognition of the corresponding assembly modules and assembly modules in Linux system.In addition,the prototype system is not only applicable to Windows system environment,but also applicable to Linux system environment after recompilation.In summary,the main research work of this paper is as follows:(1)Based on the 24 systems supported by the Linux kernel,analyze the instruction sets and assembly language syntax of each system structure,sort and classify.According to different assembly language,the corresponding recognition algorithm of assembly module and the analysis algorithm of the relationship between inclusion and call of assembly module are designed respectively,so as to support the analysis of the corresponding system structure of assembly source files.(2)Based on the Qt development environment,a prototype tool for automatic analysis of Linux kernel assembly source code is designed and implemented,which can automatically identify the assembly modules in all the assembly source code files under all the architecture,extract the inclusion and call relations between the related modules,and visually display the related analysis results.Through functional test and performance test,the usability and effectiveness of the analysis algorithm and prototype tool are verified.The prototyping tool can be used across platforms.
Keywords/Search Tags:Linux, Architecture, Module in assembly language, Source analysis, Relationship of modules
PDF Full Text Request
Related items