越狱iOS平台简介-笔记
来源:互联网 发布:亿恩网络 编辑:程序博客网 时间:2024/06/01 07:14
前言
iOS系统结构以及常见的二进制文件类型
一、iOS系统结构
访问iOS全系统文件是逆向工程的首要前提。
iOS 由OS X演化而来,而OS X则是基于unix操作系统的。
1)通过FHS标准了解类unix的文件目录结构,OS X则是在FHS基础上形成自己的hier(7)框架
FHS:
/boot 存放能使系统成功启动的所有文件 – iOS在此目录中为空
/dev 存放设备文件:块设备(硬盘)、字符设备(调制解调器)
/bin 提供用户级基础功能 :ps ls
/sbin 提供系统级基础功能:reboot 、netstat
/lib 存放系统库文件、内核模块、设备驱动– iOS中此目录为空
/mnt 存放临时的文件系统挂载点- iOS中此目录为空
/var 存放一些经常更改的文件:日志、用户数据、临时文件,其中/var/mobile /var/root 分别存放mobile用户和root用户的文件,重点关注
二、文件权限
说明文件的属主用户、属主组以及其他人能做什么。
ps: SUID \SGID \sticky
三、iOS二进制文件类型
iOS程序类型分为3类:Application, Dynamic Library,后台Daemon。 这三类文件的分工不同、其目录结构和文件权限也不同。
几个基本概念的理解:
1、bundle
一种按照某种标准结构来组织的目录,其中包含二进制文件以及运行所需的资源。
framework也是bundle,只是其中存放的是一个dylib,而不是可执行文件。相对来说一个app的地位比frame来得低,因为app只要依赖framework的接口来实现。
2、app 目录结构
1)Info.plist:
使用Xcode自带的命令行工具plutil 进行查看
devzkndeMacBook-Pro:WLqinbaowan devzkn$ plutil -p Info.plist
2)lproj 目录
存放各种本地化字符串。
3)系统app :/application 目录下存放的系统app和从Cydia 下载的app
它和storeApp的区别在于:
*目录结构(storeapp的数据目录在/var/mobile/containers/data;以mobile权限运行的系统app的数据目录在/var/mobile 下; 以root的权限运行的系统app的数据目录在/var/root)
*安装包格式以及权限: Cydia的app的安装包格式为deb ,属主用户和属主组一般都是root 和admin;而storeapp的属主用户和属主组一般都是mobile。
*沙盒:可以看作权限的一种表现形式,属于iOS的访问限制机制,授权文件也是沙盒的一部分。
3、 Dynamic Library
只有当app需要dylib的时候,才会将其加载到内存,成为app进程的一部分;其本身并不是可执行文件,不能独立运行,只能为别的进程服务,成为进程的一部分,权限取决于寄生的app。
4、Daemon
iOS系统是有后台多任务的。
1)守护进程,即windows的service。daemon 为后台运行而生,为用户提供各种守护。
2)iOS中的daemon 主要由一个可执行文件和一个plist文件组成。
这里的plist文件的作用是记录daemon的基本信息。
3)iOS的根进程launchd ,它会在开机的时候检查/System/Library/LaunchDaemon 和/Library/LaunchDaemon 目录下的所有格式符合规定的plist文件,然后启动对应的Daemon
- 越狱iOS平台简介-笔记
- ios逆向笔记--越狱IOS平台简介
- iOS 越狱的Tweak开发-笔记
- ios平台简介~
- (一)iOS平台简介
- ios越狱
- ios 越狱
- iOS安全–在非越狱平台进行越狱开发(附分析流程)
- iOS安全–在非越狱平台进行越狱开发(附分析流程)
- IOS逆向笔记之重新签名(非越狱)
- IOS逆向笔记之HOOK实现(非越狱)
- Apple越狱简介
- iOS越狱开发----iOS越狱原理详解
- iOS越狱教程备忘
- IOS越狱开发第一步
- iOS系统越狱检测
- iOS越狱开发
- iOS 越狱判断
- 开源库BaseRecyclerViewAdapterHelper的简单用法
- 拷贝和赋值的区别
- Shader 法线贴图参考代码
- dump 的生成和调试
- CENTOS7 安装配置 NFS
- 越狱iOS平台简介-笔记
- AsyncTask异步加载数据
- telnet 11211 链接失败
- bzoj 3529: [Sdoi2014]数表
- c++中内存大小
- 查看nvidia显卡型号
- Java设计模式——建造者模式
- scala中的正则匹配和模式匹配
- Java经典核心基础基础知识