81 Commits
Author SHA1 Message Date
MG193.7 e06edbdd70 Merge pull request #41 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-30 21:39:06 +08:00
MG1937 4df4923425 dev 0.1.1.post3 2026-09-30 21:26:43 +08:00
MG1937 efa3457026 fix utf16 issue for dex builder 2026-09-30 21:26:06 +08:00
MG193.7 f4e1112d1a Merge pull request #40 from MG1937/dev-0.1.0
update sponsor
2026-09-30 16:15:34 +08:00
MG193_7 26c6f8fc69 update sponsor 2026-09-24 17:56:38 +08:00
MG193.7 8a805bd648 Merge pull request #36 from MG1937/dev-0.1.0
update sponsor
2026-09-24 17:38:34 +08:00
MG193_7 870f692c2f update sponsor 2026-09-24 17:37:16 +08:00
MG193.7 918a57b960 Merge pull request #35 from MG1937/dev-0.1.0
update sponsor
2026-09-24 17:36:04 +08:00
MG193_7 85810a960f update sponsor 2026-09-24 17:34:42 +08:00
MG193.7 2c134417ee Merge pull request #34 from MG1937/dev-0.1.0
Dev 0.1.0

1. Fix the issue where the GUI highlight still persists after pressing Ctrl+F.
2. Fix the DEX.get_string issue.
2026-09-23 16:51:09 +08:00
MG193_7 b58e14699b fix utf16 issue caused benchmark error 2026-09-23 16:34:34 +08:00
MG193_7 ac5cae1574 fix DEX.get_string count by bytes not by utf16 units issue 2026-09-23 15:43:04 +08:00
MG193.7 5395f176c9 Merge pull request #31 from MG1937/dev-0.1.0
enhance gui xref ability by androguard token type
dev-0.1.1-post2
2026-09-21 11:51:17 +08:00
MG193_7 4e3da8306b enhance gui xref ability by androguard token type 2026-09-21 11:38:52 +08:00
MG193.7 3279d9dd6f Merge pull request #30 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-17 02:57:46 +08:00
MG1937 382c4c5a1d fix version 2026-09-17 02:52:37 +08:00
MG1937 752477e8a3 add listclass command 2026-09-17 02:13:21 +08:00
MG193.7 ff1df854bb Merge pull request #26 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-16 02:43:35 +08:00
MG193.7 d7bed56068 Merge pull request #25 from dajiaohuang/fix/gui-subprocess-module
fix(gui): launch subprocess search worker from package
2026-09-16 02:42:19 +08:00
dajiaohuang 7c31f069a6 fix(gui): use package path for subprocess search worker 2026-09-16 00:47:57 +08:00
MG193.7 9b09697668 Merge pull request #24 from KennyUMN/fix-insn-verify-py310
fix(findrefs): keep INSN_VERIFY compilable on the declared python floor
2026-09-15 21:34:36 +08:00
KennyUMN 484d853660 fix(findrefs): keep INSN_VERIFY compilable on the declared python floor
InsnLocator built its instruction-verify pattern with an atomic group
(?>(?:...)*). Atomic groups are python 3.11+ syntax, but pyproject and
the published wheel both declare requires-python >=3.10. On 3.10
re.compile raises re.error("unknown extension ?>") while the class
attribute is being built, so every findrefs search and getclass
decompile fails before touching the DEX.

The atomic group is a real optimisation - it stops the greedy star from
backtracking over instruction ranges that fail to verify, which is the
common case on a real DEX - so it is kept where the interpreter
understands it and only the 3.10 fallback drops it. Measured on the
supplied reference DEX, replacing it unconditionally costs about 5% on
the gated field_ref_scan metric, so this is not a plain deletion.

Refs #20
2026-09-15 19:24:52 +07:00
MG193.7 c4e268cb78 Merge pull request #23 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-15 18:06:06 +08:00
MG1937 6b4a9c9e27 fix testflow 2026-09-15 18:00:54 +08:00
MG1937 b426286b9c fix testflow 2026-09-15 17:52:11 +08:00
MG1937 81b8deb88b fix testflow 2026-09-15 17:24:58 +08:00
MG1937 1bd7b178cc update readme 2026-09-15 17:14:04 +08:00
MG1937 362f83c3d3 adjust for pip 2026-09-15 17:00:45 +08:00
MG193.7 a3be4f9629 Merge pull request #22 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-15 15:52:39 +08:00
MG193.7 215ab83a83 Merge pull request #21 from 0Chencc/feat/getmanifest
feat(cli): add getmanifest command
2026-09-15 01:01:34 +08:00
0chencc 07645e6eb8 feat(cli): add getmanifest command to dump AndroidManifest.xml 2026-09-15 01:56:36 +09:00
MG193.7 ccc6bae770 Merge pull request #19 from MG1937/dev-0.1.0
hardcode _IDX_GROUPS
2026-09-13 16:38:40 +08:00
MG1937 4b10b6fe0d hardcode _IDX_GROUPS 2026-09-13 16:03:10 +08:00
MG193.7 19285b32c0 pi optimized the code scan implementation, nearly halving the time taken by findrefs, it's much faster now.
Dev 0.1.0
2026-09-13 00:27:00 +08:00
MG1937 67b2e7c784 _PartialDex overlaps in functionality with _inflate_deflate_chunks and appears to be an erroneous LLM optimization. It has been temporarily removed to prioritize stability. 2026-09-12 23:56:50 +08:00
MG193.7 077f0d1332 Merge pull request #16 from MG1937/perf/asc-optimizations
perf: speed up reference search and getclass on large APKs
2026-09-12 23:49:41 +08:00
Tsingshui 81a1acdc98 perf: speed up code-item scanning and getclass inflation
- code_item_scan: match the opcode and the referenced idx high byte in one C-level
  regex pass, so Python only inspects surviving candidates; bytes.translate + bigint
  prefilter for dense opcode classes.
- apk_handler: on-demand partial Deflate inflation for getclass, precise-class
  pre-flight, one-shot inflation, fork-based process pool.
- decompiler: startup stubs only for modules that are not already imported.

CI comparison (paired, --samples 31 vs dev-0.1.0): unit/code_scan -84.8%,
unit/field_ref_scan -70.2%, unit/method_ref_scan -68.3%,
cli_findrefs -44.8%, cli_getclass -6.7%.
All gated metrics pass.
2026-09-12 22:38:53 +08:00
MG193.7 6642c2551b update Readme 2026-09-12 06:13:10 +08:00
MG193.7 71be42842e Merge pull request #12 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-12 05:37:36 +08:00
MG193.7 ffb00e6af5 update README benchmark video 2026-09-12 05:35:00 +08:00
MG193.7 b20ff0b310 fix static fields misalignment issue 2026-09-12 05:02:21 +08:00
MG193.7 f9120e879e Merge pull request #8 from jygzyc/main
Fix: pin static field declaration order to original `field_idx` to stop `static_values`  misalignment
2026-09-11 21:53:12 +08:00
MG193.7 258ed7a171 Merge pull request #11 from MG1937/dev-0.1.0
Dev 0.1.0
2026-09-11 21:52:37 +08:00
MG193.7 cc71494954 adjust benchmark 2026-09-11 21:47:59 +08:00
MG193.7 ee086cf7f5 fix last string lookup issue, adjust string test 2026-09-11 19:46:10 +08:00
MG193.7 f0661636e6 Merge pull request #7 from ZacharyZcR/fix/reference-locator-and-runtime
Gate performance regressions and automate tested source releases
2026-09-11 13:22:27 +08:00
Yves 47c06cbccb fix: pin static field declaration order to original field_idx to stop static_values
misalignment.
 The fix makes the class's own declared fields occupy the leading slots of the new field table, ordered by original field_idx ascending, so that four orderings agree: bytecode field operands, the new field table, the class_data declaration order, and the  static_values array. The rule is defined once in IndexHandler.preregister_own_fields() and mirrored by DexIndexMapper; DexBuilder then simply trusts the table order instead of re-sorting.
2026-09-11 10:41:47 +08:00
ZacharyZcR c1db386be0 Add Apache 2.0 license to repository and release packages 2026-09-11 10:15:24 +08:00
ZacharyZcR 0c7106ea33 Add gated source releases and archive integration tests 2026-09-10 22:59:29 +08:00
ZacharyZcR 07c4e5222f Track instruction verification bounds only for matched methods 2026-09-10 22:39:42 +08:00