This commit is contained in:
Jean-Marie 'Histausse' Mineau 2025-10-07 04:30:38 +02:00
parent 2d5cb2459e
commit 590b446f15
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
5 changed files with 54 additions and 18 deletions

View file

@ -298,6 +298,38 @@ In red on the figure however, we have the calls that were hidded by reflection i
caption: [Call Graph of `Main.main()` generated by Androguard after patching],
) <fig:th-cg-after>
=== Androscalpel Performances <sec:th-lib-perf>
Because we implemented our own instrumentation library, we wanted to compare it to other existing options.
Unfortunately, we did not have time to compare the robustness and correctness of the generated applications.
However, we did compare the performances of our library, Androscalpel, to Apktool and Soot.
Due to time constraints, we could not test a complex transformation, as adding registers requires complex operations for both Androscalpel and Apktool (see @sec:th-implem for more details).
We decided to test two operations: travelling the instructions of an application (a read-only operation), and regenerating an application, without modification (a read/write operation).
It should be noted that all three of the tested tools have multiprocessing support, but we disabled the option when testing the generation of an application with Soot, as it raised errors.
#figure({
let nb_col = 5
table(
columns: (1fr, 1fr, 1fr, 1fr, 1fr),
align: center+horizon,
table.header(
table.cell(colspan: 2)[Tool], [Soot], [Apktool], [Androscalpel],
),
table.cell(rowspan: 2)[Read],
[Time], [], [], [],
[Mem], [], [], [],
table.cell(rowspan: 2)[Read/Write],
[Time], [], [], [],
[Mem], [], [], [],
)},
caption: [Average time and memory consumption of Soot, Apktool and Androscalpel]
) <tab:th-compare-perf>
@tab:th-compare-perf compares the resources consumed by each tool for each operation.
#todo[Conlude depending on the results of the experiment]
#midskip
To conclude, we showed that our approach indeed improves the results of analysis tools without impacting their finishing rates much.