Answers:
据说 Android脚本环境计划在Ruby上进行计划。可能值得检查一下他们走了多远。至少在Google Code中将其标记为“ JRuby”。根据他们的项目页面:
脚本可以在终端中,在后台或通过区域设置以交互方式运行。目前支持Python,Perl,JRuby,Lua,BeanShell,JavaScript,Tcl和Shell,并且我们计划添加更多内容。
但也要注意:
SL4A是为开发人员设计的,是alpha质量软件。
您可能要阅读的与此主题有关的有趣文章是在假期中入侵Android。它描述了(成功的)尝试设置和使用SL4A与Ruby一起使用的尝试。
从理论上讲,是的,您可以这样做,但是会有一些明显的限制。几乎可以肯定,您需要一台扎根的 Android设备。
例如,您将无法公正地gem install anything
工作。问题是,手机的资源太有限,无法运行编译器,因此您无法编译Ruby或任何需要本机库的gem。
因此,我要做的第一种方法是将ruby和RubyGems与Android NDK交叉编译,然后将它们侧面加载到设备上。此时,你已经有了ruby
和gem
,可以开始试验。
实际上,我修改了CyanogenMod以创建空的“ / bin,/ lib,/ usr,/ var,/ svr,/ home,/ media等”,然后修改了“ $ {source_root} / system / core / include / private /android_filesystem_config.h”以包含目录规则,然后修改我的外部sdcard,使其不会作为保险丝安装或设置粘性位(它将root:sdcard_rw所有权设置为内部的所有文件),并在启动后运行一个脚本,该脚本将外部sdcard上的Linux arm根目录安装到Android根目录中的空版本。glibc的嵌入式版本与我创建的Kali Linux armhf chroot映像一起使用,但是它没有ruby或metasploit。因此,我遵循了一些有关使用svn或其他工具编译ruby 1.9.3的指示,然后使用该指示来安装metasploit,唯一的是postgresql并没有这样做。由于套接字和文件的创建对权限非常敏感,并且套接字可能涉及套接字,因此尚无postgres数据库,但尚未尝试连接到另一台主机上的db。Apache2正常运行,我整个启动了/etc/init.d/apache2,中提琴“成功了!” 你知道,如果你看过。
简而言之,是的,您可以在Android上编译ruby和更多程序,只需提供glibc,即/ lib目录和Linux上的内容。
另外,我使用了具有2GB RAM的Galaxy S III Sprint。Python很棒,我刚开始使用python尝试Unix套接字,它们以/ sdcard连接,但是我需要进一步了解Android关于套接字和数据库创建的安全策略,然后才能进一步获取metasploit和在Android上工作的数据库+ glibc。