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