[Android 17] Early observations: JIT thread pool crash on attach and JNI transition frame aborts
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- android, java, javascript
- Ambito
- mobile, reverse-engineering
Direzione di ricerca
The payload names no file in this repository; the crashes are in ART internals (art::jit::Jit::CreateThreadPool) and in the JNI transition check. Start by reproducing the Java.use hooks on android.webkit.WebView $init and android.os.Binder attachInterface on an API 37 device or emulator, then gather the tombstone. Done would mean a hook pattern that survives on API 37 with a stated cause, which needs Android runtime knowledge and a maintainer decision on scope.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Ran into a couple of quirks while testing Frida 17.21.0 on Android 17 (API 37, build CE2A.260420.019). Opening this up to share logs and reproduction details in case they're useful as A17 support gets fleshed out.
1. SIGSEGV in art::jit::Jit::CreateThreadPool during attach
- Behavior: When attaching
frida-serverearly during process launch, ART intermittently segfaults insideart::jit::Jit::CreateThreadPool. - Observations: Appears to be a race between ptrace attachment and JIT thread pool initialization. Disabling JIT before launching or attaching avoids the crash on our end:
Not sure if there's a cleaner synchronization hook or if this is primarily visible on emulator timing, but wanted to mention it.adb shell setprop dalvik.vm.usejit false
2. Runtime abort: JNI transition frame error
- Behavior: Hooking native constructor stubs or Binder entrypoints causes ART to abort the process:
art E ... JNI transition frame error - Reproduction cases we saw:
- Replacing
$initon native classes:
Java.use('android.webkit.WebView').$init.implementation = ... - Hooking Binder interface registration:
Java.use('android.os.Binder').attachInterface.implementation = ...
- Replacing
- Observations: Looks like A17 might have tightened up stack validation or frame accounting around native-to-managed transitions. Replacing these native stubs with JS trampolines seems to trigger that transition check.
- Current workaround for us: Steered our scripts away from hooking
$initandBinder.attachInterfacedirectly on API 37, targeting higher-level callers or concrete factory methods instead.
Happy to pull more tombstones or test proposed patches if anyone is digging into A17 support.
- Lingua principale
- JavaScript
- Stelle
- 413
- Fork
- 174
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di frida/frida-java-bridge
-
Types is missing `deoptimizeMethod`Forse già presa @Electric1447 l’ha presa 174 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
frida/frida-java-bridge#386 ·
-
[v7.0.11+] Process crash on accessing object["<init>"] with JVMTI availableForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
frida/frida-java-bridge#384 · 2 commenti · 2 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
frida/frida-java-bridge#409 ·
-
ensureClassInitialized() no longer initializes on ART since 7983e815 — hooks on uninitialized classes install successfully but never dispatchForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
frida/frida-java-bridge#408 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
frida/frida-java-bridge#404 ·
Tutte le issue di frida/frida-java-bridge
Issue simili
-
[dsh-plugin.org | dsh-plugin-hub] plugin distribution incomplete: yjh051108/dsh-routing-suiteAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
yjh051108/dsh-routing-suite#227 ·
-
needs-triage release-watch
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
dusk-network/exu#17 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
jspreadsheet/ce#1809 ·
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
githubnext/gh-aw-workshop#4458 ·
I maintainer di solito rispondono entro 1 giorno