Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

“unable to inject library into process without libc” when attach to child process that origin=exec

Aperta
#200 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
android, python

Direzione di ricerca

Inizia da examples/child_gating.py e riproduci la sequenza child-added di Android in cui origin cambia da fork a exec. Traccia il percorso di attach attraverso frida/core.py e il sito della chiamata segnalato in frida_tools/application.py, confrontando l’attach riuscito di fork con l’attach fallito di exec. Il lavoro è completo quando il caso exec segnalato è risolto oppure il suo comportamento non supportato è chiaramente stabilito e coperto da un controllo di regressione appropriato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

this is my environment:
genymotion: 3.2.1 + Samsung Galaxy S7 6.0-API 23,also test on Google Nexus 5X 8.0-API 26
frida-server: frida-server-15.1.17-android-x86,also tested frida-server-15.1.14-android-x86 and frida-server-15.0.0-android-x86
script: https://github.com/frida/frida-python/blob/master/examples/child_gating.py
I only changed the argv to myappid
def _start(self):
argv = [myappid]

and I got these outputs:

✔ spawn(argv=['myappid'])
✔ attach(pid=4486)
✔ enable_child_gating()
✔ create_script()
✔ resume(pid=4486)
⚡ child_added: Child(pid=4602, parent_pid=4486, origin=fork)
✔ attach(pid=4602)
✔ enable_child_gating()
✔ create_script()
✔ resume(pid=4602)
⚡ child_removed: Child(pid=4602, parent_pid=4486, origin=fork)
⚡ child_added: Child(pid=4602, parent_pid=4602, origin=exec, ......)
✔ attach(pid=4602)
Exception in thread Thread-1:
Traceback (most recent call last):
File "/home/nothing/miniconda3/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/home/nothing/miniconda3/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/nothing/miniconda3/lib/python3.7/site-packages/frida_tools/application.py", line 765, in _run
work()
File "lavpn.usa_spawn_gating.py", line 20, in
self._device.on("child-added", lambda child: self._reactor.schedule(lambda: self._on_child_added(child)))
File "lavpn.usa_spawn_gating.py", line 61, in _on_child_added
self._instrument(child.pid, child)
File "lavpn.usa_spawn_gating.py", line 45, in _instrument
session = self._device.attach(pid)
File "/home/nothing/miniconda3/lib/python3.7/site-packages/frida/core.py", line 26, in wrapper
return f(*args, **kwargs)
File "/home/nothing/miniconda3/lib/python3.7/site-packages/frida/core.py", line 165, in attach
return Session(self._impl.attach(self._pid_of(target), *args, **kwargs))
frida.NotSupportedError: unable to inject library into process without libc

We can see that when attach the child process which origin is fork,it's ok.
but when attach the same process which origin changed to exec,the error occurs.
I searched and find https://github.com/frida/frida/issues/936,but no lucky.
I think maybe because I used genymotion emulator, but why first attach is ok?

Lingua principale
Python
Stelle
873
Fork
173
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di frida/frida-python

Tutte le issue di frida/frida-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.