Führen Sie die native ausführbare Datei in Android aus

Wenn ich FaceNiff auf Bluestack installiere und versuche, die ausführbare Datei von der Adb-Shell aus auszuführen

./GesichtNiff

Ich bekomme den Fehler:

/system/bin/sh: ./FaceNiff: nicht ausführbar: magic 7F45

Ich habe das Telefon gerootet, su das adb. Ich glaube, ich brauche die richtige su und busybox. Ich habe es versucht, bin aber gescheitert.

und woher haben Sie diese ausführbare FaceNiff-Datei? Wenn es für GNU/Linux kompiliert wurde, läuft es nicht auf Android.
Warum versuchen Sie, es von der Shell aus auszuführen? Ist das nicht eine normale APK?
Ich habe es von faceniff.ponury.net heruntergeladen; faceniff.apk hat die Binärdatei im Asset-Ordner. versuchen, es zurückzuentwickeln, um zu verstehen, wie ELF auf Android aufgerufen wird.
Ich verwende Bluestack. Ich erhalte den gleichen Fehler, selbst wenn ich versuche, IDA android_server {rooted, updated su-x86, busybox-i686} auszuführen.
ein Reverse Engineer, ohne den Unterschied zwischen ARM und x86 ABI zu verstehen? du musst viel lernen
versuchender Mann ... vielleicht ist es hilfreicher, die richtige Richtung aufzuzeigen
Endlich habe ich verstanden. Bluestacks basiert auf Android-x86 und die Datei ist ARM-basiert; deswegen der fehler. Panzer sowieso

Antworten (1)

7F45 sind die ersten beiden Bytes des ELF-Headers \x7FELF. Android verwendet auch ELF, daher bedeutet die Fehlermeldung, dass die FaceNiff-Binärdatei von Ihrem Kernel nicht als ausführbar erkannt wird (unwahrscheinlich, es sei denn, Sie haben es vergessen), nicht chmod +xfür Ihre Architektur (z. B. x86 anstelle von ARM) oder eine dynamische verwendet Linker nicht enthalten (zB glibc oder µClibc statt Bionic).

Wenn Sie eine ausführbare Android-ARM-Datei auf Android-x86 ausführen müssen, müssen Sie sie für x86 neu kompilieren (und auch nach der richtigen Bitanzahl suchen, 32-Bit vs. 64-Bit ist ebenfalls unterschiedlich).

Haftungsausschluss: Ich bin der mkshBetreuer.