玩耍IOS系统

  大家都知道IOS是自Mac OS修改而来的。而Mac OS和IOS的共同核心是Darwin,其基于FreeBSD发展而来,整体而言也是个类Unix系统。之前把自己的手机越狱之后正好开始接触Linux这类OS,然后觉得很有意思就去网上找了些资料来自己玩自己的手机,也做了一些笔记。说来惭愧,当时手机系统版本还是8.3。而后来也因为没什么时间加上这部分笔记维护在另外一个笔记本上,导致一直没有时间记录下来【捂脸】。本来想等10.3的越狱出来,把Pad越狱之后再来详细研究的,无奈10.3越狱也迟迟不出,不得已,只好现在来记录一下了。。

  没有什么干货的技术知识,全部都是一点个人的爱折腾手机的小兴趣,系统版本又老。。嗯就这样吧。

■  第一步

  IPhone越狱后,第一标志当然就是在桌面上看到了Cydia。作为折腾手机的第一步,当然是要让手机有本地命令行来装逼了hh。如果没记错的话,几年前越狱的时候还是会附带一个命令行工具的,现在好像必须得自己下载安装了。进入Cydia,搜索安装MTerminal这个命令行工具。其他也有一些命令行工具比如mobileTerminal什么的,不过那些好像都已经过时了,新系统们都打不开。打开MTerminal默认用户是mobile,退出时自动也会退出这个用户,不用担心用户进程会留存在机器上。还有一点比较有意思的是MTerminal的非键盘区域,点击靠上下左右的边部区域就像是键盘上按上下左右方向键,所以可以进行退格和重复上条命令等操作。至于Tab键自动补全命令什么的操作至今还未发现。。

  有了命令行,但是在手机上敲命令太蛋疼了,我们最好能通过电脑连入手机,这样方便多了。第一个想到的当然是通过SSH。在Cydia安装openSSH,之后就可以通过22端口远程连接手机了。一般可以直接用root用户连入手机,进入之后的第一件事

【重要】千万要记得改root账户的密码,所有越狱后的IPhone手机root用户的默认密码都是一样的!!!都是alpine!不马上改掉,那随便什么人都可以直接连入你的IPhone,你就没有任何安全可言了【重要】

改完密码之后,就可以对字符界面的IOS做一些改造让它看起来更像是一台服务器了w。

■  适当改造

  首先可以在/etc/profile中加上对环境变量PS1的定义,这个变量决定的是字符提示行的样式。这个文件是什么作用在Linux笔记中说过了,就不说了,样式可以选择'[\u@\h \W]\$'这款。在文件中加上export PS1='[\u@\h \W]\$'即可。

  默认的ls命令出来的文件没有任何颜色特效,看起来很累。可以加上LS_COLORS这个环境变量,至于具体的值怎么写可以参见已经配置好的CentOS系统等等,我这里给出一个参考:

export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;35:*.exe=01;35:*.com=01;35:*.btm=01;35:*.bat=01;35:*.sh=01;35:*.csh=01;35:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:'

  在设置好了配置文件之后source之以生效,至于ls的颜色,如果还是没有效果记得看一下ls有没有默认alias ls='ls --color',必须带上color参数ls才会显色。

  忘记了系统是否自带了vim程序,应该是没有,那就需要安装。vim的样式文件vimrc不放在/etc/vimrc,而是放到/usr/share/vim/目录下面去。

■  常用工具安装

  在CentOS上习惯了用yum安装包,但是这里没有yum,只有apt-get。用法是类似的:

  apt-get install <包名>  安装某个包

  apt-get update  更新apt源(是不是有点眼熟,其实估计Cydia里面的更新源就是运行了下这个命令)

  apt-get remove <包名>  卸载某个包

  在update过后,apt会把所有更新到的包信息放到缓存里面,如果想要从最新的包信息中搜寻某个特定的包可以执行:

  apt-cache search <包名>  这条命令用的还是模糊搜索,可以帮助你寻找想要装的包名到底叫什么。由于一般人记的肯定是命令名而不是包名,所以下面给出的是一些命令和它们所在包的名字。如果想用这些命令就apt-get install这些包把:

  ifconfig,netstat,route  network-cmds

  curl  cURL

  top  top

  wget  wget

  finger,last,ps  adv-cmds

  vim  vim

  locate  mlocate

  lrz,lsz(命令名和linux上略有出入,linux上是直接rz,sz,这里多个l)  org.thebigboss.lrzsz

  gcc  iphon-gcc

  less  less

  这里稍微提醒一句,如果通过SSH经电脑连入手机操作,虽然是在电脑上打命令,不过网络走的还是手机的路,所以要注意手机别开4G跑流量了。。

  另外装了一个新包之后不知道有什么用或者怎么用时可以到手机端Cydia--已安装--<包名>里面,划到最下面的文件系统内容中,看这个包具体安装了的哪些文件,有什么文件被安装到了/usr/bin这种目录下,那个文件自然就是一个命令了。

■  一些酷酷的事情

  上面装的一些东西都是管理机器必须的,实用的工具。还有一些比较花哨,适合用于装逼的工具。比如下面:

  ●  远程打开程序

  bigboss源上有个叫做open(com.conadkramer.open)的插件,装上之后可以在SSH里输入open <APPID>命令来远程让手机打开一个APP。APPID是每个APP目录下的plist.xml文件中记录的CFBundleIdent.fier的值,比如safari的话就是com.Apple.mobilesafari,系统自带的音乐的话就是com.Apple.Music。

  ●  netstat

  netstat -ntlp在这个系统里不管用,要用只能用netstat -an。而-p在这里的netstat是protocol的意思。所以你可以netstat -ntlp TCP来显示所有TCP连接的情况。

  ●  安装python

  Cydia中搜索一下Python,似乎可以找到一个python2.5.1版本的包,虽然老了点,但是勉强凑合可以用。至于用源码进行安装我没有试过,估计也可以吧。装上python之后就可以更加剧烈地折腾手机了。比方说为了安全性考虑,我的手机平时都是关闭22端口的,想要开启的时候再开。于是就写了一个python脚本,做成命令来手动开关22端口的访问。

  ●  启停服务

  其实上面说的那个python脚本就是调用了启停服务的命令。在/Library/LaunchDaemons和/Library/LaunchAgents下面有很多跟服务相关的plist文件。LaunchDaemons指系统启动时自动启动的程序,而LaunchAgents中存放的是针对某个用户登录时自动启动的程序的配置。

  想要启动或停止一个服务,可以这么操作:  

  launchctl load/unload -w <plist的路径>

  因为指定了plist文件的路径,所以plist文件未必一定要在那两个指定目录下,完全可以拷贝出来然后自己手动指定它的路径以启动。

  ●  媒体和APP文件的位置(系统版本比较老,估计新版本系统已经有变化了)

  自带播放器的音乐和视频文件都放在/private/var/mobile/Media/ITunes_Control里面,但是文件名是被点窜过的,要用一定的手段来定位寻找特定的文件。(比如看大小,看修改日期,MP3文件的话还可以解析其标签来判断是什么歌等等)

  用户的APP的文件基本上都放在/private/var/mobile/Container/Data/Application/<一个被点窜过的目录名>。因为目录名是一串没有规律的,很难定位哪个目录对应哪个APP。办法还是有的,比如可以通过脚本把每个目录的大小算出来,然后比较一下手机里的信息。还有定位特定的文件等等,方法就靠灵活自己想了 。

■  如何通过usb直接连接系统后台

  上面连接进IOS系统都是通过了WIFI这个媒介。虽然方便一些,但是存在速度稍慢,安全性有疑问等问题。其实我们可以通过一些手段通过USB来模拟SSH连接,这样通过一条数据线,即使没有WIFI也可以做到连接系统了。

  做法是首先确保系统中有合适的驱动。Mac之类的机器就不用说了肯定是有的,像没有装itunes的windows机器的话可以下载安装AppleApplicationSupport和AppleMobileDeviceSupport这两个驱动程序,只要有这两个就行,也不用安装整个庞大的itunes了。

  然后,我们下载一个名叫【usbmxud】的工具。这个百度一下就能下载到了,然后在命令行运行一下这个工具中的一个脚本:

python <usbmuxd目录>/python-client/tcprelay.py -t 22:10022

  然后这个程序就会在PC端开启本地的10022端口,并把这个端口映射到IOS端的22端口。只要IOS开了22端口,就可以在本地通过工具ssh连接10022端口就可以了。

  同理,不仅限于22端口,其他任何IOS上的端口都可以进行映射。非常好用。

■  IOS上一些重要文件的位置等

  【http://www.cnblogs.com/ygm900/category/538781.html】这位大神的博客还挺有参考价值的。

短信数据库的存放位置在ios的:    /private/var/mobile/Library/SMS/sms.db                  

联系人数据库存放的位置在ios的://private/var/mobile/Library/AddressBook/AddressBook.sqlitedb

     联系人的头像估计存放在这里://private/var/mobile/Library/AddressBook/AddressBookImages.sqlitedb

通话记录数据库的存放路径是://private/var/wireless/Library/CallHistory/call_history.db

备忘录数据库的存放路径是://private/var/mobile/Library/Notes/notes.sqlite

safira 浏览器的收藏夹数据库存放路径是://private/var/mobile/Library/Safari/Bookmarks.db

日历数据库的存放路径是://private/var/mobile/Library/Calendar/Calendar.sqlitedb

  还有这篇文章让我受益匪浅!!【http://www.cnblogs.com/ygm900/p/3461024.html】,闲着无聊的时候可以看看!!

【Darwin】 越狱后玩耍IPhone系统的更多相关文章

  1. [置顶] 不刷机让越狱后的iphone恢复出厂设置

    iphone越狱后,设置里的清除所有内容和设置选项是不生效的,选上之后菊花转个不停,只能强制退出,还有白苹果的危险. 若想恢复出厂设置有两个办法: 一.刷机 最直接的办法,我觉得itunes配合ito ...

  2. iPhone屏蔽IOS更新、iPhone系统更新的提示(免越狱,有效期更新至2021年)

    iPhone屏蔽IOS更新.iPhone系统更新的提示(免越狱,有效期更新至2021年) 1.在Safari浏览器中粘贴如下链接,按提示打开链接. 输入http://apt.dataage.pub 2 ...

  3. 苹果iphone4s完美越狱后破解4g网络方法

    苹果iphone4s完美越狱后破解4g网络方法教程 作者:佚名 字体:[增加 减小] 来源:互联网 时间:01-15 10:07:25我要评论 自从港版iPhone5s/c能够破解移动4G网络后, i ...

  4. iphone5越狱后问题的解决办法

    1,添加各种源失败,显示红字. 解决办法: 如果出现bad 404等红字,一般是由于网络问题,服务器挤爆了,导致不能添加,这种情况大家可以换一个时间段添加源,或者使用网速快一点的网络,比如3g,多试几 ...

  5. 越狱后的ios如何用apt-get 安装各种命令

    越狱后的ios如何用apt-get 安装各种命令   iphone越狱后想玩linux. 1. ssh 客户端:ssh Term Pro. 2. 只装客户端是连不上的,还得一个 ssh connect ...

  6. ios 7.1 7.1.1 半完美越狱后 电脑訪问手机越狱文件夹的方法

    7.1和7.1.1因为越狱不成熟,半完美越狱后电脑上无法訪问系统越狱文件夹,如var usr 等等. 今天有些意外地发现,能够在电脑上使用手机的越狱文件夹我手机 i4 7.1.1 联通 半完美越狱,没 ...

  7. 【转载】iPhone系统概览

    iPhone OS OverviewiPhone系统概览iPhone OS comprises the operating system and technologies that you use t ...

  8. IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法

    IOS7.1-7.1.1越狱后无法读取越狱文件的解决办法 申明:      下面安装PP源的方法已经失效,请不用按照下面的方法操作.      更新最新的方法,在cydia中搜索源 apple fil ...

  9. iPhone10.3.X越狱后SSH连接不上的问题(已解决)

    iPhone10.3.X越狱后SSH连接不上的问题 G0blin RC2,iPhone5s10.3.3  Jailbreak 最近研究了好几天,试了好多的方法. ssh 访问越狱iPhone的两种方式 ...

随机推荐

  1. Linux 的进程状态

    (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态.处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个.在没有其他进程可以执行时(如所有进程都在阻塞状 ...

  2. Linux下搭建SVN服务器遇到的问题及解决方法,

    1.checkout时,提示:URL svn://192.168.1.99/svntest doesn't exist... 奇怪,怎么会提示库不存在呢?肯定是哪里配置问题.后来尝试了半天,也在网上搜 ...

  3. R语言︱集合运算——小而美法则

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 集合运算的一般规则如下:    union(x ...

  4. Linux 系统裁剪笔记 软盘2

    第一步:裁减内核打开终端,输入:cd /usr/src/linux2.4,然后输入make xconfig.现在编译内核正式开始了1.1 "code maturity level optio ...

  5. R语言︱画图

    笔者寄语:不论画啥,你先plot准没错. plot 二维坐标绘图 dotchart 点图 barplot 条形图 hist 直方图 pie 饼图 points 添加点 lines 添加线 text 添 ...

  6. vxworks下硬盘测速程序

    void speed(int buflen,int mod){/*int mod = 0;*/ int len=50; FILE *fp; unsigned int i=0,j=0,tmp,tmp2; ...

  7. 【mongodb系统学习之九】mongodb保存数据

    九.mongodb保存数据: 1).插入.保存数据:insert:语法db.collectionName.insert({"key":value}),key是字段名,必须是字符串( ...

  8. freemarker报错之十一

    1.错误描述 六月 03, 2014 11:00:35 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  9. 列出JDK中常用的Java包

    列出JDK中常用的Java包 1.java.lang 2.java.sql 3.java.io 4.java.math 5.java.text 6.java.net 7.java.util 8.jav ...

  10. 【原】Spring源码浅析系列-导入源码到Eclipse

    用了Spring几年,平时也断断续续在项目里看过一些源码,大多都是比较模糊的,因为一旦从一个地方进去就找不到方向了,只能知道它大概是做了什么事能达到这个功能或者效果,至于细节一般没有太深入去研究.后来 ...