frida / frida-core

Frida core library intended for static linking into bindings
https://frida.re
Other
617 stars 199 forks source link

Frida Not Working in Emulator #378

Closed OverJerry closed 3 years ago

OverJerry commented 3 years ago

My Version:14.2.28 I was using Bluestacks to test a ARM program. The emulator can run both ARM and x86 programs. At first, i try to use frida-server for arm version, but it goes: Failed to attach:unable to inject library into process without libc. If i use the x86 version, the program can be successfully attached, but i can only debug the x86 modules. All the ARM modules are not accessable, But the most important part of the program is ARM library.

Please help me !

petenilson commented 3 years ago

My Version:14.2.28 I was using Bluestacks to test a ARM program. The emulator can run both ARM and x86 programs. At first, i try to use frida-server for arm version, but it goes: Failed to attach:unable to inject library into process without libc. If i use the x86 version, the program can be successfully attached, but i can only debug the x86 modules. All the ARM modules are not accessable, But the most important part of the program is ARM library.

Please help me !

Having precisely the same issue here. Any advice would be really appreciated. Thanks!

oleavr commented 3 years ago

You should use the x86 version for such an emulator, as it also contains an ARM agent. To access the emulated realm of a process, do attach(target, realm='emulated') / --realm=emulated. Note that Java instrumentation should be performed in the x86 realm (realm='native'). You can load scripts in both at the same time.

I can't remember if I tested Bluestacks specifically, but I did test a few that were running Android 5+, and those worked fine. (So if Bluestacks is on Android 4 it probably won't work – unless you contribute support for it.)

Cheers!

xmicro commented 1 year ago

This doesn't work. I'm on x86_64, but following the same steps. --realm-emulated gives Failed to attach: process is not using emulation. And I know for a fact it is using ARM64, because I can see libil2cpp.so and other ARM modules in Game Guardian in the exact same process. However, I cannot see any of the ARM modules with enumerateModules in Frida.