跳到主要內容

破解iPhone的憑證

最近因為工作的關係開始碰iPhone的應用程式開發,然而當小弟想要放到實機去測試的時候就發現要買iPhone認證才能放進實機去測試。每年收費99塊美金的"上架費"相當於3200台幣,因為小弟我不大想要花這筆錢,所以就到處爬文,爬了5天,總算被小弟找到可以跳過憑證機制把程式放到iPhone裡面。那麼以下就是小弟把一大堆網站的整理一下,方便給世人及小弟看。



環境如下 :
Mac OS X 10.5.7 LEOPARD
XCode 3.1.3
iPhone 3G ver. 2.2.1



---------------------------------------------------------網誌分割線-----------------------------------------------------------

步驟如下 :

1. 下載 iPhoneRemoteDevice.xcodeplugin 放到(請備份舊檔):
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/

這樣就可以了。不過XCode會啟動失敗,在錯誤畫面選擇重新開啟(Relaunch),第二次錯誤再選擇重新開啟(Relaunch),然後選擇Reset and launch就可以開啟。


2. 打開 Key Access 這個工具程式(在應用程式->工具程式內),並建立一個"iPhone Developer"名稱的證書(這個名稱不要改,否則你得在專案內改變)






2.1 類型選擇"編碼簽名"


2.2 輸入憑證資訊[可以不填沒關係]


注意 : 在2.2跟2.3步驟之間有跳過,因為全部都是預設設定,所以就單純按下一步

2.3 最後選擇存放在"登入"內,


這樣就大功告成了,你已經省下$99(新台幣3200元)了!

3. 打開終端機[在應用程式裡面],執行如下指令,這個是XCode的外掛,因為在3.13的xcode修補了3.12的免簽名漏洞,打這個外掛才行。只要貼上去就會自動執行!


#!/bin/bash
cd/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf "\x8f\x2a\x00\x00" >> working
dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support


4. 上面的指令打完後,然後再一次在終端執行如下指令,只要貼上去就會自動執行!

mkdir /Developer/iphoneentitlements30
cd /Developer/iphoneentitlements30
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py


5. 快速點兩下修改"/Developer/Platforms/iPhoneOS.platform/Info.plist"文件,默認是用Property List Editor打開,然後添加:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO




6. 第五步驟完工後請建立一個專案,打開 Project Setting,並在 User-Defined Settings 輸入:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO






7. 同樣在專案裡的info.plist裡面增加一行。注意! 大小寫要一模一樣。
SignerIdentity=Apple iPhone OS Application Signing




注意! 第五步驟只要鍵入一次就好,但是在第六跟七步驟必須每一次新建立專案或是關掉重開專案都必需要重複執行!!

基本上1到7步驟可以不用按順序,只要全部條件滿足就好。

8. 然後按BUILD會跳出憑證視窗,請按"允許"。請不要按"總是允許",不然會出現問題。



9. 第八步驟完成後,請用USB把IPHONE連接到電腦,然後開啟ORGANIZER(Window→Organizer)觀看IPHONE是否有連線正常,之後請按"build and GO"按鈕,這樣就可以把程式傳到IPHONE裡。


---------------------------------------------------------網誌分割線-----------------------------------------------------------

資料來源 :
不需證書 3.0真機運行 new

iPhone 實機開發 Part 1 - HelloWorld

讓 XCode 3.1.3 跳過 Provisioning profile

留言

  1. 請問 iPhoneRemoteDevice.xcodeplugin 不否有其它的連結可人下載?

    回覆刪除
  2. 這個教學是上ㄧ年年中做的 那時候是IOS2.2.1版本 現在是IOS4.2.1 所以可能要GOOGLE一下最新版本

    回覆刪除

張貼留言

這個網誌中的熱門文章

自訂Apache的日誌檔輪替(Custom Apache log rotation behaviour on CentOS / RHEL)

1. 若有設定虛擬主機的話,要先設定虛擬主機的日誌以及日誌內容的格式 <VirtualHost *:80> ServerName DNS網址 DocumentRoot 網站目錄路徑 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog access_log的路徑 combined </VirtualHost> ... ... ... 其中 LogFormat 與 CustomLog 的制定方式,在官方頁面有說明「 Log Files說明頁面 」 2. apache的日誌設定完之後,就可以開始設定apache的logrotate功能。在開始定義之前,先解釋甚麼是logrotate。 logrotate顧名思義就是log rotate,即日誌的輪換。Logrotate是Linux系統自身帶的一個日誌輪替執行檔,它的執行檔所在的目錄是/usr/sbin/logrotate,是專門對各種系統日誌(syslogd,mail)進行輪替的執行檔。 所以logrotate 的主要功能就是將舊的日誌檔案移動成舊日誌檔, 並且重新建立一個新的空的日誌檔案來記錄,它的執行結果有點類似底下的圖示:

巨型網站的分散式架構設計 (雲端運算的基礎)

網站初始: 架設網站入門其實很容易,很多網路上的免費資源運用一下,許多學生也可以自己建置網站,最基本的架構就是安裝一台Web server 及一台Database server,這樣的架構在流量不高的個人網站的確已足夠,但其實風險相當高,因為完全沒考慮到日後的擴充性(scalibility),也沒考慮到系統容錯及復原能力(High avability & Failover),因此只要流量一高,問題就接踵而至,但用這個架構可視為Close beta時期,多找一些親友來當免費測試員。 商業化架構: 在這時期代表已經籌到一筆資金,網站可以進行商業化架構設計,一般商業化考量下的標準架構,通常如下圖所示:

透過awk程式來計算網站流量

網路上有很多很多計算網站流量的分析工具....但是有時後自己想要知道如何分析,所以在網路上找到此指令可以計算網站的流量。 65.55.213.67 - - [04/Jul/2013:04:37:51 +0800] "GET /user.php?act=login HTTP/1.1" 200 10104 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:53 +0800] "GET /category.php?id=3 HTTP/1.1" 200 16041 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:56 +0800] "GET /category.php?id=1 HTTP/1.1" 200 11080 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:58 +0800] "GET /goods.php?id=351 HTTP/1.1" 200 19369 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 以上是從access_log擷取一部分的內容 再透過以下指令,就能計算出網站流量 cat /網站日誌檔目錄/access_log | awk '{SUM+=$10}END{print SUM/1024/1024}' 得出的流量數據是 0.054MB,因為流量數據是byte單位所以要除2次1024byte(56594/1024/1024) 其中 awk 是一種處理資料且可產生報告的語言,功能相當強大:而處理的單位是一行一行的比對處理,當符合awk的條件