IOS越狱开发简单流程
2014-08-04 16:01
225 查看
IOS越狱开发大概搞了有半年,写了一个小的一卡多号的应用,大概路子是将一个手机号伪装成另外一个号,通过插件读取这个伪装的号码与其他用户交互的短信和通话,写入自己应用的数据库,同是将系统库中的短信和通话记录删除,看起来就好像一个手机号 有了两个号码一样。不过这里不涉及这款应用的细节,只是简单介绍一下整个的开发过程,希望能对做越狱开发的同学有一点点帮助。
1 软件准备
机器:lion 10.7.5
Xcode:4.6
MacPort:MacPorts-2.1.2-10.7-Lion.pkg
iOSOpenDev:iOSOpenDev-1.5.pkg
没有开发者账号的自己申请一个吧 一年99刀也不贵 要不没法真机
2 开发环境搭建
2.1 theos安装
参考http://iphonedevwiki.net/index.php/Theos/Getting_Started
2.2 MacPort安装
2.3 DPKG安装
sudo port -f install dpkg
可能会遇到问题,根据出错提示安装必要的包即可。
安装完成后,在终端应该是能识别dpkg-deb命令。这个后续应用和插件打包会用。
2.4 iOSOpenDev安装
注意在安装之前要先指定xcode版本和路径。
https://github.com/kokoabim/iOSOpenDev/wiki/Targeting-Specific-Xcode-&-SDK-Versions
下载:http://iosopendev.com/download/
wiki :https://github.com/kokoabim/iOSOpenDev/wiki/_pages
遇到安装失败的问题,可以看log然后相应去解决:
https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot
安装成功后/opt下有对应文件夹,并且在xcode中会有iOSOpendev工程选项。
3 开发流程
3.1 Class-dump安装
class-dump用来导出私有的API.
私有API路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks
使用方法:class-dump –H 私有API路径 –o 导出到的路径
下载:https://github.com/nygard/class-dump
3.2 建立工程
参考下面的帖子(类似的帖子比较多)
/article/5479669.html
通过class-dump导出的私有API中会有一些编译错误,修改就可以。添加头文件到工程中后,要相应添加私有的库到工程。
3.3 工程编译
编译方法:product-->Bulid for-->profiling,每次编译前最好clean。
参考3.2中的帖子。
3.4 插件的真机运行
用iFunBox将生成的deb包拷贝到手机中直接安装,然后重启springboard。
3.5 插件+应用程序的打包和运行
1)首先将生成的插件deb包解包 dpke-deb –x xxx.deb 解压后的路径
在解压后的路径中能看到/Library/MobileSubstrate/DynamicLibraries下面有两个文件xxx.dylib 和xxx.plist,这就是注入系统启动过程的动态程序。
2)然后构建应用的打包目录。可参考
http://bbs.weiphone.com/read-htm-tid-669283.html
在打包目录下创建/Library/MobileSubstrate/DynamicLibraries,并修改目录权限,同时将xxx.dylib和xxx.plist拷贝到该目录下。
注意保持插件的名字和应用程序的名字一致。
3)打包 dpkg-deb –b
4)真机运行 将生成的deb包拷贝的真机安装运行。
安装完应用程序如果需要向cydia写命令,则一定要注意命令格式,cydia在容错方面做的较差,命令格式不对容易引起cydia崩溃,导致无法进入cydia,只好重刷机器。
后记:这个文档编写时间是2013年4月3日 中间的很多链接可能都不能用了
1 软件准备
机器:lion 10.7.5
Xcode:4.6
MacPort:MacPorts-2.1.2-10.7-Lion.pkg
iOSOpenDev:iOSOpenDev-1.5.pkg
没有开发者账号的自己申请一个吧 一年99刀也不贵 要不没法真机
2 开发环境搭建
2.1 theos安装
参考http://iphonedevwiki.net/index.php/Theos/Getting_Started
2.2 MacPort安装
2.3 DPKG安装
sudo port -f install dpkg
可能会遇到问题,根据出错提示安装必要的包即可。
安装完成后,在终端应该是能识别dpkg-deb命令。这个后续应用和插件打包会用。
2.4 iOSOpenDev安装
注意在安装之前要先指定xcode版本和路径。
https://github.com/kokoabim/iOSOpenDev/wiki/Targeting-Specific-Xcode-&-SDK-Versions
下载:http://iosopendev.com/download/
wiki :https://github.com/kokoabim/iOSOpenDev/wiki/_pages
遇到安装失败的问题,可以看log然后相应去解决:
https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot
安装成功后/opt下有对应文件夹,并且在xcode中会有iOSOpendev工程选项。
3 开发流程
3.1 Class-dump安装
class-dump用来导出私有的API.
私有API路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/System/Library/PrivateFrameworks
使用方法:class-dump –H 私有API路径 –o 导出到的路径
下载:https://github.com/nygard/class-dump
3.2 建立工程
参考下面的帖子(类似的帖子比较多)
/article/5479669.html
通过class-dump导出的私有API中会有一些编译错误,修改就可以。添加头文件到工程中后,要相应添加私有的库到工程。
3.3 工程编译
编译方法:product-->Bulid for-->profiling,每次编译前最好clean。
参考3.2中的帖子。
3.4 插件的真机运行
用iFunBox将生成的deb包拷贝到手机中直接安装,然后重启springboard。
3.5 插件+应用程序的打包和运行
1)首先将生成的插件deb包解包 dpke-deb –x xxx.deb 解压后的路径
在解压后的路径中能看到/Library/MobileSubstrate/DynamicLibraries下面有两个文件xxx.dylib 和xxx.plist,这就是注入系统启动过程的动态程序。
2)然后构建应用的打包目录。可参考
http://bbs.weiphone.com/read-htm-tid-669283.html
在打包目录下创建/Library/MobileSubstrate/DynamicLibraries,并修改目录权限,同时将xxx.dylib和xxx.plist拷贝到该目录下。
注意保持插件的名字和应用程序的名字一致。
3)打包 dpkg-deb –b
4)真机运行 将生成的deb包拷贝的真机安装运行。
安装完应用程序如果需要向cydia写命令,则一定要注意命令格式,cydia在容错方面做的较差,命令格式不对容易引起cydia崩溃,导致无法进入cydia,只好重刷机器。
后记:这个文档编写时间是2013年4月3日 中间的很多链接可能都不能用了
相关文章推荐
- qt-qml移动开发之在ios上开发和部署app流程简单介绍
- iOS企业开发In House ipa发布流程--自制网页安装设备无需授权和越狱
- iOS安全–在非越狱平台进行越狱开发(附分析流程)
- iOS安全–在非越狱平台进行越狱开发(附分析流程)
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取"产品付费数量等于0的问题"】
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
- IDEA + Eclipse 开发 Maven Flex 项目的简单流程和要点
- 简单的网站项目开发流程
- 1.3ECMS二次开发 – 投稿流程的简单增设练习
- 当ios游戏开发像做份沙拉那么简单
- iOS“.NET研究”平台应用开发的敏捷设计流程
- magento 开发 -- 新增一个简单的退货流程
- 简单、彻底的解决 iOS 5.0.1 完美越狱 iBooks 秒退问题
- 当iOS游戏开发像做份沙拉那么简单
- 当 iOS 游戏开发像做份沙拉那么简单
- 【iOS-Cocos2d游戏开发之二十】精灵的基础知识点总汇(位图操作/贴图更换/重排z轴等)以及利用CCSprite与CCLayerColor制作简单遮盖层!
- 简单流程很有用 iPhone程序开发新手教程
- 敏捷开发的简单流程
- Jbpm3.2 开发HelloWorld (简单请假流程)客户端
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!