Automatic return oriented programming(ROP) technology can effectively improve the efficiency of ROP constructed, but the existing research results still have some shortcomings including needing more address space, poor generality. In order to solve these problems, this paper presents an improved ROP auto-constructor QExtd. Firstly, we design a Turing-complete language QExtd L and provide the basis of gadgets analysis. Secondly, we represent the MI instruction and realize precise process of side-effect instructions for improving the efficiency of automatic construction. At last, we establish a three-layer language conversion mechanism, making it convenient for users to construct ROP. Theoretical and experimental data show that the QExtd automatic construction method is much better than the ROPgadget based on syntax. In addition, the proposed method succeeds in constructing gadgets of ROP with the probability of 84% for programs whose sizes are more than 20 KB and whose directory is "/usr/bin" in Ubuntu, which proves that the construction capability improves significantly.
展开▼