使用gdb和cycript越过iOS应用的越狱检测
iOS https(SSL/TLS)数据捕获
要捕获iPhone上的appstore的数据还真的没那么容易,以前介绍的那些使用代理手工导入证书的方法已经完全失效了,结果就是安装证书之后再打开appstore也无法正常的建立连接。按照我的分析其实是appstore在检测证书无效之后直接就没有发起任何的请求(可以通过wireshark抓包查看网络数据)
随之而来的是第二种方法,patch ssl证书校验函数,根据这个原理实现的有两个工具,一个是ssl kill switch,另外一个是trustme。原理都是一样的,并且也非常的简单,按照作者的说法是truestme实现的更底层一些。但是很不幸的是,结局是同样的悲哀的,在iOS6之后这个东西也是失效了。
其实我这里要说的方法也比较简单,如果阅读过上面两个工具的源代码(请自行搜索相关代码),并且理解mac os/iOS 下https实现的相关原理,那么也就自然的想到hook发送和接收函数的方法来捕获数据了。
需要关心的函数只有两个sslread和sslwrite:
代码:
SSLRead
Performs a normal application-level read operation.
OSStatus SSLRead (
SSLContextRef context,
void *data,
size_t dataLength,
size_t *processed
);
Parameters
context
An SSL session context reference.
data
On return, points to the data read. You must allocate this buffer before calling the function. The size of this buffer must be equal to or greater than the value in the dataLength parameter.
dataLength
The amount of data you would like to read.
processed
On return, points to the number of bytes actually read.
而需要关心的字段则就是那个data了,因而要想知道https数据的内容只要能够正常的获取到data字段的内容就行了,同样对于发送函数sslwrite也同样适用:
代码:
SSLWrite
Performs a normal application-level write operation.
OSStatus SSLWrite (
SSLContextRef context,
const void *data,
size_t dataLength,
size_t *processed
);
Parameters
context
An SSL session context reference.
data
A pointer to the buffer of data to write.
dataLength
The amount, in bytes, of data to write.
processed
On return, the length, in bytes, of the data actually written.
【翻译】Safari/iOS – Cookies.binarycookies reader
Safari 浏览器和iOS应用程序将永久cookie保存在Cookies.binarycookies文件中。这于其他桌面浏览器的保存方式是不同的。例如IE会将永久cookie以文本的方式保存在Temporary 临时文件夹下,Firefox 和chrome则会将永久cookie保存在一个sqlite数据库中。保存在数据库中和文本中的cookie是非常容易读取的。但是并没有合适的工具来从Cookies.binarycookies二进制文件中读取cookies信息。所以我写了一个python脚本(BinaryCookieReader.py)来获取Cookies.binarycookies文件中所有的cookie信息,这个脚本的输入参数为Cookies.binarycookies文件。
使用方法:
1. 下载并且安装 Python
2. 将python的路径添加到系统的PATH环境变量中
3. 下载 BinaryCookieReader.py
4. 打开命令提示符并且输入下面的命令。它将会从Cookies.binarycookies文件中解析出所有的cookie
Python BinaryCookieReader.py [Cookie.binarycookies-file-path]
iMessageDebug Mode
左侧为原始状态,右侧为安装配置文件之后,请在设备上用safari访问这个地址来安装配置文件:https://dl.dropboxusercontent.com/u/14345890/iMessageDebug.mobileconfig
Spyder –the Scientific PYthon Development EnviRonment
Spyder (previously known as Pydee) is a powerful interactive development environment for the Python language with advanced editing, interactive testing, debugging and introspection features
Android APK installer for Windows/Linux/Mac OSX
其实想写这么个东西是很久之前的想法了,那时候还在厦门,还没有回到山东,很多的东西也不是现在的样子。很多的东西总是充满了变数和无奈,很多的东西也在自然不自然的过程中到了现在的样子。而至于这个东西也只是简单的说几句吧,基于pyqt开发,目标是跨平台运行在Windows ,Linux,Mac OSX下。现在已经能够在windows下正常使用了,另外mac和linux下的pyqt安装略麻烦一点,网络也不咋地所以还没测试。需要完成的代码还有apk关联,另外启动的时候在不同的环境下可能出现黑框,看起来很蛋疼,在找找原因吧,时机合适了开放源码。
iPhone 5 Web App 全屏
其实注意到webapp这个东西是因为wptouchpro 2.7在iPhone5上生成的WebApp在打开之后不能全屏,上面跟下面有黑边,看起来会场蛋疼的说。