如何保護(hù)iPhone App不被破解辦法
如何保護(hù)iPhone App不被破解辦法是本文要介紹的內(nèi)容,主要是來講解iphone APP中的安全問題,來看本文詳細(xì)內(nèi)容講解。雖然iPhone的程序破解一直存在,但是出于市場(chǎng),支付方式等眾所周知的原因,針對(duì)部分國家或地區(qū)市場(chǎng)的程序或游戲銷售量和破解比始終是一個(gè)比較 夸張的數(shù)字。
雖然我太不在意我制作應(yīng)用的盜版被使用問題(因?yàn)榇蠹以敢馊ビ?,說明你的應(yīng)用或游戲受到了肯定)。但是出于如需和服務(wù)器頻繁交互,需提供給正 版用戶的權(quán)益得到保護(hù)以及迫切需要金錢緩解財(cái)務(wù)狀況等原因。我們不得不做出對(duì)iPhone破解的節(jié)制行為。
這里簡(jiǎn)單談?wù)勔环N方式,望能達(dá)到拋磚引玉的目的。
iPhone應(yīng)用的發(fā)布是通過iTunes,用戶下載之后會(huì)對(duì)程序產(chǎn)生一個(gè)對(duì)應(yīng)你iTunes帳號(hào)的簽名。而破解,正是需要去掉這個(gè)簽名,讓它可以安裝在 每一個(gè)帳號(hào)上。但是安裝過程還是需要欺騙iTunes,告訴它這個(gè)程序是已經(jīng)簽名了的。
這個(gè)破解的簽名在哪里呢?對(duì)了,就是每個(gè)應(yīng)用或游戲下的Info.plist文件,如果你下載過破解的 iPhone應(yīng)用來研究。就會(huì)發(fā)現(xiàn)所有的破解程序都有這個(gè)一個(gè)鍵值:
- <key>SignerIdentity</key>
- <string>Apple iPhone OS Application Signing</string>
那么保護(hù)破解最簡(jiǎn)單的入手點(diǎn)就是針對(duì)這個(gè)地方了。
打開xcode,在你需要檢測(cè)破解的地方添加以下代碼:
- NSBundle *bundle = [NSBundle mainBundle];
- NSDictionary *info = [bundle infoDictionary];
- if ([info objectForKey: @"SignerIdentity"] != nil)
- {
- //你的代碼
- }
以上代碼讀取info.plist,如果發(fā)現(xiàn)了SignerIdentity的鍵,就執(zhí)行你的代碼。
破解永遠(yuǎn)止不住,也不能完全被禁止,在更多時(shí)候我希望程序員能大度一些,讓用戶可以盡量無限制的使用你們的作品。也呼吁所有用戶能夠在使用之后,如 果真的喜歡,去購買一份正版。因?yàn)闆]有資金收入,再好的公司,也會(huì)破產(chǎn)。長(zhǎng)遠(yuǎn)來看,只會(huì)限制了整個(gè)產(chǎn)業(yè)的發(fā)展。如是殺雞取卵的做法,也只會(huì)讓所有人都得不 償失。
小結(jié):如何保護(hù)iPhone App不被破解辦法的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!