热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IOS越狱环境搭建

最近公司要我研究越狱开发,第一步当然是搭建开发环境。现在已经搭建成功了,写个帖子贴出来,分享给大家的同时也加深自己的映像。首先我是参考的以下这篇文章:http:blog.csdn.netl

最近公司要我研究越狱开发,第一步当然是搭建开发环境。

现在已经搭建成功了,写个帖子贴出来,分享给大家的同时也加深自己的映像。

首先我是参考的以下这篇文章:

http://blog.csdn.net/lynjay/article/details/7936488  

首先需要准备以下工具

1、安装MacPorts 。官方链接:http://www.macports.org/   ,安装完后记得更新index

2、用MacPorts安装DPKG,在你电脑终端里输入命令“sudo port -f install dpkg”,在我本本上安装很快,但在一体机上安装很久,这个主要是用来打包成.deb文件用了。

3、安装Theos,github下载地址:https://github.com/DHowett/theos  ,下载后解压到/etc/Theos

4、安装iOSOpenDev,官方下载链接:http://iosopendev.com/

  安装过程中可能会遇到问题,解决方案请见此链接:https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot

5、搜索~/.bash_profile~/.bash_login or ~/.profile. 这3个文件你在你电脑中看是否能找到,我是找到的是~/.bash_profile这个文件,然后设置下面的环境变量我的设置如下

 

 

##
# Your previous /Users/yourUserName/.bash_profile file was backed up as /Users/yourUserName/.bash_profile.macports-saved_2012-11-13_at_17:11:20
##

# MacPorts Installer addition on 2012-11-13_at_17:11:20: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.


export iOSOpenDevPath=/opt/iOSOpenDev
export iOSOpenDevDevice=
export PATH=/opt/iOSOpenDev/bin:$PATH
export THEOS=/opt/theos

 

6、在你越狱的手机设备上安装OpenSSH

在设备上安装OpenSSH并且在设备上添加SSH签名.在Cydia里搜索OpenSSH安装.建议更改SSH的默认密码,默认密码是:alpine.更改方法是在Mac上登陆设备的SSH.命令”ssh root@<设备IP>”.登陆后输入命令”passwd root”.输入新密码,注意是密文.

给SSH添加签名,在Mac的Terminal里输入”iosod sshkey -h <设备IP>”,中间问你是否继续,选yes.如果期间失败了重新试下.

7、然后就用xcode建立工程了,可以再xcode工程模板中看到有iOSOpenDev的模板,选一个吧,我选的是ActivatorListener模板,起名字叫background,这个模板要求开发者手动添加一个dylib到工程,按照给出的路径找到它并加到工程就ok了。

在工程的target-》build setting里面找到iOSOpenDev的参数配置部分

  1. iOSOpenDevCopyOnBuild 布尔值YES/NO 默认是NO,是否把生成的可执行文件拷贝到/var/root/iOSOpenDevBuilds/[project name]/[executable name] 路径下.是为了方便那些远程SSH控制的程序,可能暂时用不到.
  2. iOSOpenDevDevice 设置你设备的IP.
  3. iOSOpenDevInstallOnProfiling 布尔值 默认为YES, 是否在build for profiling的时候直接远程安装到设备上.
  4. iOSOpenDevPath 不要修改此项,是iOSOpenDev的安装路径.
  5. iOSOpenDevRespringOnInstall 布尔值 默认为YES,是否在安装后重启SpringBoard.

iOSOpenDev默认安装在/opt/iOSOpenDev里,在里面可以找到undocument api的头文件.

编译的时候不能像正常的App点Run,点击Product->Build For->Build For Profiling.配置好上面的设备IP,程序会自动安装到设备里.

ok,走到这一步了,Build For Profiling刚刚建的ActivatorListener模板app,发现报错了

提示信息如下:

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory
Permission denied, please try again.

几经波折,在下面的连接中找到了答案:http://blog.retep.org/2009/04/09/ssh-askpass-on-osx-10-5/

//自己建个名为ssh-askpass的脚本放在/usr/libexec/目录下
//内容如下,保存推出vim,为其添加权限

sabrina:~ peter$ sudo vi /usr/libexec/ssh-askpass02 #! /bin/sh
03
04 #
05 # An SSH_ASKPASS command for MacOS X
06 #
07 # Author: Joseph Mocker, Sun Microsystems
08
09 #
10 # To use this script:
11 # setenv SSH_ASKPASS "macos-askpass"
12 # setenv DISPLAY ":0"
13 #
14
15 TITLE=${MACOS_ASKPASS_TITLE:-"SSH"}
16
17 DIALOG="display dialog \"$@\" default answer \"\" with title \"$TITLE\""
18 DIALOG="$DIALOG with icon caution with hidden answer"
19
20 result=`osascript -e 'tell application "Finder"' -e "activate" -e "$DIALOG" -e 'end tell'`
21
22 if [ "$result" = "" ]; then
23 exit 1
24 else
25 echo "$result" | sed -e 's/^text returned://' -e 's/, button returned:.*$//'
26 exit 0
27 fi
28
sabrina:~ peter$ sudo chmod +x /usr/libexec/ssh-askpass

 

做完以上工作,再来Build For Profiling刚刚建的ActivatorListener模板app,输了无数次的ssh密码之后,终于,这个叫background的东东纵欲被安装在了我的越狱手机上了,但是到底安装在哪了呢?我如何执行它?

在ios设备的桌面找到Avtivator这个app,点击进去-》任意位置-》单指手势-》从屏幕底部-》然后你就会看到一个叫background的玩意儿。选中它。

相信你已经猜出来了,“任意位置-》单指手势-》从屏幕底部-》”是你要启动background动作,意思就是一根手指从屏幕底部向上拖动,然后就会启动background。

ok,就写到这儿。

越狱后的IOS和linux相差无几,必须要好好学习linux啊。

我的最终目标是要实现IOS一开机就启动我的app,如果有大神知道,希望能留言指点指点。

如果发现上述文章有错误的地方也欢迎指正。

 

欢迎转载,保留出处!


推荐阅读
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
  • 树状笔记软件for linux,Ubuntu 14.04安装开源树状笔记管理软件 WikidPad 2.2
    WikidPad是一款开源免费的wiki风格的树状笔记管理软件,类似于Notepad。基于Python,支持Windows、Mac、Linux等平台。W ... [详细]
author-avatar
虎爷在江湖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有