22Installing Quark-Engine
33+++++++++++++++++++++++
44
5- PyPi::
65
7- $ pip3 install -U quark-engine
6+ Step 1. Install Shuriken-Analyzer
7+ --------------------------------------------
88
9- Install from Source::
109
11- $ git clone https://github.com/quark-engine/quark-engine.git
12- $ cd quark-engine/
13- $ pipenv install --skip-lock
14- $ pipenv shell
10+ - Make sure you have the following packages installed:
1511
16- Run the help cmd of quark::
12+ - C++ Compiler (`GCC13 <https://gcc.gnu.org/ >`_ or `Microsoft Visual Studio <https://visualstudio.microsoft.com/ >`_)
13+ - `CMake <https://cmake.org/ >`_
14+ - `Git <https://git-scm.com/ >`_
15+ - `iputils-ping <https://github.com/iputils/iputils/tree/master >`_ (Only required for Linux users)
16+
17+ - Install `Shuriken-Analyzer <https://github.com/Shuriken-Group/Shuriken-Analyzer >`_ by running::
18+
19+ $ pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@main#subdirectory=shuriken/bindings/Python/
20+
21+ - For example, to install Shuriken-Analyzer on Ubuntu, you can run the following commands:
22+
23+ ::
24+
25+ $ apt install build-essential g++-13 gcc-13 cmake git iputils-ping
26+ $ export CC=gcc-13 CXX=g++-13
27+ $ pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@main#subdirectory=shuriken/bindings/Python/
28+
29+ Step 2. Install Quark-Engine
30+ ------------------------------
31+
32+ - From PyPi:
33+
34+ ::
35+
36+ $ pip install -U quark-engine
37+
38+ - Or you can install Quark-Engine from the source:
39+
40+ ::
41+
42+ $ git clone https://github.com/quark-engine/quark-engine.git
43+ $ cd quark-engine/
44+ $ pipenv install --skip-lock
45+ $ pipenv shell
46+
47+ Step 3. Check if Quark-Engine is installed
48+ ---------------------------------------------
49+
50+ - Run the help cmd of quark:
51+
52+ ::
1753
1854 $ quark --help
1955
20- Once you see the following msg, then you're all set::
56+ - Once you see the following message, then you’re all set:
57+
58+ ::
2159
2260 Usage: quark [OPTIONS]
2361
@@ -29,10 +67,12 @@ Once you see the following msg, then you're all set::
2967 -d, --detail TEXT Show detail report. Optionally specify the
3068 name of a rule/label
3169 -o, --output FILE Output report in JSON
70+ -w, --webreport FILE Generate web report
3271 -a, --apk FILE APK file [required]
3372 -r, --rule PATH Rules directory [default:
34- /Users/$USER/.quark-engine/quark-rules]
35- -g, --graph Create call graph to call_graph_image
73+ /home/jensen/.quark-engine/quark-
74+ rules/rules]
75+ -g, --graph [png|json] Create call graph to call_graph_image
3676 directory
3777 -c, --classification Show rules classification
3878 -t, --threshold [100|80|60|40|20]
@@ -43,13 +83,15 @@ Once you see the following msg, then you're all set::
4383 -l, --label [max|detailed] Show report based on label of rules
4484 -C, --comparison Behaviors comparison based on max confidence
4585 of rule labels
46- --core-library [androguard|rizin]
86+ --generate-rule DIRECTORY Generate rules and output to given directory
87+ --core-library [androguard|rizin|radare2|shuriken]
4788 Specify the core library used to analyze an
4889 APK
49- --multi-process INTEGER RANGE Allow analyzing APK with N processes,
50- where N doesn't exceeds the number of usable CPUs - 1
51- to avoid memory exhaustion.
90+ --multi-process INTEGER RANGE Allow analyzing APK with N processes, where
91+ N doesn't exceeds the number of usable CPUs
92+ - 1 to avoid memory exhaustion. [x>=1]
5293 --version Show the version and exit.
5394 --help Show this message and exit.
5495
55- To learn how to scan multiple samples in a directory, please have a look at :ref: `Directory Scanning <dir_scan >`
96+
97+ To learn how to scan multiple samples in a directory, please have a look at :ref: `Directory Scanning <dir_scan >`.
0 commit comments