玩耍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. ORA-04028: cannot generate diana for object xxx

    在ORACLE数据库(10.2.0.5.0)上修改一个包的时候,编译有错误,具体错误信息为"ORA-04028: cannot generate diana for object xxx&q ...

  2. caffe︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization

    一.深度学习中常用的调节参数 本节为笔者上课笔记(CDA深度学习实战课程第一期) 1.学习率 步长的选择:你走的距离长短,越短当然不会错过,但是耗时间.步长的选择比较麻烦.步长越小,越容易得到局部最优 ...

  3. mysql一些使用技巧

    1.查看系统帮助文档:HELP contents; 2.查看所有支持的数据类型:HELP Data Types; 3.查看对应的数据类型的详细信息:HELP 类型:如HELP INT; 4.查看存储引 ...

  4. PHP 常量dirname(__file__)

    PHP 常量dirname(__FILE__)取得当前文件的绝对路径. define('ROOT_PATH', str_replace('includes/2.php', '', str_replac ...

  5. JDBC异常总结

    1.异常一 (1)详情如下 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source reje ...

  6. Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法

    在MySQL设计好数据库往往数据库中插入数据的时候, 因为主键ID默认是不赋值的,只给其他项目赋值了,相关的SQL代码是这样的 StringBuilder strSql = new StringBui ...

  7. 简单bfs(hdu2612)

    #include<stdio.h>#include<string.h>#include<queue>#define INF 0x3f3f3f3fusing name ...

  8. 【BZOJ1585】【Luogu2944】地震损失2(网络流)

    [BZOJ1585][Luogu2944]地震损失2(网络流) 题面 题目描述 Wisconsin has had an earthquake that has struck Farmer John' ...

  9. 【NOIP2016】蚯蚓(队列,单调性)

    题目不再重复叙述 请参考: 洛谷 CJOJ 题解 先来说说非完美解法,也是我去年考场上的做法 考虑一下每一只蚯蚓增加的长度, 这个值并不需要每一次依次增加, 用一个变量维护即可,每次取出蚯蚓就加上这个 ...

  10. [BZOJ1002] [FJOI2007] 轮状病毒 (数学)

    Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同的n轮状病毒数输出 Sample Inpu ...