Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 1.42 KB

quark_inside_overview.rst

File metadata and controls

53 lines (35 loc) · 1.42 KB

Quark-Engine Project Overview

Quark-Engine Map

image

The entire Quark-Engine project can be composed of four major parts, namely

  • Five-stage rule
  • Dalvik Bytecode Loader
  • Scoring System
  • Self-define objects data structure

Quark module architecture diagram

image

The project is divided into three main folders.

Objects

image

The Objects directory is used to store all the main self define objects, including APK information object, Bytecode object, rule object, variable tracking table object, variable object, and five-stage rule object.

Evaluator

image

The Evaluator directory is used to store the Dalvik Bytecode Loader. The name comes from the CPython virtual machine used to execute the python bytecode. The Bytecode Loader itself is a huge switch. When the corresponding Bytecode instruction is given, our customized function event will be executed. However, the bytecode instruction does not interact with the CPU, so it is faster than executing Android DEX files dynamically.

utils

image

The utils directory is used to store repetitive tool code, print output control, and weighted score calculations.