转载自念西博客
开机自启动
1.首先打开Xcode创建一个plist属性文件,如下图所示:
其中要注意一下通信服务名,我定为55。用编辑器打开,即为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
&
lt
;
?
xml
version
=&
quot
;
1.0
&
quot
;
encoding
=&
quot
;
UTF
-
8
&
quot
;
?
&
gt
;
&
lt
;
!
DOCTYPE
plist
PUBLIC
&
quot
;
-
//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
&
lt
;
plist
version
=&
quot
;
1.0
&
quot
;
&
gt
;
&
lt
;
dict
&
gt
;
&
lt
;
key
&
gt
;
Program
&
lt
;
/
key
&
gt
;
&
lt
;
string
&
gt
;
/
usr
/
bin
/
ncdemo
&
lt
;
/
string
&
gt
;
&
lt
;
key
&
gt
;
StandardErrorPath
&
lt
;
/
key
&
gt
;
&
lt
;
string
&
gt
;
/
dev
/
null
&
lt
;
/
string
&
gt
;
&
lt
;
key
&
gt
;
SessionCreate
&
lt
;
/
key
&
gt
;
&
lt
;
true
/
&
gt
;
&
lt
;
key
&
gt
;
ProgramArguments
&
lt
;
/
key
&
gt
;
&
lt
;
array
&
gt
;
&
lt
;
string
&
gt
;
/
usr
/
bin
/
ncdemo
&
lt
;
/
string
&
gt
;
&
lt
;
/
array
&
gt
;
&
lt
;
key
&
gt
;
inetdCompatibility
&
lt
;
/
key
&
gt
;
&
lt
;
dict
&
gt
;
&
lt
;
key
&
gt
;
Wait
&
lt
;
/
key
&
gt
;
&
lt
;
false
/
&
gt
;
&
lt
;
/
dict
&
gt
;
&
lt
;
key
&
gt
;
Sockets
&
lt
;
/
key
&
gt
;
&
lt
;
dict
&
gt
;
&
lt
;
key
&
gt
;
Listeners
&
lt
;
/
key
&
gt
;
&
lt
;
dict
&
gt
;
&
lt
;
key
&
gt
;
SockServiceName
&
lt
;
/
key
&
gt
;
&
lt
;
string
&
gt
;
55
&
lt
;
/
string
&
gt
;
&
lt
;
/
dict
&
gt
;
&
lt
;
/
dict
&
gt
;
&
lt
;
/
dict
&
gt
;
&
lt
;
/
plist
&
gt
;
|
最后,将plist文件 scp 至 root@192.168.1.114:/System/Library/LaunchDaemons/ 下 。
编写读取iTunesstore数据库程序
读取itunesstored2.sqlitedb信息,并输出到stdout中,便于我们读取。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#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
;
}
|
编译、拷贝、签名
1.编译方法上篇文章已经介绍清楚,生成运行在ARM的 ncdemo
2.将ncdemo scp 到设备中,并登录
1
2
|
$
scp
ncdemo
root
@
192.168.1.114
:
ncdemo
$
ssh
root
@
192.168.1.114
|
3.签名
1
2
|
#ldid -S ncdemo
#mv ncdemo /usr/bin
|
抓取 iTunesstore 数据信息
这时,我们只需要利用netcat,指定之前定义的服务名称,轻松在本地抓取设备 iTunesstore 信息.
1
|
$
nc
192.168.1.114
55
>
itunesstored2
.sqlitedb
|
分析 iTunesstore 数据信息
好吧,这里就介绍个最简单的应用,利用string命令查看:
1
|
$
strings
itunesstored2
.sqlitedb
|
于是乎,我们就清晰的得到了iPhone /iPad 设备上都安装了哪些app :
当然,除了这些,你想干什么都可以……夜深了,先写到这里吧……