Hacking ipad (2)

Step 2. Cydia和SSH

上回说道,装了一个Cydia。他默认带了一些安装库的列表,大概有什么三四个,国内有两个还不错的source,一个是tgbus的,一个是weiphone的,tgbus的似乎还更加全一些。如下:

  • http://iphone.tgbus.com/cydia/
  • http://app.weiphone.com/cydia/

怎么使用Cydia很容易搞明白,那么几个按钮按按就出来了。第一个打算装的就是OpenSSH,可是很快就发现,这个Cydia有问题,总是报:cache failed, host unreachable之类的,即使我从tgbus安装也是如此。根据“你不可能是第一个”的原则,搜了一下,weiphone上有人提出了一个解决方案,就是替换Cydia的一个官方source。可是我现在又没有shell,又没有iFile之类的,怎么去编辑那个文件呢?最后还是在iPad里设上Proxy,连过去,就好了,有点奇怪,不知道Cydia为什么要这么做。Proxy的log显示,装Open SSH的时候访问了这些文件:

  • http://cache.cydia.saurik.com/api/package/openssh
  • http://iphone.tgbus.com/cydia/.//debs/cydia-3.7//openssl_0.9.8k-9_iphoneos-arm.deb
  • http://iphone.tgbus.com/cydia/.//debs/cydia-3.7//openssh_5.2p1-8_iphoneos-arm.deb
  • http://cache.cydia.saurik.com/api/package/openssh

不知道它为什么在安装前后要访问cache那个站点。而且我直接访问那个文件现在似乎又是通的了(不是host unreachable了),不过总是返回403 forbidden。很奇怪。有功夫再研究一下。

SSH装了之后好像是自动启动的,不过还不知道是在哪个脚本或者配置里,不过已经可以登录了。root的密码是alpine,苹果默认的。我给机器指定了一个wifi的IP地址,就可以连上了!不过,比较诡异的事情是,Cydia默认安装的那些东西里居然没有ps这个命令,ps在adv-cmds这个包里,需要新安装!没有ps,失去了很多窥探的乐趣。

好了,装上了,来窥探一下到底跑着哪些进程:

sma-mato-iPad:/usr/bin root# ps -ef
UID    TIME CMD
0   0:03.80 /sbin/launchd
65  0:01.23 /usr/sbin/mDNSResponder -launchd
0   0:06.18 /usr/sbin/notifyd
0   0:00.87 /usr/sbin/syslogd
0   0:27.02 /usr/libexec/configd
501 0:00.11 /usr/sbin/BTServer
501 12:39.09 /System/Library/CoreServices/SpringBoard.app/SpringBoard
0   0:00.26 /System/Library/PrivateFrameworks/CoreTelephony.framework/Support/CommCenter
0   0:10.09 /usr/libexec/lockdownd
0   0:02.79 /usr/sbin/fairplayd
0   0:00.02 /System/Library/CoreServices/MobileStorageMounter.app/MobileStorageMounter
0   0:05.22 /usr/libexec/locationd
501 0:01.05 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd
501 0:01.04 /usr/sbin/accessoryd
501 0:02.70 /usr/libexec/lsd
501 0:00.08 /System/Library/SystemConfiguration/EAPOLController.bundle/eapolclient -i en0 -u 501 -g 501
0   0:06.54 /usr/sbin/sshd -i
501 0:10.90 /usr/sbin/mediaserverd
501 0:40.64 /Applications/Installous.app/Installous
0   0:28.12 /usr/sbin/sshd -i
0   0:03.36 /usr/libexec/sftp-server
0   0:00.04 /System/Library/Frameworks/SystemConfiguration.framework/SCHelper
501 0:01.23 /usr/libexec/installd -t 30
0   0:00.48 -sh
0   0:00.01 ps -ef

其中,lanuchd大概相当于传统Unix的init,是所有进程的爸爸进程。
mDNSResponder据说是Bonjour 的一个组件,提供multicast DNS(DNS multicast? 啥意思?)服务,可能只是一个DNS解析器吧?好像没有看到Bonjour 的进程诶。
SpringBoard就是iPad的主界面。有Hacker们对这个进程也做了手脚,搞了一些WinterBoard,SummerBoard来改变默认的屏幕,挺有意思。。
eapolclient是无线网的客户端吧,大概相当于wpa_supplicant?
Installous和installd是我正在搞的事情,下回再说。

另外,有时候能看到ipod的播放器(MediaPlayer之类的)和邮件程序在后台运行,似乎就这两个是后台运行的。在年底升级iOS4之前,似乎有些什么办法可以让iPad运行多任务的,不过还没仔细研究,似乎很麻烦……

再说说ipad上面的shell。不是什么时候都有另外一台电脑可以远程登录的,所以就找点直接可以打开shell的程序,一开始看MobileTerminal,不过这个不支持ipad(只是iphone那么大小),而且在我的机器上根本弹不出来,窗口一闪就不见了,不知道什么缘故。后来找了一个iSSH的程序,这个东西就是一个ssh client,然后用SSH连到本机就好了。不过这个家伙万恶的不支持gbk字符集,不然就可以用来telnet上水木了。

待续。

发表评论

电子邮件地址不会被公开。 必填项已用*标注