2016-02-19 17:28:55 1677瀏覽
移動互聯(lián)網(wǎng)的飛速進展可算是驚呆了小伙伴們,作為移動終端老大的iOS系統(tǒng)更是形成了自身獨立的生態(tài)圈。高回報的薪酬和舒適的環(huán)境讓其他行業(yè)的人才紛紛涌進iOS開發(fā)領(lǐng)域。雖然這樣可也難補iOS開發(fā)人才市場那龐大的缺口。本文為剛剛進入iOS開發(fā)領(lǐng)域的小白們介紹一下iOS逆向工程對開發(fā)者們的實用性。
淺析iOS培訓(xùn)之逆向工程的實用性:
對于iOS開發(fā)者來說,逆向工程是最為實用的技術(shù)之一。例如,工程師可以逆向系統(tǒng)調(diào)用,在自己的程序里使用一些文檔中沒有提及的私有功能,還可以逆向一些經(jīng)典的軟件,包括競爭對手的軟件,從而研究自己的軟件能夠借鑒些什么技術(shù)。
1、逆向系統(tǒng)調(diào)用
程序員編寫的軟件能夠運行在操作系統(tǒng)中,提供各種各樣的功能,是因為操作系統(tǒng)本身已經(jīng)內(nèi)嵌了這些功能,軟件只是拿來重新組合使用罷了。眾所周知,能在App Store上架的App的功能十分有限,在蘋果公司嚴格的審核制度下,絕大多數(shù)App的實現(xiàn)都源于公開的開發(fā)文檔,而不能使用諸如鎖屏、關(guān)機等文檔中不涉及的功能。如果你的程序面向Cydia,那么不采用非公開功能將導(dǎo)致程序幾乎沒有競爭力。如果你的程序想擁有打電話、發(fā)短信等不公開的功能,最有效的途徑就是逆向iOS系統(tǒng)調(diào)用,還原系統(tǒng)實現(xiàn)相應(yīng)功能的代碼,并應(yīng)用到自己的程序中。
2、借鑒別的軟件
逆向工程最受歡迎的應(yīng)用場合就是“借鑒”他人的軟件功能。對于來源是App Store的App來說,大多數(shù)技術(shù)的實現(xiàn)并不復(fù)雜,巧妙的創(chuàng)意和良好的運營才是其成功的關(guān)鍵。如果只是單純借鑒其功能,那么采用逆向工程,費時費力,性價比不高,從頭開發(fā)一個功能類似的軟件反而要省時省力得多。但是,當我們不知道被借鑒軟件中的某個功能是如何實現(xiàn)的時候,逆向工程就能起到關(guān)鍵性的作用。這種情況在大量使用私有函數(shù)的Cydia軟件中尤其常見,比如2013年3月面世的,號稱iOS平臺上第一款通話錄音軟件的Audio Recorder,足夠有趣,但我們不知其原理如何,此時使用逆向工程的技術(shù)就能夠?qū)λ私庖欢?。有些軟件,比如微信,功能?jīng)典,結(jié)構(gòu)也非常復(fù)雜,所涉及的代碼自然十分多。
上述的內(nèi)容希望可以幫助朋友們更好的服務(wù)于企業(yè)。同樣針對那些不了解iOS開發(fā)但是對其感興趣的朋友推薦你們可以進入扣丁學(xué)堂官網(wǎng)觀看iOS開發(fā)課程講座。講師的授課內(nèi)容可以讓你更好從零基礎(chǔ)入門到精通iOS開發(fā)技術(shù)。
查看更多關(guān)于“iOS培訓(xùn)資訊”的相關(guān)文章>>