Skip to content

Add DexTrace core-library backend - #855

Closed
sidra-asa wants to merge 1 commit into
ev-flow:masterfrom
sidra-asa:dextrace_core
Closed

sidra-asa wants to merge 1 commit into
ev-flow:masterfrom
sidra-asa:dextrace_core

Conversation

@sidra-asa

Copy link
Copy Markdown
Collaborator

This PR adds the DexTrace-based apkinfo backend integration.

How to test

$ git clone git@github.com:ev-flow/DexTrace.git
$ cd DexTrace
$ pip install -e .
$ quark -a APK -s --core-library dextrace

@codecov

codecov Bot commented Jan 18, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.27%. Comparing base (7e5f309) to head (78c6be8).
⚠️ Report is 25 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #855      +/-   ##
==========================================
+ Coverage   81.16%   82.27%   +1.10%     
==========================================
  Files          75       80       +5     
  Lines        6399     6844     +445     
==========================================
+ Hits         5194     5631     +437     
- Misses       1205     1213       +8     
Flag Coverage Δ
unittests 82.27% <100.00%> (+1.10%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread quark/core/dextraceapkinfo.py Outdated
Comment thread quark/core/dextraceapkinfo.py
haeter525 added a commit that referenced this pull request Aug 4, 2026
* feat(dextrace): add DexTrace backend

* perf(dextrace): cache DEX content

* fix(dextrace): wire and fix class hierarchy and subclass BFS

* fix(dextrace): fix smali parsing and class name normalization

* fix(dextrace): fix ZIP loading and permissions

* fix(dextrace): complete call graph with abstract methods

* refactor(dextrace): simplify and deduplicate DexTraceImp

* fix(dextrace): raise ValueError on unreadable AndroidManifest.xml

Replaces the silent get_apk_permissions() call with a direct parse_manifest()
call that raises ValueError when the manifest is missing or has invalid AXML
bytes. trickmo and tanglebot APKs now fail fast (< 1 s) instead of running
three full DEX passes (134 s on trickmo).

parse_manifest() requires DexTrace fix: propagate {"error": ...} from
ManifestParser instead of silently mapping it to empty fields.

Adds two unit tests for the two ValueError paths:
- invalid AXML bytes in AndroidManifest.xml
- AndroidManifest.xml entry absent from the ZIP

* perf(dextrace): drop extra DEX passes and inline local aliases

---------

Co-authored-by: sidra-asa <sasakikung@gmail.com>
@haeter525

Copy link
Copy Markdown
Member

Close as #958 merged.

@haeter525 haeter525 closed this Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants