iOS逆向環境介紹
*** 越獄環境:iphone5s iOS 8.3***
luz-iphone:~ root# uname -a
Darwin luz-iphone 14.0.0 Darwin Kernel Version 14.0.0: Sun Mar 29 19:47:37 PDT 2015; root:xnu-2784.20.34~2/RELEASE_ARM64_S5L8960X iPhone6,2 arm64 N53AP Darwin
1. Drawin體系
Drawin是一種類似unix的操作系統,他的核心XNU,XNU是一種混合式內核,結合了mach與BSD兩種內核
主流的類unix:
- Linux 由Linus Torvalds研發的,代表發行版本CenOS,Redhat,Ubuntu,Debian,openWRT等
- Mac OS X的Intel部分
- freeBSD 由加州大學伯克利分校基于UNIX研發的(UNIX變種,當時如果不是與貝爾實驗室打官司,可能就不會有現在的Linux什么事)
- Solaris 由Sun(現為Oracel)開發的UNIX商業版本
BSD 實現在Mach的上層,這一層提供的API 支持了POSIX標準模型。在XNU中主要實現了一些高級的API與模塊
UNIX 進程模型
== e.g fork,vfork,wait,waitpid,exec等 ==
POSIX 線程模型即pthread,以及相關的同步功能
== e.g pthread_create,pthread_mutex(線程互斥鎖)==
UNIX的用戶與組管理
==e.g root用戶,mobile用戶,chmod等==
網絡協議棧(BSD Socket API),符合POSIX 模型
== e.g socket();bind(); listen();accept();connect(); gethostbyname(); gethostbyaddr()等伯克利套接字API==
文件系統/設備系統
== e.g Filesystem Hierarchy Standard(文件系統層次化標準)==
iOS,OSI,ISO的含義
- iOS 蘋果公司開發的移動操作系統
- OSI 是Open System Interconnection的縮寫,意為開放式系統互聯。OSI模型把網絡通信的工作分為7層,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。
- ISO是國際標準化組織。上面的OSI模型由該組織制定。一般類UNIX系統都基本符合POSIX標準和ISO C標準
- POSIX表示可移植操作系統接口(Portable Operating System Interface)
- ISO C標準,C語言標準庫接口
為什么越獄
- 突破iOS沙盒機制的限制(sandbox)
== 沙盒是一種安全機制,為運行中的程序提供隔離環境。沙盒在啟動的時候可以設置運行的程序是否可以訪問網絡、文件、目錄等==
sandbox.jpg