Ejecutar ejecutable nativo en Android

Cuando instalo FaceNiff en Bluestack y trato de ejecutar el archivo ejecutable desde adb shell por

./FaceNiff

me sale el error:

/system/bin/sh: ./FaceNiff: no ejecutable: magic 7F45

He rooteado el teléfono, su el adb. Creo que necesito corregir su y busybox. Lo intenté pero fracasé.

¿Y de dónde sacaste este ejecutable de FaceNiff? Si fue compilado para GNU/Linux, no funcionará en Android.
¿Por qué intentas ejecutarlo desde el shell? ¿No es un APK normal?
Lo descargué de faceniff.ponury.net; faceniff.apk tiene el binario en la carpeta de activos. tratando de aplicar ingeniería inversa para comprender cómo se llama ELF en Android.
Estoy usando Bluestack. Recibo el mismo error incluso cuando intento ejecutar IDA android_server {rooteado, actualizado su-x86, busybox-i686}
¿un ingeniero inverso sin entender la diferencia entre ARM y x86 ABI? tienes mucho que aprender
tratando de hombre ... tal vez señalar una dirección correcta sea más útil
Finalmente entendí. Bluestacks se basa en Android-x86 y el archivo está basado en ARM; por eso el error. Tanques de todos modos

Respuestas (1)

7F45 son los primeros dos bytes del encabezado ELF \x7FELF. Android también usa ELF, por lo que el mensaje de error que encuentra significa que su kernel no reconoce el binario FaceNiff como ejecutable (poco probable, a menos que lo haya olvidado chmod +x), no para su arquitectura (por ejemplo, x86 en lugar de ARM), o usa un dinámico enlazador no incluido (por ejemplo, glibc o µClibc en lugar de Bionic).

Si necesita ejecutar un ejecutable Android-ARM en Android-x86, debe volver a compilarlo para x86 (y buscar también el bitness correcto, 32 bits frente a 64 bits también es diferente).

Descargo de responsabilidad: soy el mkshmantenedor.