首页
社区
课程
招聘
[原创]xcode 4.4.1 for Mountain Lion破解及真机器调试
2012-11-10 09:47 17006

[原创]xcode 4.4.1 for Mountain Lion破解及真机器调试

2012-11-10 09:47
17006
完全是因为抠门,不愿意给苹果上缴开发费用,所以在网络上到处找寻xcode破解,真机调试的方法,非常感谢这篇文章 http://kqwd.blog.163.com/blog/static/4122344820117191351263/的主人,在iOS资料稀缺的情况下,能给出如此详细的教程,并非常善心的答疑。

原文章给出了多个版本的破解方法,我结合自己的情况,记录了xcode 4.4.1 for Mac OS X 10.8.2上的实施方法及注意点,希望给新手有所帮助。(和前几个版本比较,只是xcode安装路径的不同,和略去了给iPhoneOS Build System Support插件打补丁)

一、开发环境
(1)Mac OS X 10.8.2 (Mountain Lion)
(2)xcode 4.4.1
(3)iPod 4g 5.1.1(越狱)+AppSync 

二、创建证书
打开实用工具中的钥匙串访问应用,选择菜单栏的钥匙串访问-证书助理-创建证书来打开向导



注意:证书名称必须为iPhone Developer,证书类型为代码签名,并勾选让我覆盖这些默认值,之后的步骤按默认设置即可

三、修改Xcode的配置文件
注意:需要完全关闭xcode(可以通过command+alt+Esc来查看是否有xcode的进程来判断)
xcode版本不同目录路径也会有所不同,本文以4.4.1为例

第一步:修改SDKSettings.plist
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/
sudo cp SDKSettings.plist SDKSettings.plist.orig
sudo vim SDKSettings.plist
最终修改结果如下:
cat SDKSettings.plist | grep REQUIRED -A 1
  <key>CODE_SIGNING_REQUIRED</key>
  <string>NO</string>
--
  <key>ENTITLEMENTS_REQUIRED</key>
  <string>NO</string>

第二步:修改Info.plist

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/
sudo cp Info.plist Info.plist.orig
sudo vim Info.plist
将全部的XCiPhoneOSCodeSignContext修改为XCCodeSignContext,一共有三处
最终修改结果如下:
cat Info.plist | grep CodeSignContext
         <string>XCCodeSignContext</string>
  <string>XCCodeSignContext</string>
   <string>XCCodeSignContext</string>

四、准备脚本(为在真机上调试做准备)
cd /Applications/Xcode.app/Contents/Developer/
mkdir iphoneentitlements
cd iphoneentitlements
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
sudo chmod 777 gen_entitlements.py

五、修改工程设置
注意:目的是为了支持真机调试,每新建一个project都需要修改Build Settings和为Build Phase添加脚本
第一步:禁用Xcode自动签名,将Build Settings所有的code signing选项改为Don't Code Sign,一共有五处



第二步:添加自定义脚本,选择Build Phases,点击右下角的Add Build Phase-Add Run Script


 添加的脚本如下(需要用到四中准备的脚本):
export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate

if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then

/Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "your.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";

codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"

fi

注意:

1. 黑色粗体部分,xcode版本不同路径会有所不同

2. 红色字体部分,请修改为新建project时你自己设置的company identifier


第三步:在真机调试破解是否成功

用xcode 4.4.1上开发的一个很小的iOS应用来验证,最终可以成功

注意:一定要插上iOS设备,和选择从设备运行


欢迎交流
weibo: http://weibo.com/tanjiti
blog:http://danqingdani.blog.163.com/

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞3
打赏
分享
最新回复 (8)
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
zhuliang 5 2012-11-10 10:37
2
0
感谢分享。对没有mac机或ios设备的朋友来说很有用。
雪    币: 109
活跃值: (383)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
cater 5 2012-11-10 11:35
3
0
最近 妹纸 比较 辛苦 啊~~
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
zhuliang 5 2012-11-10 18:00
4
0
很久不见你发贴了。
雪    币: 109
活跃值: (383)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
cater 5 2012-11-11 13:06
5
0
我和是碳基体妹纸打招呼的
雪    币: 32401
活跃值: (18850)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2012-11-18 16:48
6
0
图片这块我修正了一下。
不要用这种形式:
[IM G]http://bbs.pediy.com/attachment.php?attachmentid=73308&stc=1&d=1352514413[/IM G]

而是用下面的这种形式:
[ATTAC H]73308[/ATTAC H]

具体细节:http://bbs.pediy.com/showpost.php?postid=292659
雪    币: 465
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lqll 2012-12-1 23:35
7
0
不错,最新版
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
codeangel 2012-12-3 10:04
8
0
呵呵,谢谢老大。
PS..........
         乔帮主BS这种行为....
雪    币: 107
活跃值: (311)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Fido 2012-12-22 10:43
9
0
谢谢楼主...正好在找相关的资料..非常感谢..

but

最新的Xcode 4.5 貌似code signing选项...要选ALL..慢慢仔细找才能看到..
游客
登录 | 注册 方可回帖
返回