一个基于iOS与Cycript的SpringBoard弹框小恶作剧

近日在越狱iPhone上通过Cydia安装了Cycript脚本语言,新手上路,通过ssh完成了一个基于SpringBoard的弹框小恶作剧,写此文予以分享。

一个基于iOS与Cycript的SpringBoard弹框小恶作剧_第1张图片
效果图

从0到1的准备工作

  1. iPhone越狱:推荐盘古越狱,iOS 7到9全系列可越狱,尤其是最新推出的iOS 9.2-9.33越狱工具,可在越狱和非越狱状态任意切换,极为自由灵活。

  2. 越狱iPhone安装Cydia,一般越狱工具在越狱后会自动安装该软件。

  3. 在Cydia中搜索CydiaSubstrate、Cycript、OpenSSH这3个插件安装。其中CydiaSubstrate能够保证绝大部分越狱插件安全运行,避免个别劣质插件造成系统崩溃的现象;Cycript是由Cydia之父saurik推出的一款脚本语言,等下我们用它来实现恶作剧代码注入;OpenSSH能够帮助我们在终端通过ssh连接到iPhone手机,接着便可在iPhone终端执行Cycript。


代码与其它

  1. 将电脑和iPhone手机分别联网,在iPhone的网络设置中查看该机ip地址。

  2. 打开电脑终端,通过ssh连接到iPhone中,命令是ssh root@[iphone ip address],如下所示:

localhost:~ zklgame$ ssh [email protected]
[email protected]'s password: 

这里需要输入的密码是OpenSSH安装后的默认密码alpine,建议在OpenSSH安装后立刻更改此默认密码,以免在今后造成安全损失。

  1. 现在已经进入了目标iPhone的终端,首先寻找SpringBoard所在进程,好进行Cycript注入。如下所示:
Meow:~ root# ps -e | grep SpringBoard
  286 ??         0:54.51 /System/Library/CoreServices/SpringBoard.app/SpringBoard
  980 ttys000    0:00.01 grep SpringBoard
Meow:~ root# cycript -p 286
cy# 

可以看到,SpringBoard所在进程的PID是286,故对此进行注入。

  1. 构造一个UIAlertView:
cy# alertView = [[UIAlertView alloc] initWithTitle: @"You are a pig!" message: nil delegate: nil cancelButtonTitle: @"Yes, I am." otherButtonTitles: nil]
#">"
  1. 将手机交给别人玩耍。。。

  2. 看准时机,show alertView:

cy# [alertView show]
  1. 可以在别人玩你手机的时候不断变着法子来弹出不同的窗口,或者在终端看看他正在玩什么app,适当杀一杀什么的啊。。。祝你好运。。。

结语

这是一篇不怎么正经的文章,希望对你有所帮助_

你可能感兴趣的:(一个基于iOS与Cycript的SpringBoard弹框小恶作剧)