我一直在尝试在我的Android手机中运行已编译的二进制文件,但它只是一直告诉我"没有这样的文件或目录".
具体来说,我编译了wificurse,并且正如描述中提到的arm命令一样,很明显源代码可以为arm架构编译而不需要对makefile进行任何更改.所以我做了以下事情:
export CROSS_COMPILE=arm-linux-gnueabi- make CROSS_COMPILE=arm-linux-gnueabi-
然后使用生成的二进制文件(wificurse),我执行了以下操作:
adb push wificurse /data
在根adb shell中我做了:
root@android:/data # chmod 0777 wificurse
没有回报; 作品.
root@android:/data # chmod u+x wificurse
返回"错误模式".
root@android:/data # busybox chmod 077 wificurse
没有回报; 作品.
root@android:/data # busybox chmod u+x wificurse
没有回报; 作品.
但是当我尝试运行二进制文件时
root@android:/data # ./wificurse
它返回"/ system/bin/sh:./wificurse:没有这样的文件或目录".文件夹和二进制文件中的ls确实存在.
已经尝试将二进制文件复制到内部sdcard,然后转移到/ data(甚至试过/ system/bin和/ system/xbin)并返回"拒绝访问",但如果我chmod二进制文件它将返回相同的错误(否这样的文件或目录).有人可以帮帮我吗?我已经使用了linux shell 2年多了,尽管在编程方面我完全是一个菜鸟.我想我错过了像工具链这样的东西,我不知道.
我正在运行Ubuntu 15.10 x64.