zoukankan      html  css  js  c++  java
  • IOS越狱环境搭建

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

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

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

    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-askpass 02 #! /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,如果有大神知道,希望能留言指点指点。

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

    欢迎转载,保留出处!

  • 相关阅读:
    elemntui-tab添加图标
    动态添加input,然后获取所有的input框中的值
    jmeter_使用接口传递数据
    python_异常
    python_内置函数和open
    jmeter_安装
    jmeter_使用_设置代理录制脚本
    python_函数
    python_while
    python_if、for
  • 原文地址:https://www.cnblogs.com/ligun123/p/2770350.html
Copyright © 2011-2022 走看看