Gitbook
基本概念
IOS文件目录结构
目录 | 是否会被iTunes同步 | 说明 |
---|---|---|
MyApp.app | 不会 | 该目录包含了应用程序本身的数据,程序打包的时候的资源文件和一些本地文件就是存放在这个目录下的。 程序的可执行程序、plist文件也在这个目录下。 |
Documents | 会 | 使用这个目录来保存关键数据。关键数据指那些应用不可再生的数据。 |
Library | 会(Library/Caches除外) | 用来保存一些配置文件和其他一些文件。其中使用NSUserDefaults写的设置数据都会保存到Library/Preferences目录下的一个plist文件中。Library/Caches可以用来保存可再生的数据,比如网络请求,用户需要负责删除对应文件。 |
tmp | 不会 | 使用这个目录来保存各种应用下次启动不再需要的临时文件。当应用不再需要这些文件的时候,需要主动将其删除。(当应用不再运行的时候,系统可能会将此目录清空。) |
程序类型
程序类型 | 说明 |
---|---|
Application | 平时我们开发提交到App Store的应用即是Application,设备没有越狱的情况下,应用只能访问沙盒内存文件和数据。 |
Dynamic Library | Dynamic Library(动态链接库),在其他平台很常见,比如Windows平台的DLL。苹果官方做了限制,所以在非越狱的情况下,需要提交到App Store的应用是不能包含动态链接库的,否则无法通过审核(Review) 后面要介绍的越狱程序(Tweak)开发,就是动态链接库。我们开发的大部分越狱程序,都是编译成动态链接库,然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。 |
后台Daemon | 后台Daemon类似于Windows的Service。对于Application来说,切换到Home就会暂停运行,而Daemon会在后台运行。在越狱设备上,之前用来拦截垃圾短信和电话的工具都是运行在后台的Daemon。 |
工具
iPhone-Backup-Analyzer-2
Corellium
Corellium是什么呢?Corellium是一款经过多年研发的iOS虚拟机(模拟器)。它可以启动虚拟的iPhone和iPad,以及其所运行的所有版本的iOS操作系统。通过Corellium,黑客、安全研究员、软件开发和测试人员可以在设备上尝试他们想要的任何东西,无论是寻找安全漏洞还是只是在不同的Apple硬件和软件上测试他们的应用程序。它可以暂停,创建快照和回滚。还可进行lldb对app或者iOS内核进行调试。白苹果了也没有关系,你可以在几分钟内创建一个全新的任意版本的越狱后的虚拟Apple设备。
原文在此: https://weibo.com/ttarticle/p/show?id=2309404285641759270427
UI分析工具
UI分析工具是对iOS应用的UI进行分析的工具,有:
Reveal能够在运行时调试和修改iOS应用程序。它能连接到应用程序,并允许开发者编辑各种用户界面参数,这反过来会立即反应在程序的UI上。就像用FireBug调试HTML页面一样,在不需要重写代码、重新构建和重新部署应用程序的情况下就能够调试和修改iOS用户界面。
文件系统查看工具
在iOS设备上可以安装
等工具,可以查看iOS应用的文件系统结构。
数据库查看工具
在iOS逆向工程中,有时候需要把iOS设备中的SQLite数据库文件拷贝到Mac上,然后用工具打开,常用的有:
- SQLite Database Browser
- SQLiteManager
应用保存在iOS设备上的SQLite数据,是很容易被他人获取的,设备无需越狱。
网络分析工具
使用
- Tcpdump
- WireShark
- Charles
等工具可以对应用的网络数据进行分析。
Charles是Mac下常用的对网络流量进行分析的工具,类似于Windows下的Fiddler。在开发iOS程序的时候,往往需要调试客户端和服务器的API接口,这个时候就可以用Charles,Charles能够拦截SSL请求、模拟慢速网络、支持修改网络请求包并多次发送、能够篡改Request和Response等强大的功能。下面介绍安装和使用方法。
逆向程序开发工具
开发越狱程序和日常开发的iOS程序很相似,不过,越狱程序能做更强大的事情。你的设备越狱之后,你就能够hook进Apple提供的几乎所有的class,来控制iPhone/iPad的功能。 Theos大幅简化了编写越狱程序的流程,后面会对该工具进行详细的介绍。
反汇编工具
IDA
IDA Pro是一款非常强大的反汇编工具,甚至能够将汇编代码转换成近似于源码的伪代码。
Hopper
调试器
在iOS逆向工程中,可以使用gdb来对iOS应用进行动态分析,进行单步调试,也可以使用Cycript来对iOS进行动态分析。 动态分析中还常使用调试器(Debugger,比如gdb)分析应用的内部结构与原理。
Keychain-Dumper
一旦iOS设备被越狱,攻击者可以检查哪些钥匙串项可用的工具。
ziphone
class-dump-z
Disassembler
Clutch
Cycript
动态修改内存,给内存打补丁。
Snoop-it
iNalyzer
Introspy
iNalyzer
Mobile Substrate
Tweak
Logify
参考
逆向
- iOS逆向工程
- iOS逆向之旅 — 总纲
- iOS非越狱逆向工程
- iOS 如何进行逆向工程?
- ios 逆向工程-浅析
- iOS 逆向工程资料整理
- iOS逆向工程之插件开发
- iOS逆向工程——非越狱调试
- iOS 逆向开发先导篇——我是这么调试开发的
- iOS逆向----一键重签名加注入动态库(非越狱手机调试别人的APP)
- iOS逆向工具汇总
- iOS逆向工程之App脱壳
- 偏执的iOS逆向研究员:收集全版本的macOS iOS+越狱+内核调试
- ios逆向工程-静态分析
- iOS逆向:App脱壳/ipa破解
- 不懂汇编,如何逆向(iOS)
- iOS逆向解密
- iOS逆向(一)越狱篇
- iOS逆向(二)工具篇
- iOS逆向(三)分析篇
- iOS逆向(四)实战篇
- iOS逆向(五)总结篇
- 越狱环境搭建
- 操控iPhone
- Cycript
- 脱壳
- theos的安装与使用
- debugserver
- iOS逆向工程之fishhook
- 入门 IOS 逆向从我的经历说起
- iOS 逆向常用命令
- iOS逆向工程实践
- IOS逆向简述
- iOS逆向笔记
- iOS逆向工程之微信防撤回
- LLDB解密framework
- dumpdecrypted介绍及其使用
- iOS 逆向常用工具
- 通过theos提供的logify来为类的所有方法添加追踪日志
- 导出iOS真机缓存的dyld_shared_cache_arm64文件
- dsc_extractor的编译和使用
- LLDB && debugserver的使用
- libimobiledevice的安装和使用
- logos基础语法
- iOSAppHook
未分类
- 查看iOS越狱设备keyChain数据
- IOS开发 - keychain的使用
- iPhone取证 - iOS 5备份分析:第1部分
- iOS 【IDFV.UUID + keychain 作为 App 唯一标识】
- 教程贴:IOS10 14码软改
- 怎么修改iOS系统版本?iFile改版本号路径教程
- iPhone 4免拆机修改序列号教程
- Anywhere
- 掌乾坤群控
- 细说iOS代码签名(一)
- 细说iOS代码签名(二)
- 细说iOS代码签名(三)
- 细说iOS代码签名(四)
- 苹果试玩重复任务 软改机制作方法 改udid
- 试玩无限刷任务(私密教程)
- 非越狱iOS逆向实战:去除《网易新闻》新闻列表广告
- 教大家如何来更改iphone的IMEI号
- 如何解iOS系统中系统库的dyld缓存
- 浅谈 iOS Device ID 的修改
- iOS 12完美越狱? 来见识一下什么是真正的iOS虚拟机Corellium!
- iOS虚拟软件hypervisor(安卓手机刷ios系统) v5.1 免费版
- iEmu
- 黑客虚拟化iPhone 6,永远改变iOS黑客攻击!opensource
- https://opensource.apple.com/
- darwin-xnu
- 移动应用虚拟化
- 如何在Android上下载和安装IEMU iOS Emulator Apk
- 如何在Android设备上运行iOS应用程序
- 几乎在QEMU中启动iOS内核
- 硬核与底层漏洞齐飞:2017腾讯安全国际技术峰会次日精彩回顾
- Quem官方
- 聊聊从iOS固件提取系统库符号
- 解密IPSW固件文件
- 黑匣子开启:iOS Secure Enclave 固件解密密钥首度“被”公开
- 剖析iPhone/iPod Touch固件※自己动手从固件中提取文件
- Mac中利用ios-jb-tools解密iPhone固件及Bundle包制作探讨
- 最近很火的ios降级
- SHSH2 降级|升级 iOS 10.2 及任何 iOS 10.x 超详细图文教程,无需验证固件
- 在 Mac 下应该如何解包 iOS IPSW 固件?
- 解密IPSW固件文件
- 用 ZiPhone 更改 iPhone 的 IMEI 編號(Windows)
- 用ZiPhone更改iPhone的IMEI号码
- 遇到白苹果 iTunes无法识别解决教程
- 在没有越狱的情况下更改iPhone上的IMEI号码
- 一键改udid,序列号,mac等,免费插件哦
- 写串号写序列号改国别
- IPhone 4 ( REPLACE IMEI & SN ) BY CHINESE TEAM
- iPhone 4免拆机修改序列号教程
- How To Change IMEI Number Of iPhone Devices | Unlock Iphone 6 & 7Plus
- How to unlock iphone imei changer tool Free 2017
- How To Change IMEI Number On iPhone X Via IMEI Changer Tool Apk
- IMEI CHANGER TOOL FOR IPHONE
- How to Change IMEI Number on iPhone in 9 Steps
- 2017 - Change Imei Apple - Unlock Device Apple ! For ever ! 2017
- Unlock iphone new method 100% free ✅ Change imei tool 2018 📲 icloud activation
- iphone 4 imei serial change phonetool
- HOW TO CHANGE IMEI OF AN IPHONE 6S
- I phone 6 ka IMEI NUMBER kaise change kare
- Device Unlock | change IMEI and unlock any iphone free 2018 new method
- How to Enter in Engeneering Mode (iPhone)
- IMEI免费解锁
- Unlock iphone New method 100% Change imei Tool 2017 icloud activation
- How To Change IMEI Number On iPhone 8 Or iPhone 8 Plus With Changer APK
- How to Change Edit Rewrite imei Animation on iPhone 7 7Plus Clone flv
- ios 9.2 - 9.3.3 改機 越獄教學 免電腦
- Live Kernel Debugging on iOS 12, Virtualised iPhones | Corellium Hands-on Demo
- 关于序列号/型号/IMEI/基带版本修改揭秘
- OS 199个进程作用
- iOS中的私有唯一设备标识符
- Private unique device identifier in iOS
- IMEI CHANGE FREE SERVER ANY IPHONE ALL IOS
- 苹果ID机解锁的唯一办法, 其他都是骗局!
- 如何在iPhone 12 / iPad上的iOS 12,iOS 11或更早版本中绕过iCloud激活锁定
- 利用泄露的doulci服务器源文件自己搭建服务器激活
- icloud bypass xampp localhost activation
- doulci server 2.0
- Minacriss绕过icloud SERVER工作ios 7.1.1及更低版本
- inject the cert & key to albert.apple
- Merruk iCloud绕过技术指导
- xamp files are back icloud bypass iphone 5
- 妖机详解!附刷机教程!广大妖机、硬改机的福音!!!
- 妖机黑机有锁机无SHSH从iOS 7降级到iOS 6.12并跳过激活
- iphone字库与基带的解释,以及自己的妖姬经历!仅代表个人理解!!!
- 浅谈iphone妖机,硬改机,以及快速查询有锁无锁。
- 原创干货:运营大咖让你造——移动广告作弊手段分析以及防作弊策略
- APP推广反作弊-量江湖
- 七成App推广造假,反作弊到底动了谁的蛋糕?
- 分享一些关于苹果积分墙玩法的实用干货
- 移动开发中的仿真器与模拟器