Quark-Engine Project Overview
Quark-Engine Map

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

The project is divided into three main folders.
Objects

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

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

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