新手IOS tweak越狱app开发记录
2015-05-17 15:55
267 查看
需要改变原先程序功能流程的话,是要用到Logos Tweak 开发。另外,.在苹果商城下载到的app,不能直接拿来分析。需要先做一定的前期准备。网上有很多相关的写第一个越狱插件的文章,这里就不在赘言了。仅仅记录一些注意事项。留待日后自己如果忘记了,就回过头来看看。
一般分为以下的步骤.
1.准备已经越狱的iphone或ipad.系统不要最新,ios 6,7,8比较适宜。
2.Xcode要事先配置好越狱开发的环境,比如以下程序要先下载并安装好:
1>theos 这个是在xcode没有安装iosOpenDev的环境下,手工开发tweak程序,需要用到的。如果已经安装并配置好了iosOpenDev环境,这一步可以直接无视。
2>Clutch 这个是用来“一键”破解应用在提交苹果商城之后,苹果官方加的密.该软件相当傻瓜化。
3>Class-Dump 这个程序的功能是比ida的F5有过之无不及。,<ios下在Cydia里搜索'class-dump'安装,Mac下可以百度找到下载>代码基本接近原生的源码。
4>SSH ,这个主要用于连接ios系统,<ios下在Cydia里搜索'SSH Connect'安装,Mac下直接在apple store搜索 ssh安装>以完整权限的方式实现代理操作.比如查看ios系统里当前的运行日志,以及一些需要在ios系统的机器下才能完成的操作。
5>OnDeviceConsole ,这个程序顾名思义,<在Cydia里搜索安装>.就是用来在mac上显示ios系统运行的日志的。当然要在SSH登录之后,才能使用此命令.
6>dpkg .这个是安装我们写好的越狱app用的.
可能遇到的一些问题:
1.ssh连接不上.这个需要核对ios系统所在的IP,以及ssh的密码不要去频繁改动.
2.clutch的版本要在1.4.7及以上,要将下载好的程序放在 /usr/bin/下,而且如果在ios系统上的Mobiletermial上修改好权限为777,也可以在mac下的ssh里敲入:
chmod 777 clutch 。注意命令clutch对大小写敏感.这里不能错,否则会提示没有此命令。
3.在xcode里,安装写好的插件,要用"Product/Build For/Profiling"进行安装.而且选项卡“Build Settings”里,要配置好以下几个选项:
1>iosOpenDevDevice :192.168.1.101 这里填你的ios设备的IP地址。一般是wifi下的局域网ip
2>iosOpenDevInstallOnProfiling:YES 这就是为什么我们要在Profiling下生成并安装的原因,当然你也可以选择 OnAnyBuild,在任何编译生成动作之后开始安装.
3>iosOpenDevUsePackageVersionPList:YES .这个好像是便于版本控制.具体我也不太清楚用途。自己百度之.
4.在"Build Phases"选项卡里,Link Binary With Libaries这里除了要添加代码中用到的引用项之外,还要引用 libsubstrate.dylib。因为默认是没有这个引用的,也就无法找到hook的核心链接库在哪了。
5.在安装的过程中,如果之前安装成功过一次,改动一些代码之后,再去安装。会提示 "status database area is locked by another process “的错误.实际上是由于生成的缓存或者是插件还在运行当中,占用的进程,导致程序无法被替换。这个时候,要先"Clean",或者在ios设备上退出与插件引用相关的进程。
一般分为以下的步骤.
1.准备已经越狱的iphone或ipad.系统不要最新,ios 6,7,8比较适宜。
2.Xcode要事先配置好越狱开发的环境,比如以下程序要先下载并安装好:
1>theos 这个是在xcode没有安装iosOpenDev的环境下,手工开发tweak程序,需要用到的。如果已经安装并配置好了iosOpenDev环境,这一步可以直接无视。
2>Clutch 这个是用来“一键”破解应用在提交苹果商城之后,苹果官方加的密.该软件相当傻瓜化。
3>Class-Dump 这个程序的功能是比ida的F5有过之无不及。,<ios下在Cydia里搜索'class-dump'安装,Mac下可以百度找到下载>代码基本接近原生的源码。
4>SSH ,这个主要用于连接ios系统,<ios下在Cydia里搜索'SSH Connect'安装,Mac下直接在apple store搜索 ssh安装>以完整权限的方式实现代理操作.比如查看ios系统里当前的运行日志,以及一些需要在ios系统的机器下才能完成的操作。
5>OnDeviceConsole ,这个程序顾名思义,<在Cydia里搜索安装>.就是用来在mac上显示ios系统运行的日志的。当然要在SSH登录之后,才能使用此命令.
6>dpkg .这个是安装我们写好的越狱app用的.
可能遇到的一些问题:
1.ssh连接不上.这个需要核对ios系统所在的IP,以及ssh的密码不要去频繁改动.
2.clutch的版本要在1.4.7及以上,要将下载好的程序放在 /usr/bin/下,而且如果在ios系统上的Mobiletermial上修改好权限为777,也可以在mac下的ssh里敲入:
chmod 777 clutch 。注意命令clutch对大小写敏感.这里不能错,否则会提示没有此命令。
3.在xcode里,安装写好的插件,要用"Product/Build For/Profiling"进行安装.而且选项卡“Build Settings”里,要配置好以下几个选项:
1>iosOpenDevDevice :192.168.1.101 这里填你的ios设备的IP地址。一般是wifi下的局域网ip
2>iosOpenDevInstallOnProfiling:YES 这就是为什么我们要在Profiling下生成并安装的原因,当然你也可以选择 OnAnyBuild,在任何编译生成动作之后开始安装.
3>iosOpenDevUsePackageVersionPList:YES .这个好像是便于版本控制.具体我也不太清楚用途。自己百度之.
4.在"Build Phases"选项卡里,Link Binary With Libaries这里除了要添加代码中用到的引用项之外,还要引用 libsubstrate.dylib。因为默认是没有这个引用的,也就无法找到hook的核心链接库在哪了。
5.在安装的过程中,如果之前安装成功过一次,改动一些代码之后,再去安装。会提示 "status database area is locked by another process “的错误.实际上是由于生成的缓存或者是插件还在运行当中,占用的进程,导致程序无法被替换。这个时候,要先"Clean",或者在ios设备上退出与插件引用相关的进程。
相关文章推荐
- 电商类APP H5与iOS和android混合开发问题记录
- IOS越狱开发(二)———APP开机自动启动并隐藏图标
- IOS之怎样把自己开发的App安装到越狱的手机
- 【转】ios开发者创建app应用开发授权文件记录
- [置顶] 【iOS开发】国内首款轨迹记录App的开发(机器学习)
- 输出Bag中的所有记录为一个只有值的json数组---精通android、IOS App应用服务程序开发
- 输出Bag中的一条记录--精通android、IOS App应用服务程序开发
- IOS越狱开发之开机启动APP
- IOS之如何把自己开发的App安装到越狱的手机
- iOS 越狱的Tweak开发
- [置顶] iOS 越狱的Tweak开发-笔记
- IOS越狱开发 创建具有ROOT权限的APP
- ios应用内购买开发记录教程 ios iap In-App Purchases
- iOS越狱程序开发(3)- Your First Tweak
- 输出Bag中的所有记录为一个json数组---精通android、IOS App应用服务程序开发
- IOS越狱开发之开机启动APP
- [iOS开发记录]使用swift3和Xcode8开发app中使用自定义ttf字体
- IOS越狱开发(二)———APP开机自动启动并隐藏图标
- nolast属性---精通android、IOS App应用服务程序开发
- App开发日报 2015-05-15 大疆无人机IOS开发之搭建DJI Phantom和iOS视觉平台