逆向工具列表

hook@2x.png

1.1 检测工具

  • Reveal
  • tcpdump
  • libNotifyWatch
  • PonyDebugger

1.2 开发工具

  • Theos - tweak

1.3 反编译工具

  • IDA

1.4 调试工具

  • LLDB

1.5 查看 App 文件目录

  • iFunBox
  • iExplorer
  • iFile

2. 文件目录

mac 目录 解释
/ 根目录
/bin "binary", 存放提供用户级基础功能的二进制文件,如 ls, pwd, ps 等
/dev "device", 存放 BSD 设备文件. 每个文件代表系统的一个块设备或字符设备.一半来说"块设备"以块为单位传输数据, 比如硬盘; 而"字符设备"以字节为单位传输数据, 如调制解调器.
/sbin "system binary", 存放提供系统级基础功能的二进制文件, 如 netstat, reboot 等;
/etc "et cetera", 存放系统脚本及配置文件, 如 passwd, hosts 等, 在ios 中实际是一个符号链接, 实际指向 /private/etc
/private 存放两个目录, 分别是/private/etc 和 /private/var.
/tmp 临时目录.在ios 中实际是一个符号链接, 实际指向 /private/tmp
/usr 包含了大多数用户工具和程序. /usr/bin 包含了/bin 和 /sbin中未出现的基础功能, 比如 nm,killall 等;/usr/include包含所有的标准 C 头文件; /usr/lib 存放库文件.
/var "variable", 存放一些经常更改的文件, 比如日志, 用户数据, 临时文件等. 其中 /var/Mobile/Application 下存放了所有 App store App, 是要重点关注的目录之一.
/boot 存放能使系统成功启动的所有文件, 这些文件一般在内核用户程序开始执行前得到调用. ios 此目录为空
/lib 存放系统库文件, 内核模块及设备驱动等. ios 此目录为空
/mnt "mount", 存放临时的文件系统挂载点. ios 此目录为空
/Application 存放所有的系统 App 和来自 Cydia 的 App, 不包活 App Store App. 越狱过程把/ Application 变成了一个符号链接, 实际指向 /var/stash/Applications.
ios 目录 解释
/Developer /Developer 相对没有那么重要, 它的出现完全是因为我们在 Xcode 连接iOS设备选择了 "Use for Development".
/Library 用来存放系统 App 的数据. 其中最需要关注的是 /Library/MobileSubstance 目录, 因为这个目录存放了所有基于 MobileSubstance 的插件(tweak).
/System 包含了大量的系统组件: ./Library/PrivateFrameworks: 存放 ios 中各种 framework; ./Library/CoreServices 里的 SpringBoard.app 就是桌面管理器, 是用户与系统交流的最重要的中介. ./Library/PreferenceBundles 其中的各种 bundle 提供了"设置"中的绝大多数功能.
/User 用户目录, 实际指向 /var/mobile, 这个目录里存放了大量的用户数据, 比如: /var/mobile/Media/DCIM:照片目录; /var/mobile/Library/SMS:短信目录; /var/mobile/Library/Mail:邮件目录; /var/wireless/Library/CallHistory: 通话记录; /var/mobile/Applications, 存放的是从 app store 下载的 app.

3. 安装包格式

  • deb
    deb 格式是 Debian 系统(包含 Debian 和 Ubuntu)专属安装包格式, 配合 APT 软件管理系统使用, 是当前 Linux 下非常流行的一种安装包格式, 是由 Cydia 作者 Jay Freeman(saurik)移植到 iOS 中的.
    由于 Unix 类系统对权限, 所有者, 组的要求很严格, 而 deb 格式安装包又经常会涉及系统比较底层的操作, 可以获取较高的权限, 所以从 Cydia 下载的 app 都是 deb 格式的.
  • ipa
    ipa 格式是苹果公司在iOS平台上推出的专属软件安装包, 在2.0固件发布后才正式投入使用, 是目前 ios 中唯一的官方安装包格式.
    ipa 文件权限很小, sandbox 限制很大, 访问资源十分有限, 这一点早已为广大开发人员熟知.
  • pxl
    pxl 格式起源于 Mac 系统上的 pkg 安装包, 在1.x 固件时代被广泛使用, 曾经是 ios 平台上唯一的官方安装包格式. 现在的91手机助手等少数平台在使用.

4. Dynamic Library & Static Library

  • 动态库 (StaticLibrary)
    在一个 app 启动时, 系统会把 App 的代码和它所链接的 StaticLibrary 一起加载到分配好的内存空间中, 不过如果如果一次性加载的内容过多, 会造成 app 启动变慢.
  • 动态库 (DynamicLibrary)
    动态库相对"智能", 只有当 App 要用到这个 Library 时, 系统才把对应的动态库加载进内存. 具体来说, 当一个 app 启动时, ios 内核创建一个新进程, 然后把 App 的代码加载到新进程的内存空间里; 同时内核还会启动 Dynamic Loader(/usr/lib/dyld), 把 App 需要的动态库加载到内存空间.

5. deamon

deamon: 进程守护者, 跟 Windows 中的 service 类似.
deamon 存在的意义就是后台运行, 为用户操作系统提供各种守护, 如: imagent 保障 iMessage 的正确收发, mediaserverd 处理几乎所有音频, 视频, syslogd 记录系统日志等.
iOS 系统中的 deamon 主要由一个可执行文件和一个 plist 文件构成. iOS 的根进程是 /sbin/launchd, 会在开机或接到命令时检查 /System/Library/LaunchDeamon 和 /Library/Deamon 下所有符合格式规定的 plist 文件, 然后按需启动对应的 daemon.这里的 plist 文件和 app 中的 Info.plist 文件功能类似, 记录了 deamon 的基本信息. "iOS第一款电话录音软件 - Audio Recorder"就是通过逆向 /usr/sbin/mediaserverd 这个 deamon 实现的!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,182评论 6 543
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,489评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,290评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,776评论 1 317
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,510评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 55,866评论 1 328
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 43,860评论 3 447
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,036评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,585评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,331评论 3 358
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,536评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,058评论 5 363
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,754评论 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,154评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,469评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,273评论 3 399
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,505评论 2 379

推荐阅读更多精彩内容

  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,016评论 8 183
  • Get Started Check code at: https://github.com/wghglory/an...
    wghglory阅读 201评论 0 0
  • 细数光阴,唯叹生活不易,生活时常甩我一个大嘴巴,打的我晕头转向。我开始怀疑人生,痛恨生活,常常用命运多舛来形...
    枫先森阅读 425评论 0 0
  • 我是日记星球361号星宝宝,我正在参加日记星球星宝宝第十四期21天蜕变之旅,这是我的第二十三篇原创日记。 每年只有...
    遇见更好的我自己阅读 172评论 0 1
  • 我在图书馆借的书快过期了,嗯嗯,说得我好像很喜欢看书一样。 我的朋友找我出国旅行,想到自己烂烂的英语水平,还被姐姐...
    andyou12345阅读 235评论 0 0